智能尋跡機(jī)器人是一種被廣泛研究的機(jī)器人,而且國內(nèi)外都有許多重要的比賽都以尋跡機(jī)器人為核心展開,如我國的“飛思卡爾”杯全國大學(xué)生智能車大賽,以及吸引亞太地區(qū)眾多國家參賽的亞廣聯(lián)(ABU)機(jī)器人大賽等。
所謂的復(fù)雜路線,即由小半徑彎道、各種角度折道、直道等組成的不規(guī)則導(dǎo)引線,它是相對(duì)由大半徑彎道組成、過渡平滑的簡單路線而言的。筆者所設(shè)計(jì)的尋跡機(jī)器人小車,以AT89C52單片機(jī)為控制芯片,采用自制的3個(gè)紅外光電傳感器,以簡單的設(shè)計(jì)、較低的成本實(shí)現(xiàn)了復(fù)雜路線下機(jī)器人的自主尋跡。
考慮到實(shí)用性和性價(jià)比,采用AT89C52單片機(jī)作為機(jī)器人的控制芯片。AT89C52是美國Atmel公司生產(chǎn)的低電壓、高性能CMOS 8位單片機(jī),片內(nèi)含8 KB的可反復(fù)擦寫的只讀存儲(chǔ)器(PEROM)和256B的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)I/O口線,3個(gè)16位定時(shí)/計(jì)數(shù)器,1個(gè)全雙工串行通行口。器件采用Atmel公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn)MCS51指令系統(tǒng)及8052產(chǎn)品引腳兼容。
作為尋跡機(jī)器人的“眼睛”,選擇合適的傳感器是關(guān)鍵。目前市面上可選用的傳感器主要有CCD傳感器和紅外光電傳感器兩種。近年來CCD傳感器技術(shù)已趨成熟,在近幾屆“飛思卡爾”杯智能車大賽上,采用CCD傳感器的智能車越來越多,并取得了不錯(cuò)的成績。不過,CCD傳感器價(jià)格較高,體積較大,數(shù)據(jù)處理相當(dāng)復(fù)雜,因此在按既定路線行走的尋跡機(jī)器人設(shè)計(jì)中,紅外光電傳感器以其體積小、價(jià)格低、數(shù)據(jù)處理簡單而顯得更有優(yōu)勢。
紅外光電傳感器由1個(gè)紅外發(fā)射管和1個(gè)光敏二極管組成。工作時(shí),紅外發(fā)射管發(fā)射的紅外光被被測表面反射回來,光敏二極管接收被反射光。由于被測表面的材質(zhì)不同,反射率也不一樣。當(dāng)被測表面為白色時(shí),反射光較強(qiáng),光敏二極管將導(dǎo)通;反之,被測表面為黑色時(shí),光敏二極管將截止。考慮到外界環(huán)境光照等干擾因素,輸出的電壓值有一定的波動(dòng)范圍,若直接輸給單片機(jī),可能導(dǎo)致檢測判斷錯(cuò)誤。因此,需要將輸出電壓通過比較器(LM324)與預(yù)置的閾值電壓比較,然后得出一個(gè)高低電平輸給單片機(jī)。閾值電壓通過試驗(yàn)測量得出,其電路如圖1所示。其中LED為傳感器工作指示燈,R1為閾值電壓調(diào)節(jié)電阻。
驅(qū)動(dòng)機(jī)器人行走的2個(gè)電機(jī)需要不同的轉(zhuǎn)速來實(shí)現(xiàn)轉(zhuǎn)彎。選用的驅(qū)動(dòng)芯片為L293D,它包含4個(gè)輸出通道,最大輸出峰值電流為1.2 A,能同時(shí)驅(qū)動(dòng)2個(gè)直流電機(jī)工作;其信號(hào)輸入端和使能端接收到來自單片機(jī)的信號(hào),控制電機(jī)的通斷以及正、反轉(zhuǎn),還可以通過向使能端輸入不同占空比的方波信號(hào)來調(diào)整電機(jī)轉(zhuǎn)速 (PWM方式)。
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)無效。在EN端輸入PWM波,通過調(diào)整 PWM波的占空比,即可實(shí)現(xiàn)電機(jī)的無級(jí)調(diào)速。
機(jī)器人尋跡控制示意圖如圖3所示,機(jī)器人采用前輪驅(qū)動(dòng)后輪輔助的三輪差動(dòng)式行走方式。車體前部兩輪均為主動(dòng)輪,由兩個(gè)電機(jī)分別驅(qū)動(dòng),利用它們的轉(zhuǎn)速差來控制機(jī)器人運(yùn)動(dòng)方向;后輪為從動(dòng)萬向輪,僅起著支撐車體的作用。車底板前部以車體中心線為軸線對(duì)稱放置著3個(gè)自制的紅外光電傳感器,作為機(jī)器人的尋跡傳感器。
機(jī)器人尋跡場地中除了黑線,其他區(qū)域均為白色。當(dāng)傳感器正下方為黑線時(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)作。