王 健,許志鴻,武 政,高 靖,王聰偉
(1.內(nèi)蒙古農(nóng)業(yè)大學(xué)機(jī)電工程學(xué)院,內(nèi)蒙古 呼和浩特 010018;2.中國(guó)鐵路呼和浩特局集團(tuán)公司車輛部,內(nèi)蒙古 呼和浩特 010053;3.內(nèi)蒙機(jī)械動(dòng)力研究所,內(nèi)蒙古 呼和浩特 010010)
循跡小車是一個(gè)集環(huán)境感知、規(guī)劃決策、自動(dòng)行駛等功能于一身的光機(jī)電一體化系統(tǒng),它集合了傳感器、信息處理及自動(dòng)控制等技術(shù)。如今,隨著國(guó)內(nèi)外各種智能小車大賽的火熱舉行,各高校對(duì)其展開了深入廣泛的研究,同時(shí)也是對(duì)單片機(jī)課程的繼續(xù)學(xué)習(xí)和應(yīng)用強(qiáng)化。
循跡小車的布局滿足以下條件:(1)為使小車有優(yōu)良的加減速度性能,應(yīng)使小車的質(zhì)量較??;(2)為使小車的結(jié)構(gòu)簡(jiǎn)單,采用單個(gè)萬向輪代替?zhèn)鹘y(tǒng)小車前輪;(3)為有良好的視野,攝像頭支架應(yīng)固定在小車前端;(4)為降低重心,攝像頭的支架應(yīng)在滿足視野的要求下,取最小高度;(5)為平衡前后重心,小車的電池應(yīng)盡量放在小車后端,同時(shí)為降低重心,應(yīng)將電池固定在滿足結(jié)構(gòu)要求的最低位置。
系統(tǒng)的硬件電路包括主控模塊、視覺傳感器、電源模塊、動(dòng)力驅(qū)動(dòng)模塊和顯示模塊,系統(tǒng)設(shè)計(jì)方案框圖如圖1所示。
圖1 系統(tǒng)設(shè)計(jì)方案框圖
主控模塊選用單片機(jī)STM32F系列作為控制芯片,并由晶振時(shí)鐘電路和按鍵復(fù)位電路組成單片機(jī)最小系統(tǒng),如圖2所示。
設(shè)計(jì)中選用可多次循環(huán)充電的電池供電,并具有電池電壓測(cè)量功能。通過穩(wěn)壓電路的轉(zhuǎn)換為電機(jī)驅(qū)動(dòng)芯片供電,為CCD攝像頭TSL1401CL提供5V電壓,并為單片機(jī)和OLED液晶顯示屏提供3.3V電壓,電路如圖3、圖4所示。
圖2 單片機(jī)最小系統(tǒng)
圖3 穩(wěn)壓電路
圖4 電池電壓測(cè)量電路
視覺傳感器選用型號(hào)為TSL1401CL的CCD,具有信號(hào)傳輸零丟失、噪點(diǎn)較小、感光度較高等特點(diǎn),實(shí)物及接口電路如圖5所示。
圖5 TSL1401CL型CCD及接口電路
動(dòng)力驅(qū)動(dòng)模塊由電機(jī)及驅(qū)動(dòng)組成,電機(jī)采用霍爾編碼器,型號(hào)為TB6612FNG?;魻柧幋a器能夠?qū)⒔俏灰频男畔⑥D(zhuǎn)換成具有一定特性的電數(shù)字脈沖信號(hào),測(cè)量出位移或速度信息,如圖6所示,其接口電路如圖7、圖8所示。
圖6 霍爾編碼器示意圖
圖7 霍爾編碼器接口電路1
圖8 霍爾編碼器接口電路2
電機(jī)驅(qū)動(dòng)采用A4950,通過脈寬調(diào)制控制電機(jī),其接口電路如圖9所示。
圖9 電機(jī)驅(qū)動(dòng)接口電路
顯示模塊由OLED顯示屏實(shí)現(xiàn),主要顯示電池電量、運(yùn)行速度等信息,其接口電路如圖10所示。
圖10 顯示屏接口電路
系統(tǒng)流程如圖11所示。初始化完成后,CCD開始采集賽道二維圖像信息,并進(jìn)行圖像處理。通過霍爾編碼器獲取小車當(dāng)前的速度并反饋給單片機(jī),由增量式PID調(diào)節(jié)器控制電機(jī),從而實(shí)現(xiàn)對(duì)小車速度的控制。
圖11 主程序流程圖
對(duì)攝像頭采集的圖像采用數(shù)字圖像處理方法,獲取黑色賽道信息,實(shí)現(xiàn)機(jī)器視覺小車的導(dǎo)航功能,算法流程如圖12所示。
圖12 導(dǎo)航算法流程圖
攝像頭采集的圖像經(jīng)二值化、取反及閉運(yùn)算后的效果如圖13所示。從圖13中可以看出,賽道信息能夠準(zhǔn)確地被提取。
圖13 賽道圖像處理效果圖
利用PID控制可以實(shí)現(xiàn)循跡小車的快速平穩(wěn)運(yùn)行。通過PID的三個(gè)環(huán)節(jié),可對(duì)偏差信號(hào)進(jìn)行反饋、處理和修正,以此提高運(yùn)行速度,縮短系統(tǒng)的響應(yīng)時(shí)間從而提高小車的靈敏度。PID形象表達(dá)如圖14所示。
圖14 PID形象表達(dá)
電機(jī)采用模糊控制算法,根據(jù)輸入偏差和變化量的大小建立適當(dāng)?shù)哪:?guī)則表,使直道輸出高速度,轉(zhuǎn)彎迅速減速,出彎后再加速,解決了二次曲線出彎沖出賽道的問題,再配合經(jīng)典的增量式PID控制電機(jī)轉(zhuǎn)速,實(shí)現(xiàn)了小車的速度控制,并具有良好的控速性能。
基于機(jī)器視覺導(dǎo)航的循跡小車實(shí)物如圖15所示。通過對(duì)硬件的測(cè)試,小車已能通過CCD攝像頭進(jìn)行導(dǎo)航,測(cè)試中采用辨別率高的黑白賽道,即以白色的A4紙為底襯,在A4紙中央貼上12mm寬的黑色PVC絕緣膠帶。賽道是由兩條平行的長(zhǎng)為1100mm的黑色PVC膠帶和兩個(gè)半徑大約為600mm的半圓拼接而成。循跡小車在賽道上的行駛情況如圖16、圖17所示,機(jī)器視覺小車的主要參數(shù)如表1所示。
圖15 基于機(jī)器視覺導(dǎo)航的循跡小車實(shí)物
圖16 循跡小車直道行駛
圖17 循跡小車轉(zhuǎn)彎行駛
表1 機(jī)器視覺小車參數(shù)表
基于機(jī)器視覺導(dǎo)航的循跡小車采用單目CCD實(shí)現(xiàn)了賽道信息的采集,運(yùn)用雙峰法動(dòng)態(tài)閾值和多點(diǎn)平均動(dòng)態(tài)閾值分割出賽道和背景信息。基于模糊控制算法,再配合經(jīng)典的增量式PID控制電機(jī)轉(zhuǎn)速,使直道輸出高速度,轉(zhuǎn)彎迅速減速,出彎后再加速,解決了二次曲線出彎沖出賽道的問題,實(shí)現(xiàn)了小車的速度控制。為了使小車結(jié)構(gòu)簡(jiǎn)單和轉(zhuǎn)向靈活,采用單個(gè)萬向輪代替了傳統(tǒng)小車前輪。