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