基于MCS-51單片機的智能機器人迷宮車設(shè)計
(3)洪水算法
洪水算法即使用256 B額外內(nèi)存,會大幅提高性能。該算法比一般迷宮算法的有效率高20~50倍。同時可以在內(nèi)存中建立一個區(qū)域,與實際中的迷宮格數(shù)一一對應(yīng)。在實際使用時算法并不太復(fù)雜。該額外內(nèi)存區(qū)域稱為“浪頭”,它將體現(xiàn)在內(nèi)存區(qū)域的實際狀況中如圖9所示。當迷宮被淹沒的時候,一個波浪的前頭從目標格向外擴展。在內(nèi)存區(qū)域中這種單元格是惟一需要處理的,當浪頭到達開始的單元格子,機器人已經(jīng)被淹沒。通常來說,開始的單元格可以是任何一個格子。但是為了方便起見,把開始點設(shè)在迷宮的第一個單元格,終點任意。反過來也可以把出口放在第一個單元格,把開始點設(shè)在中間或希望的位置。一旦到達了起點即搜索完成,最短的路徑可以使機器老鼠移動到周圍的格子中數(shù)值比較小的那個格子去,依次類推機器老鼠就能走到終點。本文引用地址:http://2s4d.com/article/172754.htm
洪水算法的優(yōu)缺點:
①按照該算法小車在第一次走迷宮的時候,必須把迷宮中所有的道路都走一遍。但是該算法可以讓小車走任何迷宮,即使迷宮本身有“孤島”小車一樣可以順利的走出迷宮。
②當小車再走第二遍迷宮的時候小車可以1次性走正確的路線走出迷宮,并且該路線一定為最短的路線。
(4)鋪路算法
在內(nèi)存中建立一個區(qū)域與實際中的迷宮格數(shù)一一對應(yīng),并將所有走過的路進行記憶,如果發(fā)現(xiàn)前方是死胡同或走過的路就轉(zhuǎn)回前一個岔道口;在行走過程中遇岔道口默認靠左。因為有了記憶功能,就可以走第二遍。
鋪路算法的優(yōu)缺點:
①運用該算法可以走復(fù)雜的迷宮,不存在走不出來的問題。
②運用該算法在小車第二次走迷宮的時候可以一次性的走出迷宮,但是不能保此條道路走的是最短的線路。
這幾種算法各有優(yōu)缺點,經(jīng)權(quán)衡比較,最終選擇靠前算法。
1.3 系統(tǒng)運行及調(diào)試
程序運行時遇到的問題及解決方法:
(1)小車的外殼及輪子是純手工安裝的,精度不是很高,小車在行駛過程中不能一直走直線,很容易發(fā)生擦墻事故影響小車走迷宮。若是手工制作時所引起的,可通過給行駛時較落后的輪子上繞一些膠帶來增加輪子的周長來解決。也可通過在電路中加入A/D轉(zhuǎn)換器,對程序進行相對的改進,不斷的測小車與周圍墻壁的距離,保持小車與周圍墻壁保持一定距離來解決。
(2)采用ST188型紅外線傳感器,易受外界干擾不能準確地檢測墻壁信號,尤其是在強光下無法正常運行,對某些材料反射的光無法接收,易受陽光干擾,導(dǎo)致小車不能無誤地走出迷宮。引起干擾的原因是陽光所發(fā)出的紅外線與紅外傳感器所發(fā)出的紅外線是一樣的,都是連續(xù)的,無法區(qū)別,所以易受周圍光線的干擾。對于該問題的解決辦法是利用無線遙控基本原理使紅外傳感器所發(fā)出的紅外是一種有固定頻率有別于周圍紅外的信號。對于接收方也進行電路處理,使有辨別能力直接收有固定頻率的紅外信號。這兩處的改進都是通過改進電路來實現(xiàn)的。若是反射面所引起的,通過限制反射面的材料可以解決。根據(jù)555定時器原理,改進傳感器電路如圖10所示。其工作原理是555電路發(fā)出頻率為100 Hz的方波,驅(qū)動ST188放射端發(fā)光二極管以100 Hz的頻率閃動,發(fā)出閃爍的光波,當有障礙物接近時,反射光引起ST188接收端的光敏電阻以相同的頻率變化,使得圖10中A點的電壓值VA發(fā)生相應(yīng)變化。VA中包含有直流成分V直和頻率為100 Hz的交流成分V變,其中后者反映了障礙物的接近情況。為了保留有用的交流信號V交,清除直流成分V直,用隔直電容C1來完成隔直通交的功能,并由第一個運放電路完成對V交進行放大,由第二個運放實現(xiàn)直流到交流的轉(zhuǎn)換。具體來說,當遠離障礙物時,運放的輸出VO為高電平;當傳感器接近障礙物時,VO輸出低電平。
(3)小車的速度很難控制,通過程序控制很難把握小車的旋轉(zhuǎn)時間,小車在轉(zhuǎn)90°和180°時,經(jīng)常轉(zhuǎn)過規(guī)定的角度,以至影響小車不能直線走出迷宮。一種解決辦法是接入調(diào)壓電路,在給小車轉(zhuǎn)彎時間一定的情況,調(diào)節(jié)馬達上的電壓來改變車輪速度,不斷實踐直到達到預(yù)定的標準。另一種解決辦法是,在小車速度一定的情況下,不斷通過改變程序中的小車轉(zhuǎn)角時間來改變小車的轉(zhuǎn)角,多次實踐,以求達到預(yù)定目標。通過實際調(diào)試發(fā)現(xiàn)這兩種辦法單獨應(yīng)用很難達到預(yù)定目標。因此,將兩種結(jié)合起來,通過調(diào)試,容易達到目標。
2 結(jié)語
機器人迷宮車是大學生電子制作常選項目,是電子電路、機械傳動及自動控制等多種知識的綜合應(yīng)用。對小車的轉(zhuǎn)向控制涉及到電機調(diào)速,可以先對小車建立控制模型,再應(yīng)用自動控制原理知識給出具體控制算法,這樣就可以使小車轉(zhuǎn)向控制及路徑選擇更為精確。
評論