自學(xué)習循路的移動(dòng)機器人模型設計與實(shí)現
摘要:介紹了一種具有自學(xué)習循路功能的輪式移動(dòng)機器人模型的設計方法。該模型由兩后輪作驅動(dòng)輪來(lái)控制前進(jìn)速度和方向,并可在道路學(xué)習時(shí)以數據形式記錄和存儲兩輪的瞬時(shí)速率,然后再由微控制器MCU輸出控制信號來(lái)驅動(dòng)后輪以實(shí)現道路的循跡。
關(guān)鍵詞:MCU;機器人;學(xué)習記憶;循路
隨著(zhù)科學(xué)技術(shù)的不斷發(fā)展,機器人技術(shù)在航天、海洋、軍事、建筑、交通、工業(yè)及服務(wù)業(yè)等領(lǐng)域已經(jīng)取得廣泛的應用和發(fā)展。而在一些特殊場(chǎng)合(如航天、深海作業(yè)及核工業(yè)等領(lǐng)域),以無(wú)人探察車(chē)、無(wú)人排險車(chē)及無(wú)人運輸車(chē)等為代表的機器人技術(shù)越來(lái)越受到關(guān)注。為此,筆者設計了一種具有道路記憶功能、使用靈活方便、應用范圍較廣的輪式移動(dòng)機器人模型。
該機器人模型以微控制器MCU為核心,先由人對機器人模型按照所要行走的路線(xiàn)進(jìn)行訓練,即讓機器人模型記憶該路線(xiàn)(將路線(xiàn)數據存儲在存儲器中)。以后機器人模型就可沿此路線(xiàn)重復行走。其記憶路線(xiàn)的方式靈活方便,可根據不同的要求和需要對其進(jìn)行不同的路線(xiàn)訓練以完成不同的任務(wù)。
該模型可以應用于一些人類(lèi)不宜活動(dòng)或較難控制的場(chǎng)合(如微型核反應堆的金屬罐管系統、火場(chǎng)探測、輻射、消防、有毒、易燃、易爆物體場(chǎng)所的探測等),也可作為室內服務(wù)機器人使用,以代替人完成家務(wù)勞動(dòng)、廠(chǎng)區貨物搬運、醫院病歷及資料的傳遞等。
該機器人模型具有以下特性:
●具有道路學(xué)習記憶和道路循跡重復功能;
●可模擬地圖仿真訓練,輸出放大倍數可按需要設定;
●在實(shí)際工作時(shí),如遇到障礙物?可采用道路轉移法繞過(guò)障礙物并沿原學(xué)習道路繼續前進(jìn);
●工作時(shí)無(wú)人控制;
●光線(xiàn)較暗時(shí)會(huì )自動(dòng)打開(kāi)光源;
●前進(jìn)距離可用LCD實(shí)時(shí)顯示;
●運動(dòng)狀態(tài)可用指示燈實(shí)時(shí)顯示;
●具有系統故障報警功能。
1 系統硬件設計
系統硬件設計框圖如圖1所示,核心控制部分采用Atmel公司的普及型8位MCU AT89C51。作為一款目前廣泛應用的MCU,AT89C51提供有電機控制、LCD驅動(dòng)顯示以及傳感信息等多種驅動(dòng)功能和接口,另一方面,該MCU價(jià)格低廉,有很高的性?xún)r(jià)比。外接存儲模塊采用容量為256kB的24LC256閃存芯片,當然,也可以根據實(shí)際需要選用其它容量的閃存芯片。感光探測選用光敏電阻即可感應外界光線(xiàn)的強弱。障礙物探測采用美國邦納工程有限公司的PicoDot PD系列激光傳感器,該傳感器能對被測物體進(jìn)行精確的到位檢測、定位和計數。
2 系統設計要點(diǎn)
輪式移動(dòng)機器人模型的速度及方向可由兩個(gè)后輪作為驅動(dòng)輪來(lái)控制,MCU通過(guò)驅動(dòng)芯片L293B驅動(dòng)兩個(gè)后輪電機。AT89C5可通過(guò)兩個(gè)后輪對應的兩個(gè)計速器來(lái)分別控制這兩個(gè)后輪的轉速,從而實(shí)現模型的前進(jìn)和轉向功能。
2.1 計速部分
系統計速部分由光電開(kāi)關(guān)及帶有均勻分布小孔的圓盤(pán)組成,其電路及皮帶輪連接示意圖如圖2所示。當光電開(kāi)關(guān)中間有黑色物體擋住時(shí),輸出電平為0;無(wú)遮擋時(shí),輸出電平為1。當均勻分布小孔的圓盤(pán)邊緣在光電開(kāi)關(guān)的槽中轉動(dòng)時(shí),可根據輸出的一系列脈沖及圓盤(pán)上的孔數計算出圓盤(pán)的轉速N。皮帶輪1與圓盤(pán)粘在一起,因而轉速相同;皮帶輪2與模型后驅動(dòng)輪同軸,速度相同;皮帶輪1、皮帶輪2由皮帶相連。假設皮帶輪2周長(cháng)是皮帶輪1周長(cháng)的5倍,則皮帶輪2的轉速為N/5,即車(chē)輪轉速為N/5。
2.2 道路學(xué)習記憶
計數芯片選用7級二進(jìn)制串行計數器CD4024,光電開(kāi)關(guān)的輸出波形經(jīng)施密特觸發(fā)器整形為標準脈沖波形可使CD4024計數更方便。設每隔T時(shí)間記錄到脈沖數M,那么,T時(shí)間內圓盤(pán)轉速N=M/(LT)(設L為圓盤(pán)上的孔數),則車(chē)輪的速率為N/5=M/(5LT)。由于T越小,結果越精確,故T取幾至幾十毫秒。記錄的數據經(jīng)微控制器MCU送至外接閃存24LC256儲存起來(lái),供輸出使用。
通過(guò)上述過(guò)程可對模型進(jìn)行道路訓練,即每隔T時(shí)間將兩個(gè)后輪速率分別記入閃存。訓練結束后,閃存內存儲的是兩個(gè)后輪每隔T時(shí)間一次的速率,這樣就可實(shí)現對訓練道路的記憶。
2.3 道路循跡重復
在對該模型進(jìn)行輸出控制時(shí),先由微控制器MCU從閃存中讀取數據,再將每隔T時(shí)間的轉速數據通過(guò)脈沖輸出,并通過(guò)L293B芯片驅動(dòng)兩后輪電機的轉動(dòng)。為保證輸出的轉速與原記錄的轉速一致,可用反饋控制的方法在后輪驅動(dòng)電機轉動(dòng)的同時(shí),由計速器模塊同時(shí)檢測兩個(gè)后輪的轉速,然后分別比較兩個(gè)后輪的轉速是否與原記錄轉速相同:若小于原記錄轉速,可調用加速子程序;若大于,則調用減速子程序。
由于計數時(shí)間T較小,再加上反饋控制的作用,就可保證輸出的運動(dòng)軌跡精確接近于原訓練道路,誤差很小。實(shí)際運行時(shí),可在保證記錄和輸出精度的前提下把訓練的道路模擬成與實(shí)際道路按比例縮小的地圖,即在地圖上對模型進(jìn)行道路訓練,按比例倍數放大輸出,即可使機器人在實(shí)際道路上按訓練道路運動(dòng)。由于輸出放大倍數由程序決定,因而可按不同的需要設置,靈活性很高。
2.4 道路轉移法繞障
該機器人模型在訓練完成后,即可從預設地點(diǎn)開(kāi)始行走。模型在前進(jìn)過(guò)程中,當傳感器探測到前方有障礙物時(shí),可調用繞障礙物程序繞過(guò)障礙物并返回到原記錄道路繼續前進(jìn)。其繞障過(guò)程示意圖如圖3所示,當模型傳感器在A點(diǎn)探測到前方有障礙物時(shí),會(huì )將障礙物模擬成一邊與當時(shí)模型方向垂直的矩形物體(見(jiàn)圖中虛線(xiàn)矩形)。然后中斷從閃存中讀取路線(xiàn)數據,并使模型在A點(diǎn)左轉90,接著(zhù)以勻速v直線(xiàn)前進(jìn)t1時(shí)間到B點(diǎn),再在B點(diǎn)右轉90,接著(zhù)從原中斷處調用原記錄路線(xiàn)數據前進(jìn)t2時(shí)間到達C點(diǎn)。之后再在C點(diǎn)以方向 C 1 轉動(dòng) C1與 C2方向的夾角θ(θ=90-兩車(chē)輪前進(jìn)距離差/兩車(chē)輪間距),模型方向 從 C1轉動(dòng)到 C2 ,然后再以勻速v直線(xiàn)前進(jìn)t1時(shí)間到D點(diǎn),此時(shí)方向為 d2方向,然后再以C1到C2的相反方向從 d2轉θ角到 d1方向,即 d1 // C1。實(shí)際上,在沒(méi)有障礙物的情況下,模型依所記錄路線(xiàn)應沿AD段前進(jìn),到達D點(diǎn)方向為 d1方向。由圖可見(jiàn),BC段的運動(dòng)情況完全等同于AD段的運動(dòng)情況,也就是說(shuō),在遇到障礙物時(shí),機器人會(huì )將AD段轉移到實(shí)際的BC段運動(dòng)以繞開(kāi)障礙物,同時(shí)保持它應有的運動(dòng)狀態(tài)并返回原記錄路線(xiàn)。其中t1、t2的選取與虛線(xiàn)矩形的大?。ù碚系K物的大?。┯嘘P(guān),它可由傳感器探測到的障礙物大小來(lái)確定。
2.5 附加功能
應用時(shí)也可根據特殊需要,在模型上安裝攝像機以實(shí)時(shí)觀(guān)察或安裝自動(dòng)拍照的數碼像機來(lái)記錄工作區域周?chē)那闆r。當模型探測到周?chē)h(huán)境的光線(xiàn)比較暗時(shí),還可由微控制器MCU打開(kāi)光源,以便為像機提供照明。
此外,模型上還設計了工作指示燈來(lái)實(shí)時(shí)指示模型的工作狀態(tài),不同指示燈分別指示其正常、左轉、右轉及出錯狀態(tài),以方便使用者及時(shí)了解模型的工作情況。外接LCD可實(shí)時(shí)顯示模型的前進(jìn)距離,每個(gè)車(chē)輪前進(jìn)的距離=記錄的車(chē)輪的轉數車(chē)輪的周長(cháng),再取兩個(gè)車(chē)輪前進(jìn)距離的平均值作為模型的前進(jìn)距離,這樣可方便使用者及時(shí)了解模型的進(jìn)程。
若模型在工作過(guò)程中發(fā)生故障(如不能前進(jìn)、失控等),也可通過(guò)警鈴和警燈提醒用戶(hù)及時(shí)檢修。
3 系統軟件設計
圖4、圖5分別為機器人模型道路學(xué)習記憶、循跡重復的軟件流程。本程序中,道路學(xué)習記憶時(shí)的記錄時(shí)間間隔T?。常埃恚?,輸出控制時(shí),在每一個(gè)記錄周期內比較6次(每5ms計一次數,再乘以6與原記錄數相比較,以判斷應加速還是減速),以使輸出更精確于原記錄數據。圖6為繞障礙物程序流程圖,其中模型方向轉過(guò)一定角度可由一輪靜止、另一輪運動(dòng)時(shí)的兩輪間距轉動(dòng)角弧度的距離來(lái)實(shí)現。
4 結束語(yǔ)
該機器人模型相比無(wú)線(xiàn)遙控操作機器人的優(yōu)勢在于,可工作在電磁波屏蔽的場(chǎng)合;而相比有線(xiàn)遙控操作機器人來(lái)說(shuō),其優(yōu)點(diǎn)是工作過(guò)程中無(wú)需人實(shí)時(shí)控制,可自主完成活動(dòng),并具有活動(dòng)精度高、效率高的特點(diǎn);相比固定軌道機器人,該模型能夠擺脫固定軌道的限制,其活動(dòng)路線(xiàn)靈活易變,適應范圍更廣
評論