楊學(xué)成 沈陽(yáng)工程學(xué)院
?
基于wifi的手機(jī)控制智能尋跡車(chē)的研制
楊學(xué)成 沈陽(yáng)工程學(xué)院
摘 要:本智能車(chē)系統(tǒng)設(shè)計(jì)以MC9S12DG128微控制器為核心,通過(guò)一個(gè)CMOS攝像頭檢測(cè)小車(chē)的運(yùn)動(dòng)位置和運(yùn)動(dòng)方向,光電編碼器檢測(cè)模型車(chē)的速度,PID控制算法調(diào)節(jié)驅(qū)動(dòng)電機(jī)的轉(zhuǎn)速和舵機(jī)的方向,完成對(duì)小車(chē)運(yùn)動(dòng)速度和運(yùn)動(dòng)方向的閉環(huán)控制,通過(guò)手機(jī)上的APP,以wifi無(wú)線(xiàn)傳輸技術(shù),實(shí)現(xiàn)對(duì)本智能車(chē)的控制。
關(guān)鍵詞:微控制器 攝像頭 PID 手機(jī) WIFI控制
本智能車(chē)以MC9S12DG128為核心控制,外加CMOS視頻傳感器、無(wú)線(xiàn)wifi接口及APP應(yīng)用程序構(gòu)建完整的自主循跡智能小車(chē)系統(tǒng)。通過(guò)高清攝像頭采集道路信息送入微控制器,在單片機(jī)中對(duì)輸入的圖像信息進(jìn)行處理,計(jì)算提取道路特征信息,選擇最佳行進(jìn)路線(xiàn)并進(jìn)行速度的控制,通過(guò)手機(jī)APP以無(wú)線(xiàn)wifi傳輸控制信息完成對(duì)小車(chē)姿態(tài)、速度的最優(yōu)控制。整個(gè)系統(tǒng)設(shè)計(jì)包括車(chē)體機(jī)械結(jié)構(gòu)設(shè)計(jì)和軟/硬件系統(tǒng)設(shè)計(jì)。車(chē)體機(jī)械結(jié)構(gòu)設(shè)計(jì)主要包括:底盤(pán)的加固、車(chē)身輕量化處理及前后輪的調(diào)節(jié)使其符合車(chē)身動(dòng)力學(xué),圖像傳感器、舵機(jī)以及速度編碼器的安裝和無(wú)線(xiàn)傳輸模塊的加固安裝等。硬件電路設(shè)計(jì)部分主要包括:電源穩(wěn)壓電路,為系統(tǒng)的各功能模塊提供了穩(wěn)定、可靠的工作電源;圖像傳感器跑道信息采集電路,編碼器速度測(cè)量監(jiān)視電路;電機(jī)驅(qū)動(dòng)電路,驅(qū)動(dòng)電機(jī)穩(wěn)定快速的運(yùn)行;wifi無(wú)線(xiàn)收發(fā)模塊。軟件系統(tǒng)設(shè)計(jì)完成了各功能模塊的控制算法及程序設(shè)計(jì),包括手機(jī)控制APP軟件設(shè)計(jì)及無(wú)線(xiàn)傳輸協(xié)議的實(shí)現(xiàn)算法,圖像采集及濾波算法設(shè)計(jì)、黑線(xiàn)提取及黑線(xiàn)中心求解算法設(shè)計(jì)以及舵機(jī)和電機(jī)的PID算法設(shè)計(jì)。
智能車(chē)主要包括四個(gè)部分組成:手機(jī)wifi無(wú)線(xiàn)收發(fā)系統(tǒng)、道路信息檢測(cè)系統(tǒng)、自主控制決策系統(tǒng)、能源動(dòng)力系統(tǒng)。采用手機(jī)APP控制軟件和無(wú)線(xiàn)wifi傳輸模塊收發(fā)控制命令,對(duì)小車(chē)的進(jìn)行無(wú)線(xiàn)啟停控制及運(yùn)行姿態(tài)的監(jiān)視。在道路檢測(cè)系統(tǒng)中,采用數(shù)字高清攝像頭采集跑道和路況信息,并且利用濾波算法提取賽道的特征信息,采用光電編碼器測(cè)量車(chē)體實(shí)時(shí)速度信息。自主控制決策系統(tǒng)采用MC9S12DG128作為主控芯片,接受并解釋手機(jī)來(lái)的命令做出相應(yīng)的啟停動(dòng)作,運(yùn)行過(guò)程中,主控芯片依據(jù)檢測(cè)到的路況信息自主設(shè)定適合的速度和運(yùn)行的角度。能源動(dòng)力系統(tǒng)主要包括電源和小車(chē)的執(zhí)行機(jī)構(gòu)(直流電機(jī)),主要是將cpu發(fā)出的速度和運(yùn)行角度信息作用在直流電機(jī)上去控制舵機(jī)的轉(zhuǎn)角和直流電機(jī)的轉(zhuǎn)速,實(shí)現(xiàn)速度和方向的控制。小車(chē)的四個(gè)部分構(gòu)成智能車(chē)的有機(jī)系統(tǒng),通過(guò)各個(gè)部分協(xié)調(diào)合作實(shí)現(xiàn)小車(chē)穩(wěn)定安全運(yùn)行在跑道上。
小車(chē)的硬件系統(tǒng)主要包括七個(gè)部分:無(wú)線(xiàn)WIFI傳輸模塊、MC9S12DG128核心系統(tǒng)板,電源管理模塊,圖像采集處理模塊,舵機(jī)驅(qū)動(dòng)模塊,速度檢測(cè)電路,電機(jī)驅(qū)動(dòng)電路和輔助調(diào)試模塊。手機(jī)APP通過(guò)無(wú)線(xiàn)WIFI通信模塊完成命令的發(fā)送和接收功能,是智能小車(chē)的“監(jiān)視系統(tǒng)”。MC9S12DG128核心系統(tǒng)板是系統(tǒng)的中樞部分,司職采集接收賽道圖像數(shù)據(jù)和賽車(chē)速度等反饋信息,并對(duì)這些信息進(jìn)行恰當(dāng)?shù)奶幚?,形成精確的控制量來(lái)對(duì)舵機(jī)與驅(qū)動(dòng)電機(jī)模塊進(jìn)行控制。電源管理模塊為整個(gè)系統(tǒng)提供能源,保障系統(tǒng)安全穩(wěn)定運(yùn)行。圖像采集處理模塊采用數(shù)字?jǐn)z像頭OV7620,用于獲取前方道路情況以供單片機(jī)處理,是智能小車(chē)的“視覺(jué)系統(tǒng)”。速度檢測(cè)電路采用歐姆龍公司的500線(xiàn)光電編碼器。電機(jī)驅(qū)動(dòng)電路采用BTN7970半橋驅(qū)動(dòng)并聯(lián)搭建全橋,可以實(shí)現(xiàn)電機(jī)的正反轉(zhuǎn)。舵機(jī)驅(qū)動(dòng)模塊控制舵機(jī)的轉(zhuǎn)向。輔助調(diào)試模塊有BDM、串行通信等,主要用于賽車(chē)系統(tǒng)的程序燒寫(xiě)、功能調(diào)試、賽車(chē)狀態(tài)監(jiān)控等方面,主要包括BDM、撥碼開(kāi)關(guān)、LED指示及串口通訊等。
軟件算法則是賽車(chē)的核心部分,決定著賽車(chē)的運(yùn)行質(zhì)量。程序的主流程是:手機(jī)APP上的指令通過(guò)無(wú)線(xiàn)WIFI傳輸模塊發(fā)出命令,CPU接收攝像頭上的視頻行中斷和視頻場(chǎng)中斷采集程序?qū)z像頭的視頻信號(hào)進(jìn)行間隔采樣,并同時(shí)完成對(duì)數(shù)據(jù)進(jìn)行濾波處理及計(jì)算并給出控制量,周期采樣間隔為4ms。
(一)圖像信息的處理算法
1.圖像二值化濾波算法。二值化就是對(duì)圖像數(shù)據(jù)的每一行每一個(gè)像素點(diǎn)按照相應(yīng)的閾值進(jìn)行比較判別,若像素點(diǎn)的像素值小于閾值時(shí)置0,表示其為黑色,否則置1,表示白色。本設(shè)計(jì)采用的動(dòng)態(tài)閾值法對(duì)采集的圖像進(jìn)行二值化處理。動(dòng)態(tài)閾值是指判別閾值可以隨車(chē)行駛的光線(xiàn)環(huán)境進(jìn)行動(dòng)態(tài)調(diào)整,使得二值化的圖像信息更加真實(shí)可靠。二值化的圖形包含大量的雜波,需要進(jìn)行濾波處理,設(shè)計(jì)中采用限幅平均濾波濾波效果很好。
2.黑線(xiàn)的提取。二值化濾波算后的賽道信息存儲(chǔ)在內(nèi)存緩沖區(qū)里,緩沖區(qū)的容量是16行、177列。將緩沖區(qū)的數(shù)據(jù)為“0”作為賽道的軌跡信息,根據(jù)這些信息計(jì)算小車(chē)的的位置以及賽道的狀況。
(二)控制算法
主要是運(yùn)用PID控制算法,其中包括電機(jī)控制是通過(guò)編碼器返回的實(shí)時(shí)速度完成閉環(huán)控制,舵機(jī)算法公式如下:
pwm=ster_mid+(int)(steer_kp*(colm_max/2-center1))+(int) (ster_kd*(Center[15]-Center[0])),其中ster_mid是舵機(jī)中心常量,colm_max是最大列坐標(biāo),Center[n]數(shù)組是用來(lái)存放路中心列坐標(biāo)數(shù)據(jù),center1是當(dāng)前幀的列坐標(biāo)中心值,pwm舵機(jī)控制量。
(三)手機(jī)APP軟件的開(kāi)發(fā)
我們基于語(yǔ)音識(shí)別自動(dòng)尋跡小車(chē)的語(yǔ)音接收和處理是利用在上位機(jī)上開(kāi)發(fā)簡(jiǎn)單的應(yīng)用軟件來(lái)完成的,運(yùn)用了微軟語(yǔ)音庫(kù),完成的過(guò)程如圖5.7所示。
智能車(chē)自動(dòng)化程度高,運(yùn)行穩(wěn)定,軟件功能完善,獲得了遼寧省挑戰(zhàn)杯三等獎(jiǎng)。
參考文獻(xiàn):
[1]Freescale.CPU12/CPU12X Reference Mnual.
[2]安鵬,馬偉,使用S12單片機(jī)控制舵機(jī),清華大學(xué)工程物理系,2007
[3]Tinku Acharya 等.數(shù)字圖像處理—原理與應(yīng)用.清華大學(xué)出版社.2007
[4]李剛.飛思卡爾8位單片機(jī)實(shí)用教程.電子工業(yè)出版社出版.2009
[5]胡壽松.自動(dòng)控制原理.(第四版)科學(xué)出版社.2001