摘要:介紹了一種具有自學習循路功能的輪式移動機器人模型的設計方法。該模型由兩后輪作驅動輪來控制前進速度和方向,并可在道路學習時以數(shù)據(jù)形式記錄和存儲兩輪的瞬時速率,然后再由微控制器MCU輸出控制信號來驅動后輪以實現(xiàn)道路的循跡。
關鍵詞:MCU;機器人;學習記憶;循路
隨著科學技術的不斷發(fā)展,機器人技術在航天、海洋、軍事、建筑、交通、工業(yè)及服務業(yè)等領域已經取得廣泛的應用和發(fā)展。而在一些特殊場合(如航天、深海作業(yè)及核工業(yè)等領域),以無人探察車、無人排險車及無人運輸車等為代表的機器人技術越來越受到關注。為此,筆者設計了一種具有道路記憶功能、使用靈活方便、應用范圍較廣的輪式移動機器人模型。
該機器人模型以微控制器MCU為核心,先由人對機器人模型按照所要行走的路線進行訓練,即讓機器人模型記憶該路線(將路線數(shù)據(jù)存儲在存儲器中)。以后機器人模型就可沿此路線重復行走。其記憶路線的方式靈活方便,可根據(jù)不同的要求和需要對其進行不同的路線訓練以完成不同的任務。
該模型可以應用于一些人類不宜活動或較難控制的場合(如微型核反應堆的金屬罐管系統(tǒng)、火場探測、輻射、消防、有毒、易燃、易爆物體場所的探測等),也可作為室內服務機器人使用,以代替人完成家務勞動、廠區(qū)貨物搬運、醫(yī)院病歷及資料的傳遞等。
該機器人模型具有以下特性:
●具有道路學習記憶和道路循跡重復功能;
●可模擬地圖仿真訓練,輸出放大倍數(shù)可按需要設定;
●在實際工作時,如遇到障礙物可采用道路轉移法繞過障礙物并沿原學習道路繼續(xù)前進;
●工作時無人控制;
●光線較暗時會自動打開光源;
●前進距離可用LCD實時顯示;
●運動狀態(tài)可用指示燈實時顯示;
●具有系統(tǒng)故障報警功能。
1、系統(tǒng)硬件設計
系統(tǒng)硬件設計框圖如圖1所示,核心控制部分采用Atmel公司的普及型8位MCU AT89C51。作為一款目前廣泛應用的MCU,AT89C51提供有電機控制、LCD驅動顯示以及傳感信息等多種驅動功能和接口,另一方面,該MCU價格低廉,有很高的性價比。外接存儲模塊采用容量為256kB的24LC256閃存芯片,當然,也可以根據(jù)實際需要選用其它容量的閃存芯片。感光探測選用光敏電阻即可感應外界光線的強弱。障礙物探測采用美國邦納工程有限公司的PicoDot PD系列激光傳感器,該傳感器能對被測物體進行精確的到位檢測、定位和計數(shù)。
2、系統(tǒng)設計要點
輪式移動機器人模型的速度及方向可由兩個后輪作為驅動輪來控制,MCU通過驅動芯片L293B驅動兩個后輪電機。AT89C5可通過兩個后輪對應的兩個計速器來分別控制這兩個后輪的轉速,從而實現(xiàn)模型的前進和轉向功能。
2.1 計速部分
系統(tǒng)計速部分由光電開關及帶有均勻分布小孔的圓盤組成,其電路及皮帶輪連接示意圖如圖2所示。當光電開關中間有黑色物體擋住時,輸出電平為0;無遮擋時,輸出電平為1。當均勻分布小孔的圓盤邊緣在光電開關的槽中轉動時,可根據(jù)輸出的一系列脈沖及圓盤上的孔數(shù)計算出圓盤的轉速N。皮帶輪1與圓盤粘在一起,因而轉速相同;皮帶輪2與模型后驅動輪同軸,速度相同;皮帶輪1、皮帶輪2由皮帶相連。假設皮帶輪2周長是皮帶輪1周長的5倍,則皮帶輪2的轉速為N/5,即車輪轉速為N/5。
2.2 道路學習記憶
計數(shù)芯片選用7級二進制串行計數(shù)器CD4024,光電開關的輸出波形經施密特觸發(fā)器整形為標準脈沖波形可使CD4024計數(shù)更方便。設每隔T時間記錄到脈沖數(shù)M,那么,T時間內圓盤轉速N=M/(LT)(設L為圓盤上的孔數(shù)),則車輪的速率為N/5=M/(5LT)。由于T越小,結果越精確,故T取幾至幾十毫秒。記錄的數(shù)據(jù)經微控制器MCU送至外接閃存24LC256儲存起來,供輸出使用。通過上述過程可對模型進行道路訓練,即每隔T時間將兩個后輪速率分別記入閃存。訓練結束后,閃存內存儲的是兩個后輪每隔T時間一次的速率,這樣就可實現(xiàn)對訓練道路的記憶。
2.3 道路循跡重復
在對該模型進行輸出控制時,先由微控制器MCU從閃存中讀取數(shù)據(jù),再將每隔T時間的轉速數(shù)據(jù)通過脈沖輸出,并通過L293B芯片驅動兩后輪電機的轉動。為保證輸出的轉速與原記錄的轉速一致,可用反饋控制的方法在后輪驅動電機轉動的同時,由計速器模塊同時檢測兩個后輪的轉速,然后分別比較兩個后輪的轉速是否與原記錄轉速相同:若小于原記錄轉速,可調用加速子程序;若大于,則調用減速子程序。

