基于MCS-51單片機(jī)的智能機(jī)器人迷宮車設(shè)計(jì)
1.2 迷宮車控制程序設(shè)計(jì)
控制算法:
迷宮車一般有四種控制算法:
(1)靠左算法
①默認(rèn)靠左走法。即一直沿著左墻壁走,左邊有墻時(shí)一直沿著左邊墻壁前進(jìn),當(dāng)左邊沒(méi)有墻時(shí)左轉(zhuǎn),然后繼續(xù)靠左邊墻壁運(yùn)行。該算法使用于最簡(jiǎn)單的迷宮走法。如圖5所示,其中虛線表示小車前進(jìn)的路線。本文引用地址:http://cafeforensic.com/article/172754.htm
②算法流程圖如圖6所示。
③靠左算法的弊端。按照該算法,小車在走第二遍迷宮的時(shí)候,可以一次性的走出迷宮,但是這條道路不一定是最短的道路;如果迷宮本身存在“孤島”,那么小車很有可能走不出迷宮。如圖7所示。圖7中兩個(gè)圓點(diǎn)分別表示入口和出口,小車從入口進(jìn)入迷宮,靠左前進(jìn)則會(huì)導(dǎo)致小車一直按照虛線所描繪出的路線一直在迷宮里循環(huán),終走不出迷宮。
(2)靠前算法
①靠前算法即一直沿著前方道路前行(前方?jīng)]有任何障礙時(shí)一直前進(jìn)),當(dāng)前邊沒(méi)有墻時(shí)判斷左邊,左邊沒(méi)墻左轉(zhuǎn),左邊有墻則判斷右邊。然后重復(fù)該循環(huán)。該算法使用于最簡(jiǎn)單的迷宮走法。
②算法流程圖如圖8所示。
③程序思路:前邊沒(méi)墻靠前走,前面有墻判斷左邊,左邊沒(méi)墻靠左轉(zhuǎn),左邊前邊都有墻再判斷右邊,右邊沒(méi)有墻靠右轉(zhuǎn),三面都?jí)χ苯雍笸宿D(zhuǎn)180°,繼續(xù)靠前走。0表示有墻,1表示沒(méi)墻,p3.0表示左傳感器;p3.1表示前傳感器;p3.2表示右傳感器。
轉(zhuǎn)角控制思路:計(jì)算輪子的轉(zhuǎn)速,測(cè)出小車轉(zhuǎn)90°時(shí)每個(gè)輪子所行的路程,用路程來(lái)除速度,求出一個(gè)時(shí)間作為小車轉(zhuǎn)彎時(shí)的延遲時(shí)間,再通過(guò)調(diào)試進(jìn)一步精確轉(zhuǎn)角。
評(píng)論