復(fù)雜路線(xiàn)下機(jī)器人的三點(diǎn)三輪尋跡系統(tǒng)
1.3 驅(qū)動(dòng)模塊
驅(qū)動(dòng)機(jī)器人行走的2個(gè)電機(jī)需要不同的轉(zhuǎn)速來(lái)實(shí)現(xiàn)轉(zhuǎn)彎。選用的驅(qū)動(dòng)芯片為L(zhǎng)293D,它包含4個(gè)輸出通道,最大輸出峰值電流為1.2 A,能同時(shí)驅(qū)動(dòng)2個(gè)直流電機(jī)工作;其信號(hào)輸入端和使能端接收到來(lái)自單片機(jī)的信號(hào),控制電機(jī)的通斷以及正、反轉(zhuǎn),還可以通過(guò)向使能端輸入不同占空比的方波信號(hào)來(lái)調(diào)整電機(jī)轉(zhuǎn)速(PWM方式)。如圖2所示,IN端口接控制信號(hào),OUT端口接電機(jī)的兩端,EN端口接使能信號(hào)。一組IN端口輸入為高/低或低/高電平時(shí),能實(shí)現(xiàn)電機(jī)的正/反轉(zhuǎn)。一組IN端口輸入均為高或低電平時(shí),電機(jī)將停轉(zhuǎn)。EN使能端為高電平時(shí),相應(yīng)端口輸入信號(hào)有效;反之,則輸入信號(hào)無(wú)效。在EN 端輸入PWM波,通過(guò)調(diào)整PWM波的占空比,即可實(shí)現(xiàn)電機(jī)的無(wú)級(jí)調(diào)速。本文引用地址:http://www.ex-cimer.com/article/163567.htm
2 尋跡控制
機(jī)器人尋跡控制示意圖如圖3所示,機(jī)器人采用前輪驅(qū)動(dòng)后輪輔助的三輪差動(dòng)式行走方式。車(chē)體前部?jī)奢喚鶠橹鲃?dòng)輪,由兩個(gè)電機(jī)分別驅(qū)動(dòng),利用它們的轉(zhuǎn)速差來(lái)控制機(jī)器人運(yùn)動(dòng)方向;后輪為從動(dòng)萬(wàn)向輪,僅起著支撐車(chē)體的作用。車(chē)底板前部以車(chē)體中心線(xiàn)為軸線(xiàn)對(duì)稱(chēng)放置著3個(gè)自制的紅外光電傳感器,作為機(jī)器人的尋跡傳感器。
機(jī)器人尋跡場(chǎng)地中除了黑線(xiàn),其他區(qū)域均為白色。當(dāng)傳感器正下方為黑線(xiàn)時(shí),輸出“0”狀態(tài),當(dāng)其為白色區(qū)域時(shí),輸出“1”狀態(tài)。因此,理論上3個(gè)傳感器輸出的組合狀態(tài)會(huì)有8種,如表1所列。每一種組合狀態(tài)都對(duì)應(yīng)著一種機(jī)器人下一步的行走動(dòng)作,共有前進(jìn)、左轉(zhuǎn)、快速左轉(zhuǎn)、右轉(zhuǎn)、快速右轉(zhuǎn)、原地旋轉(zhuǎn)、停止7種動(dòng)作。
注:“+”指車(chē)輪向前運(yùn)動(dòng),“-”表示車(chē)輪向后運(yùn)動(dòng),“1.0”、“0.3”指的是控制相應(yīng)電機(jī)轉(zhuǎn)速的PWM波的占空比,可根據(jù)實(shí)際需要在程序中修改。
本機(jī)器人有著雙級(jí)轉(zhuǎn)彎的設(shè)計(jì),即普通轉(zhuǎn)彎和快速轉(zhuǎn)彎。當(dāng)機(jī)器人對(duì)黑線(xiàn)的偏離量比較小時(shí),使用普通轉(zhuǎn)彎,即兩個(gè)驅(qū)動(dòng)輪都向前運(yùn)動(dòng),速度一大一小,依靠?jī)奢喌乃俣炔顏?lái)實(shí)現(xiàn)轉(zhuǎn)彎;而當(dāng)機(jī)器人偏離黑線(xiàn)較遠(yuǎn)時(shí),使用快速轉(zhuǎn)彎,即兩個(gè)驅(qū)動(dòng)輪一個(gè)向前運(yùn)動(dòng),一個(gè)向后運(yùn)動(dòng),這樣能迅速實(shí)現(xiàn)轉(zhuǎn)彎。普通轉(zhuǎn)彎用于大半徑彎道、大角度折道,而快速轉(zhuǎn)彎則用于小半徑彎道和直角銳角折道等非平滑過(guò)渡路線(xiàn)。對(duì)于非封閉路線(xiàn),還設(shè)計(jì)了原地旋轉(zhuǎn)的動(dòng)作,來(lái)實(shí)現(xiàn)原路返回:一旦機(jī)器人小車(chē)走完全程,3個(gè)傳感器將均檢測(cè)到白色區(qū)域,輸出組合狀態(tài)“111”,此時(shí)一輪全速前進(jìn),一輪全速后退,小車(chē)原地旋轉(zhuǎn),直到掉過(guò)頭來(lái)傳感器檢測(cè)到黑線(xiàn)為止。
3 程序設(shè)計(jì)
程序設(shè)計(jì)時(shí),采用匯編語(yǔ)言編程。其思路為:第1步,系統(tǒng)初始化后,讀取單片機(jī)P2口的值,然后對(duì)其P2.0、P2.1、P2.2按位取與,得到傳感器模塊的組合值。第2步,將得到的組合值與預(yù)定的值比較,若相等則執(zhí)行相應(yīng)的動(dòng)作,否則繼續(xù)比較,直到獲得正確的動(dòng)作。比較完全部動(dòng)作后,轉(zhuǎn)到第1步重新掃描傳感器的狀態(tài)值。
評(píng)論