楊 梅 張施展
(貴陽學(xué)院電子與通信工程學(xué)院,貴州 貴陽 550005)
隨著汽車工業(yè)的進一步發(fā)展,智能小車的相關(guān)研究也備受關(guān)注。近年來以智能小車為主題的競賽也為推動無人汽車的發(fā)展起著重要作用。本文以第十四屆“恩智浦杯”全國大學(xué)生智能車競賽為背景,設(shè)計并實現(xiàn)了基于單片機控制的信標智能小車設(shè)計,解決傳統(tǒng)智能小車在尋跡追蹤方面對復(fù)雜賽道及環(huán)境處理能力不夠的問題,優(yōu)化紅外信標燈進行識別處理能力,實現(xiàn)小車更高效的尋跡追蹤功能。
信標智能小車主要是由H 車的車模、小鉆風(fēng)硬件二值化OV7725 紅外攝像頭、四個RS-380的電機和顯示屏等部件組成,根據(jù)小車四輪的轉(zhuǎn)速,再通過編碼器正交解碼后得到的速度反饋信息,通過PWM波以及PID 實現(xiàn)電機速度的控制,便可實現(xiàn)小車的全向運動。這在尋跡的過程中能達到縮短尋跡路徑的優(yōu)勢。如圖1 所示為系統(tǒng)框架設(shè)計。
圖1 智能小車系統(tǒng)框架圖
智能小車的攝像頭是采用的是硬件二值化OV7725 紅外攝像頭。該攝像頭的最大有效像素點是320*240,硬件方面的主要特點是圖像數(shù)據(jù)已經(jīng)經(jīng)過二值化,控制端可直接使用單片機采集攝像頭模組輸出0、1的黑白圖像,在處理圖像時會更加方便。
硬件設(shè)計中需要為信標智能小車提供7.2V 電源電壓,該7.2V 電源由鋰電池提供。此外,硬件系統(tǒng)還需3.3V 和5V的供電電壓。3.3V 主要用于給單片機K66 芯片,OLED 顯示屏供電,使用TPS7333 線性穩(wěn)壓芯片產(chǎn)生。5V 電壓主要用于攝像頭模塊,編碼器模塊供電,并且為TPS7333 提供電壓,使用的是TPS7350 芯片產(chǎn)生,電路圖如圖2 所示。
圖2 5V 電源電路圖
在驅(qū)動電路設(shè)計前端,設(shè)計使用了74HC08 芯片,如圖3 所示,其主要功能將TPS7350 轉(zhuǎn)換來的5V 和單片機輸出的PWM信號做與運算,以此保證PWM信號的平穩(wěn)性。
圖3 74HC08 平穩(wěn)PWM 信號圖
信標智能小車采用硬件二值化OV7725 紅外攝像頭,該攝像頭對紅外光線十分的敏感,必須要在封閉而且無陽光的前提下進行過調(diào)試跑車。對于攝像頭的放置方法也有講究,夾角太大可能無法看到近處的燈,夾角太小可能無法看到遠處的燈,因此本系統(tǒng)是將攝像頭與碳素竿的夾角設(shè)定為60 度,如圖4 所示。
圖4 攝像頭安裝示意圖
對于攝像頭的補光環(huán)境,本系統(tǒng)采用LQ-R&IRLEDV4的信標燈給信標智能小車進行補光。該信標燈的發(fā)射頻率是10Hz,閃爍頻率是40kHz,在該頻率下,可以保證小車在賽道上能看到紅外光。
硬件二值化的紅外攝像頭的圖像采集是通過DMA 和場中斷進行采集圖像。DMA 是直接存儲器訪問,該功能在圖像采集中把一個數(shù)據(jù)地址傳輸?shù)狡渌牡刂?,通過這個原理,最后采集到的數(shù)據(jù)分辨率是80*60(畫面長*寬)的平面。經(jīng)過二值化的攝像頭采集的圖像里有一個黑塊,該黑塊代表紅外發(fā)射器發(fā)射出來的光經(jīng)過了二值化的圖像。黑塊的數(shù)據(jù)在數(shù)組中顯示數(shù)字0,白色區(qū)域顯示數(shù)字1。攝像頭采集到紅外光之后,把看到的圖像數(shù)據(jù)輸入到MCU的flash 中。
實驗進行圖像優(yōu)化時,首先利用嵌套for 循環(huán)找到每行或者每列的黑點個數(shù),再使用冒泡法比較出每行每列黑點個數(shù)最大值。黑點個數(shù)最多的行列形成的交點即可近似看成信標燈的位置。具體流程圖如圖5 所示。
圖5 軟件設(shè)計程序流程圖
首先先設(shè)定一個燈亮的參數(shù)。如果攝像頭識別到了紅外光,并且利用算法把識別到的紅外光優(yōu)化成一個點,此時算法中設(shè)置燈亮參數(shù)為1,反之,設(shè)置為0。
采集的圖像經(jīng)過算法處理后,在方向環(huán)進行誤差的處理時,error=Dy_Center-center_line[rowline],即誤差error 等于中心線Dy_Center 值減去黑點的列數(shù)center_line [rowline],由計算出的error 值判定當前方向誤差。根據(jù)方向誤差值,經(jīng)過PID 算法設(shè)定MCU 輸出PWM 信號的占空比,從而可以控制小車電機轉(zhuǎn)速,實現(xiàn)小車差速轉(zhuǎn)彎的結(jié)果,具體流程圖如圖6 所示。
圖6 小車尋跡設(shè)計流程圖
在調(diào)試的過程中若遇攝像頭采集到干擾光線,相應(yīng)的誤差會變得很大,在此需要對誤差進行限幅處理,處理過程如下代碼所示。
限幅在一定程度上可以保護電路,防止元器件燒壞。
本文通過飛思卡爾智能車競賽規(guī)則中小車對于圖像識別和定向移動而展開的話題,基于K66 單片機控制攝像頭對紅外信標燈進行優(yōu)化識別處理,通過二值化和算法對目標物進行識別和追蹤。經(jīng)過大量的賽道實驗與檢測,證實了本文方案的可靠性。