劉鑄,劉恒宇,凡正波
(成都理工大學(xué)核技術(shù)與自動化工程學(xué)院,四川成都,610059)
隨著無人駕駛的提出,智能小車得到了飛速的發(fā)展,自動尋光小車就是其中的一種。傳統(tǒng)的光電小車都采用單CPU運行方式,既進行攝像頭畫面的采集又要進行控制算法的實現(xiàn)。這就存在CPU處理速度不夠快的問題,導(dǎo)致攝像頭幀率不高。小車高速運行的過程中,無法保證小車能準確的找到信號燈的位置。為了提高攝像頭的幀率,本文設(shè)計了一種雙CPU控制系統(tǒng),將光線采集和小車控制分離,既能使小車能精準找到信號燈位置,又可以快速穩(wěn)定的到達既定位置。
自動尋光小車工作原理:利用STM公司M4內(nèi)核的處理器STM32F407ZGT6進行攝像頭畫面的采集,計算得到信號燈的位置坐標,通過串口將坐標信息傳給M3內(nèi)核的STM32F103ZET6,F(xiàn)1根據(jù)傳來的坐標值做出判斷。若沒有采到信號燈的位置,則旋轉(zhuǎn)車身繼續(xù)找信號燈位置,若在畫面中找到信號燈的位置,利用編碼器測量得到兩輪的轉(zhuǎn)速,根據(jù)特殊的姿態(tài)解算和PID運算,使小車快速穩(wěn)定地運動到信號燈的位置。在車頭的位置安裝了紅外避障模塊,在小車的運行過程中遇到障礙物,小車會倒退一小段,防止撞毀小車。同時,為了觀測小車的運行狀態(tài),在F1上安裝了顯示屏,用于顯示信號燈的位置坐標和小車當前的運行速度。系統(tǒng)總體框圖如1所示。
圖1 系統(tǒng)總體框圖
車身采用三輪結(jié)構(gòu),后面兩個輪為主動輪,與驅(qū)動相連,利用差速實現(xiàn)小車的轉(zhuǎn)向運行。最前面的輪采用牛眼輪,主要用于小車的支撐,另外由于其結(jié)構(gòu)的優(yōu)勢,可以大的減小小車的轉(zhuǎn)彎半徑,使小車轉(zhuǎn)彎更加穩(wěn)定靈活。
本系統(tǒng)采用模塊化設(shè)計的方法,大大提升系統(tǒng)的設(shè)計效率。
光電小車尋光采用了攝像頭模塊。攝像頭采用帶FIFO的ov7670模塊,通過SCCB總線控制,可以輸出整幀、子采樣、取窗口等方式的8位數(shù)據(jù),其VGA輸出最多可以達到30幀/秒。為了保證攝像頭采集的幀率,選用M4內(nèi)核的處理器STM32F407ZGT6。這款處理器其主頻可以達到168M,擁有1M的閃存儲器,完全滿足對攝像頭的控制與數(shù)據(jù)的讀取的要求。
在控制端選用M3內(nèi)核處理器STM32F103ZET6。這款F1的處理器主頻最大可以達到72M,擁有512K的閃存儲器,外設(shè)資源豐富,處理速度和內(nèi)存容量都完全可以適應(yīng)小車一些常見的控制算法。
驅(qū)動模塊選用A4950。A4950是一款雙路全橋DMOS電機驅(qū)動芯片。輸出的峰值電流最大達到2安培,電壓最大可以承受40伏特。通過外部PWM的控制,可以自由地控制直流電機的正反轉(zhuǎn)和加減速。內(nèi)部還具有過流保護功能,可以防止驅(qū)動運行時被輕易燒毀。驅(qū)動模塊原理圖如圖2所示。
電機選用自帶編碼器的直流減速電機。減速比為30:1,測速精度高,可以進行更高精度的速度控制。扭矩為1kg·cm,工作電壓為12V,額電電流為360mA。足夠大的扭矩保證小車高速穩(wěn)定的運行。
圖2 驅(qū)動模塊原理圖
圖3 電源模塊原理圖
電池選用3S航模電池,容量達到2200mA,可以穩(wěn)定輸出12V電壓。用AMS1117外搭了穩(wěn)壓電路,12V的電源經(jīng)過降壓,輸出穩(wěn)定的5V電壓,用于給單片機供電。電源模塊的原理圖如圖3所示。
顯示模塊選用OLED。OLED具有體積小,顯示清晰等特點,將他與F1相連,通過F1控制,顯示出小車運行的速度和信號燈的坐標。
紅外避障模塊采用三個E18-D80NK紅外接近開關(guān)模塊。其具有精度高,控制簡單,調(diào)試方便等特點,最大檢測范圍可以達到80cm,可以根據(jù)具體情況進行調(diào)節(jié)。三個配合使用,可以有效避免視野的盲區(qū),準確檢測到前方的障礙物。
F4部分:F4將采回來的點顏色值進行二值化,對目標點的橫坐標進行平均值濾波,濾波后的點坐標作為最終采回信號燈的位置坐標。最后通過串口將坐標值傳給F1。
F1部分:F1讀取到坐標值后,進行判斷,若信號不在畫面里,小車自轉(zhuǎn)繼續(xù)找光。若光線在畫面中,首先進行姿態(tài)的結(jié)算,根據(jù)小車的兩輪轉(zhuǎn)速判斷小車運動狀態(tài)。再進行PID算法控制,最終讓小車快速穩(wěn)定的運動到信號燈位置。紅外避障采用中斷的方式進行處理,在運行過程中,一旦檢測到障礙物,就控制電機倒退一小段距離,繞開障礙物后,小車重新找光。
本文設(shè)計的雙CPU自動尋光小車,較傳統(tǒng)的單CPU的小車,保證圖像幀率的同時,還可以進行一定的圖像處理,確保小車對光線精確地采集。將另一個CPU從圖像采集和處理中解放出來,保證小車控制快速性和穩(wěn)定性的同時,為小車實現(xiàn)更復(fù)雜算法的控制提供了條件??梢钥闯鲞@種雙CPU系統(tǒng)的智能小車在開發(fā)應(yīng)用中具有遠大的前景。