由于計數(shù)時間T較小,再加上反饋控制的作用,就可保證輸出的運動軌跡精確接近于原訓練道路,誤差很小。實際運行時,可在保證記錄和輸出精度的前提下把訓練的道路模擬成與實際道路按比例縮小的地圖,即在地圖上對模型進行道路訓練,按比例倍數(shù)放大輸出,即可使機器人在實際道路上按訓練道路運動。由于輸出放大倍數(shù)由程序決定,因而可按不同的需要設置,靈活性很高。
2.4 道路轉移法繞障
該機器人模型在訓練完成后,即可從預設地點開始行走。模型在前進過程中,當傳感器探測到前方有障礙物時,可調用繞障礙物程序繞過障礙物并返回到原記錄道路繼續(xù)前進。其繞障過程示意圖如圖3所示,當模型傳感器在A點探測到前方有障礙物時,會將障礙物模擬成一邊與當時模型方向垂直的矩形物體(見圖中虛線矩形)。然后中斷從閃存中讀取路線數(shù)據(jù),并使模型在A點左轉90°,接著以勻速v直線前進t1時間到B點,再在B點右轉90°,接著從原中斷處調用原記錄路線數(shù)據(jù)前進t2時間到達C點。之后再在C點以方向 C 1 轉動 C1與 C2方向的夾角θ(θ=90°-兩車輪前進距離差/兩車輪間距),模型方向 從 C1轉動到 C2 ,然后再以勻速v直線前進t1時間到D點,此時方向為 d2方向,然后再以C1到C2的相反方向從 d2轉θ角到 d1方向,即 d1 // C1。實際上,在沒有障礙物的情況下,模型依所記錄路線應沿AD段前進,到達D點方向為 d1方向。由圖可見,BC段的運動情況完全等同于AD段的運動情況,也就是說,在遇到障礙物時,機器人會將AD段轉移到實際的BC段運動以繞開障礙物,同時保持它應有的運動狀態(tài)并返回原記錄路線。其中t1、t2的選取與虛線矩形的大小(代表障礙物的大小)有關,它可由傳感器探測到的障礙物大小來確定。
2.5 附加功能
應用時也可根據(jù)特殊需要,在模型上安裝攝像機以實時觀察或安裝自動拍照的數(shù)碼像機來記錄工作區(qū)域周圍的情況。當模型探測到周圍環(huán)境的光線比較暗時,還可由微控制器MCU打開光源,以便為像機提供照明。此外,模型上還設計了工作指示燈來實時指示模型的工作狀態(tài),不同指示燈分別指示其正常、左轉、右轉及出錯狀態(tài),以方便使用者及時了解模型的工作情況。外接LCD可實時顯示模型的前進距離,每個車輪前進的距離=記錄的車輪的轉數(shù)×車輪的周長,再取兩個車輪前進距離的平均值作為模型的前進距離,這樣可方便使用者及時了解模型的進程。若模型在工作過程中發(fā)生故障(如不能前進、失控等),也可通過警鈴和警燈提醒用戶及時檢修。

3、系統(tǒng)軟件設計
圖4、圖5分別為機器人模型道路學習記憶、循跡重復的軟件流程。本程序中,道路學習記憶時的記錄時間間隔T取30ms,輸出控制時,在每一個記錄周期內比較6次(每5ms計一次數(shù),再乘以6與原記錄數(shù)相比較,以判斷應加速還是減速),以使輸出更精確于原記錄數(shù)據(jù)。圖6為繞障礙物程序流程圖,其中模型方向轉過一定角度可由一輪靜止、另一輪運動時的兩輪間距×轉動角弧度的距離來實現(xiàn)。
4、結束語
該機器人模型相比無線遙控操作機器人的優(yōu)勢在于,可工作在電磁波屏蔽的場合;而相比有線遙控操作機器人來說,其優(yōu)點是工作過程中無需人實時控制,可自主完成活動,并具有活動精度高、效率高的特點;相比固定軌道機器人,該模型能夠擺脫固定軌道的限制,其活動路線靈活易變,適應范圍更廣。