摘要:機器人在軍事偵察、掃雷排險、防核化污染等危險與惡劣環(huán)境中以及工業(yè)自動化生產(chǎn)的物料搬運上應用很廣,隨著任務復雜性的增加,對移動機器人的要求也越來越智能化。然而,功能較完備的路徑跟蹤控制方法普遍具有計算復雜,不易實現(xiàn)等特點。主要針對移動機器人即智能小車的行走系統(tǒng)進行設計,以MCS-51單片機為控制核心的智能小車利用單光束反射取樣紅外傳感器,探測正前方及左右兩側障礙物,利用控制算法尋找行進路線,在無人控制的情況下自主地走出迷宮。設計采用了輪式移動機構,使機器人能直線行走、左右轉彎、主要針對路徑跟蹤算法優(yōu)化問題,提出一種有效可行的方法,該法比以往算法更簡單易行。
關鍵詞:智能小車;迷宮;控制算法;避障
機器人應當具有幾個特征:移動功能,執(zhí)行功能、感覺和智能。目前全世界各國舉辦的涉及硬件,軟件仿真的機器人大賽不下20余類。各種各樣的機器人比賽都有一個共同的宗旨:培養(yǎng)科學創(chuàng)新精神,激發(fā)思維的想象力,鼓勵理論與實踐的結合。不僅如此,現(xiàn)在已經(jīng)有越來越多的自動控制產(chǎn)品已經(jīng)介入生產(chǎn),在農(nóng)業(yè)、工業(yè)上都有廣泛的應用。新的工作方式將大大的縮短了人工作業(yè)的時間,并且減輕了人的體力勞動的支出。走迷宮的微型機器鼠主要是基于自動引導小車(Auto Guided Vehicle,AGV)的原理,實現(xiàn)機器鼠識別路線,判斷并自動躲避障礙,選擇正確的行進路線走出迷宮。在此選擇制作一個簡易的行進裝置,使其能順利的走避障或是迷宮。為了實現(xiàn)小車識別路線,判斷并自動躲避障礙,選擇正確的行進路線,障礙判斷采用單光束反射取樣紅外傳感器,驅動電機采用直流電機,控制核心采用MCS-51單片機??刂粕喜捎梅謺r復用技術,僅用一塊單片機實現(xiàn)了信號采集、線路判斷、電機控制等功能。迷宮由16×16個區(qū)組成。起點設在拐角處,終點設在中央,占4個區(qū)。每個區(qū)為180 mm×180 mm大小,間壁高為50 mm,厚度為12 mm,側面涂白色,底面涂黑色,如圖1所示。
1 迷宮車控制系統(tǒng)的總體設計方案
迷宮車由墻壁傳感器、單片機控制板、動力及轉向系組成的,控制框圖如圖2所示。
迷宮車采用輪式移動方式。優(yōu)點是:結構和控制簡單而且技術成熟。從選定電動機轉速和輪胎直徑,可以簡單地計算出小車的速度。但是,有關路面的阻力或上坡的驅動轉矩等成為重要的因素??紤]這點,在輪胎上使用無線遙控車的塑膠輪胎。如圖3所示,前輪1為萬向腳輪或球形輪,后輪2和后輪3為獨立驅動輪,利用它們的轉速差實現(xiàn)轉向。這種組合的特點是機樞組合容易,而且當2個驅動輪以相同速度、相反方向轉動時車體能繞2個驅動輪連線的中點自轉,值得注意的是自轉中心與車體中心不一致。
迷宮車車身材料的選擇。迷宮車使用的材料大部分用于結構,一般應采用金屬材料。迷宮車承載和運動不應產(chǎn)生嚴重的變形和斷裂,從力學角度講即具有足夠的強度。迷宮車負載小,自重輕,對壽命的要求不高。因此,選用鐵皮。
1.1 迷宮車控制電路的設計
控制電路主要由電機驅動電路,單片機接口電路,電源電路和傳感器電路組成??刂瓶驁D如圖4所示。
(1)紅外線光感電路傳感器通過發(fā)光二極管發(fā)出紅外線,若有障礙物在前方,紅外線會被反射回來,被感光三極管接收,單片機程序對信號進行比較處理,按設定的動作要求向后輪的兩個電機發(fā)出控制命令,控制小車行進。
(2)電機驅動電路采用89S51單片機,通過L293D芯片來控制兩個驅動電機動作。89S51根據(jù)紅外傳感器對外界進行探測后反饋回來的信號,依據(jù)迷宮車探路算法,判定迷宮車行進方向,分別向左右兩個驅動電機發(fā)出控制指令,該信號經(jīng)L293D芯片驅動后,直接控制相應電機動作,使迷宮車按既定動作進行前進、后退、轉向。
1.2 迷宮車控制程序設計
控制算法:
迷宮車一般有四種控制算法:
(1)靠左算法
①默認靠左走法。即一直沿著左墻壁走,左邊有墻時一直沿著左邊墻壁前進,當左邊沒有墻時左轉,然后繼續(xù)靠左邊墻壁運行。該算法使用于最簡單的迷宮走法。如圖5所示,其中虛線表示小車前進的路線。
②算法流程圖如圖6所示。
③靠左算法的弊端。按照該算法,小車在走第二遍迷宮的時候,可以一次性的走出迷宮,但是這條道路不一定是最短的道路;如果迷宮本身存在“孤島”,那么小車很有可能走不出迷宮。如圖7所示。圖7中兩個圓點分別表示入口和出口,小車從入口進入迷宮,靠左前進則會導致小車一直按照虛線所描繪出的路線一直在迷宮里循環(huán),終走不出迷宮。
(2)靠前算法
①靠前算法即一直沿著前方道路前行(前方?jīng)]有任何障礙時一直前進),當前邊沒有墻時判斷左邊,左邊沒墻左轉,左邊有墻則判斷右邊。然后重復該循環(huán)。該算法使用于最簡單的迷宮走法。
②算法流程圖如圖8所示。
③程序思路:前邊沒墻靠前走,前面有墻判斷左邊,左邊沒墻靠左轉,左邊前邊都有墻再判斷右邊,右邊沒有墻靠右轉,三面都墻直接后退轉180°,繼續(xù)靠前走。0表示有墻,1表示沒墻,p3.0表示左傳感器;p3.1表示前傳感器;p3.2表示右傳感器。
轉角控制思路:計算輪子的轉速,測出小車轉90°時每個輪子所行的路程,用路程來除速度,求出一個時間作為小車轉彎時的延遲時間,再通過調試進一步精確轉角。
(3)洪水算法
洪水算法即使用256 B額外內存,會大幅提高性能。該算法比一般迷宮算法的有效率高20~50倍。同時可以在內存中建立一個區(qū)域,與實際中的迷宮格數(shù)一一對應。在實際使用時算法并不太復雜。該額外內存區(qū)域稱為“浪頭”,它將體現(xiàn)在內存區(qū)域的實際狀況中如圖9所示。當迷宮被淹沒的時候,一個波浪的前頭從目標格向外擴展。在內存區(qū)域中這種單元格是惟一需要處理的,當浪頭到達開始的單元格子,機器人已經(jīng)被淹沒。通常來說,開始的單元格可以是任何一個格子。但是為了方便起見,把開始點設在迷宮的第一個單元格,終點任意。反過來也可以把出口放在第一個單元格,把開始點設在中間或希望的位置。一旦到達了起點即搜索完成,最短的路徑可以使機器老鼠移動到周圍的格子中數(shù)值比較小的那個格子去,依次類推機器老鼠就能走到終點。
洪水算法的優(yōu)缺點:
①按照該算法小車在第一次走迷宮的時候,必須把迷宮中所有的道路都走一遍。但是該算法可以讓小車走任何迷宮,即使迷宮本身有“孤島”小車一樣可以順利的走出迷宮。
②當小車再走第二遍迷宮的時候小車可以1次性走正確的路線走出迷宮,并且該路線一定為最短的路線。
(4)鋪路算法
在內存中建立一個區(qū)域與實際中的迷宮格數(shù)一一對應,并將所有走過的路進行記憶,如果發(fā)現(xiàn)前方是死胡同或走過的路就轉回前一個岔道口;在行走過程中遇岔道口默認靠左。因為有了記憶功能,就可以走第二遍。
鋪路算法的優(yōu)缺點:
①運用該算法可以走復雜的迷宮,不存在走不出來的問題。
②運用該算法在小車第二次走迷宮的時候可以一次性的走出迷宮,但是不能保此條道路走的是最短的線路。
這幾種算法各有優(yōu)缺點,經(jīng)權衡比較,最終選擇靠前算法。
1.3 系統(tǒng)運行及調試
程序運行時遇到的問題及解決方法:
(1)小車的外殼及輪子是純手工安裝的,精度不是很高,小車在行駛過程中不能一直走直線,很容易發(fā)生擦墻事故影響小車走迷宮。若是手工制作時所引起的,可通過給行駛時較落后的輪子上繞一些膠帶來增加輪子的周長來解決。也可通過在電路中加入A/D轉換器,對程序進行相對的改進,不斷的測小車與周圍墻壁的距離,保持小車與周圍墻壁保持一定距離來解決。
(2)采用ST188型紅外線傳感器,易受外界干擾不能準確地檢測墻壁信號,尤其是在強光下無法正常運行,對某些材料反射的光無法接收,易受陽光干擾,導致小車不能無誤地走出迷宮。引起干擾的原因是陽光所發(fā)出的紅外線與紅外傳感器所發(fā)出的紅外線是一樣的,都是連續(xù)的,無法區(qū)別,所以易受周圍光線的干擾。對于該問題的解決辦法是利用無線遙控基本原理使紅外傳感器所發(fā)出的紅外是一種有固定頻率有別于周圍紅外的信號。對于接收方也進行電路處理,使有辨別能力直接收有固定頻率的紅外信號。這兩處的改進都是通過改進電路來實現(xiàn)的。若是反射面所引起的,通過限制反射面的材料可以解決。根據(jù)555定時器原理,改進傳感器電路如圖10所示。其工作原理是555電路發(fā)出頻率為100 Hz的方波,驅動ST188放射端發(fā)光二極管以100 Hz的頻率閃動,發(fā)出閃爍的光波,當有障礙物接近時,反射光引起ST188接收端的光敏電阻以相同的頻率變化,使得圖10中A點的電壓值VA發(fā)生相應變化。VA中包含有直流成分V直和頻率為100 Hz的交流成分V變,其中后者反映了障礙物的接近情況。為了保留有用的交流信號V交,清除直流成分V直,用隔直電容C1來完成隔直通交的功能,并由第一個運放電路完成對V交進行放大,由第二個運放實現(xiàn)直流到交流的轉換。具體來說,當遠離障礙物時,運放的輸出VO為高電平;當傳感器接近障礙物時,VO輸出低電平。
(3)小車的速度很難控制,通過程序控制很難把握小車的旋轉時間,小車在轉90°和180°時,經(jīng)常轉過規(guī)定的角度,以至影響小車不能直線走出迷宮。一種解決辦法是接入調壓電路,在給小車轉彎時間一定的情況,調節(jié)馬達上的電壓來改變車輪速度,不斷實踐直到達到預定的標準。另一種解決辦法是,在小車速度一定的情況下,不斷通過改變程序中的小車轉角時間來改變小車的轉角,多次實踐,以求達到預定目標。通過實際調試發(fā)現(xiàn)這兩種辦法單獨應用很難達到預定目標。因此,將兩種結合起來,通過調試,容易達到目標。
2 結語
機器人迷宮車是大學生電子制作常選項目,是電子電路、機械傳動及自動控制等多種知識的綜合應用。對小車的轉向控制涉及到電機調速,可以先對小車建立控制模型,再應用自動控制原理知識給出具體控制算法,這樣就可以使小車轉向控制及路徑選擇更為精確。