葛濤+++徐運德+++陳顯東+++段紅委
摘 要:走迷宮的機器人是移動機器人路徑規(guī)劃算法的典型應用,在國際上迷宮機器人一直是控制領域和計算機領域的研究熱點問題,文章結(jié)合迷宮機器人走迷宮的實際特點,對機器人走迷宮的一些算法進行了研究和改進,從而實現(xiàn)了機器人在無人為干預下自主走迷宮的目標。
關鍵詞:迷宮機器人;單片機;數(shù)據(jù)通信;智能化
1 走迷宮的機器人設計的目的
隨著科學技術的高速發(fā)展,國內(nèi)的教育和科研機構也日益關注機器人事業(yè),有關科研工作在深度和規(guī)模上逐漸提高。一些著名高校基本形成了完整的研究體系,對推動高校的科技創(chuàng)新和產(chǎn)學研一體化產(chǎn)生了重要作用,因此我們將設計一種機器人,能夠在迷宮中尋找出最短路徑。
2 走迷宮的機器人系統(tǒng)設計
本設計以STC89C52單片機系統(tǒng)為控制中心,通過4路紅外電路檢測黑線,并保證小車能夠按照黑線前行,而當單片機檢測到需要轉(zhuǎn)向的傳感器信號時,單片機通過改變PWM波的占空比來調(diào)整小車兩側(cè)的電機轉(zhuǎn)速,從而使其兩側(cè)輪產(chǎn)生速度差,以實現(xiàn)小車的轉(zhuǎn)向。同時超聲波探測周圍障礙物,并通過WIFI模塊實時傳輸給計算機。小車遍歷整個迷宮區(qū)域,同時計算機繪制出迷宮概況,并用遞歸算法計算出最短路徑。
3 走迷宮的機器人硬件設計
3.1 總體硬件結(jié)構圖
說明:小車以STC89C52單片機控制器,采用紅外傳感器及其處理模塊實現(xiàn)對黑線的循跡;通過單片機產(chǎn)生PWM波對電機進行驅(qū)動并通過轉(zhuǎn)速對小車的方向和速度進行控制;用WIFI模塊將小車周邊障礙物情況傳送給電腦,電腦經(jīng)過運算后將最優(yōu)路徑傳輸回小車。數(shù)據(jù)采集系統(tǒng)以單片機為控制核心,模擬實況、算法分析由計算機完成。
3.2 微處理器的選擇
單片機我們選用STC89C52,該單片機是宏晶公司推出的新一代單片機,指令代碼完全兼容傳統(tǒng)8051單片機;內(nèi)部集成512字節(jié)RAM,具有EEPROM功能和看門狗功能,可上電擦除;通用I/O口32個,3個16位定時器/計數(shù)器,且功耗低。對于該項目,晶振不能采用常用12兆晶振,否則通信時便會產(chǎn)生積累誤差,進而產(chǎn)生波特率誤差,影響通信的同步性。采用11.0592兆晶振可以得到非常準確的數(shù)值,方便通信。
3.3 WIFI模塊
WIFI模塊我們采用的是ESP8266,它是一款超低功耗的UART-WiFi傳輸模塊,擁有較小封裝尺寸和超低能耗技術,專為移動設備和物聯(lián)網(wǎng)應用設計,可將用戶的物理設備連接到WiFi無線網(wǎng)絡上,進行互聯(lián)網(wǎng)或局域網(wǎng)通信,實現(xiàn)聯(lián)網(wǎng)功能;且支持AT+控制指令集。
3.4 超聲波測障模塊
該模塊采用HC-SR04,具有體積小,精確度強等優(yōu)點;具有2cm-400cm的非接觸式距離感測功能,可用于障礙物測量。其基本工作原理是:采用IO口TRIG觸發(fā)測距,但至少要給10us的高電平信號才能觸發(fā);模塊自動發(fā)送8個40kHz的方波,自動檢測是否有信號返回;若有信號返回,則通過 I/O口ECHO 輸出一個高電平,高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時間。只需5V電源供電,TRIG 觸發(fā)控制信號輸入,ECHO回響信號輸出等。
3.5 由于小車底座集成了電池槽和電源轉(zhuǎn)換,并帶有兩臺電機,所以不需要考慮電池和電機的選擇。
4 走迷宮的機器人軟件設計
4.1 遍歷算法
我們采用小車遍歷迷宮算法,迷宮的線路用黑線搭建進行模擬,橫豎各8條,每一個交點為一個坐標點 ,用二維數(shù)組a[8][8]表示(取左上角為起點,右下角為終點,總共64個交點)。
小車初始點為a[0][0],在沒遇到結(jié)點(岔路口)時,判斷前、右、左方向上是否有障礙物,如果有兩個或者兩個以上的方向上有時,則按照優(yōu)先前,其次右,最后左的順序(中右法則)。為了記憶迷宮的詳細信息,需要對迷宮單元的位置進行線路標記。走過的路線用0代替,墻用-1代替,未監(jiān)測1代替。
如果三個方向都有障礙物(死路),就需要退回去,這時就需要記錄上一次結(jié)點的位置。在有兩個或兩個以上的方向可走的時候就將該點坐標記錄,當進入死路的時候就退回上次結(jié)點,并將該死路的入口由0改為-1,然后在進行中右法則(如果只剩一個方向則不需要判斷)。對于有多個方向結(jié)點,應將結(jié)點儲存。
4.2 最短路徑算法
計算機計算最短路徑遞歸算法:迷宮為一個8*8的二維數(shù)組;0表示路,-1表示墻,1表示未探索區(qū)域,然后求從入口,到出口的最短路程。
從起點開始出發(fā)(初始點賦值為1),根據(jù)中右定則向四個方向查找(先中其次右最后左),每確定一個方向就對前方的點賦值為此點+1,走過的路徑也可以重復行走。但有一個條件,就是本點+1必須小于已走過的點的值(墻不能走),如果本點+1大于已走過的點的值就退出,這樣遞歸調(diào)用,直到找到終點為止。
遞歸每成功調(diào)用一次該坐標點的值就為1,將所有1用直線連接起來,就可得到最短距離。
5 結(jié)束語
本課題智能機器人擁有主動避障功能,自主識別障礙物并判斷可行走路線,能夠在錯綜復雜的環(huán)境規(guī)劃出最短路徑,可以應用到探測未知區(qū)域,例如實現(xiàn)管道故障排查和路況檢測,或利用其物理特性實現(xiàn)非接觸實時測量,并且不受光線影響,例如實現(xiàn)夜間避障。使其智能化后,可在環(huán)境比較惡劣或者對人體有危險的地方工作,比如外星探測、火場救人、處理危險源、進行水下操作。同時還可以應用到無人駕駛公交、工業(yè)自動化控制運輸?shù)确矫妫兄鴱V闊的應用前景。
參考文獻
[1]童詩白,華成英.模擬電子技術基礎(第四版)[M].高等教育出版社.
[2]閻石.數(shù)字電子技術基礎(第五版)[M].高等教育出版社.
[3]傳感器原理及其應用[M].電子科技大學出版社.
[4]超聲波探測器HC-SR04官方文件,WIFI模塊ESP8266官方使用手冊[Z].
作者簡介:葛濤(1995-),男,漢族,山東省菏澤市人,本科,單位:江西科技師范大學,專業(yè):電子信息工程。