李鵬博
(河北工程大學(xué)信息與電氣工程學(xué)院,河北邯鄲056038)
智能車(intelligent vehicle,IV)又稱輪式移動(dòng)機(jī)器人,是一個(gè)集環(huán)境感知、規(guī)劃決策、操作控制等功能于一體的智能體,涉及機(jī)械、運(yùn)動(dòng)學(xué)與動(dòng)力學(xué)、電子、計(jì)算機(jī)、信息處理、控制和人工智能等科學(xué)技術(shù)領(lǐng)域[1]。在智能車技術(shù)的運(yùn)用中,除了能夠讓其自動(dòng)識(shí)別各種不同形式的道路外,如何讓其達(dá)到并維持較高的運(yùn)行速度,是智能車控制的一個(gè)關(guān)鍵問(wèn)題。
舵機(jī)的響應(yīng)速度和道路信息提取的可靠性,是制約智能車車速的兩個(gè)主要因素。在提高舵機(jī)響應(yīng)速度方面,張淑謙等[3]對(duì)智能車舵機(jī)轉(zhuǎn)向控制算法進(jìn)行了研究,提出了效果較好的PD控制算法。韓毅等[4]通過(guò)細(xì)化舵機(jī)控制量及延長(zhǎng)舵機(jī)力臂來(lái)提高其控制精度和響應(yīng)速度。在道路信息提取方面,目前普遍采用邊緣檢測(cè)法。本文通過(guò)改進(jìn)舵機(jī)的安裝方式,增加其力臂長(zhǎng)度,進(jìn)一步提高其響應(yīng)速度;通過(guò)引入一個(gè)動(dòng)態(tài)閾值來(lái)改進(jìn)道路信息提取的可靠性和穩(wěn)定性。
系統(tǒng)硬件以飛思卡爾半導(dǎo)體公司的16位系列單片機(jī)XS128為主控核心,共分為5大模塊單元:電源管理單元、圖像采集單元、方向控制單元、電機(jī)驅(qū)動(dòng)單元、車速檢測(cè)單元。其中,電源管理單元如圖1所示。
電源的質(zhì)量決定一個(gè)系統(tǒng)的電氣穩(wěn)定性。智能小車所有模塊單元的電源均來(lái)自于7.2 V的充電電池,鑒于各自的工作電壓各不相同,因此需要獨(dú)立的電壓變換電路為其提供電源。對(duì)于采用5 V電壓的元器件如單片機(jī)、車速檢測(cè)單元等,采用低壓差穩(wěn)壓芯片LM2904進(jìn)行供電(圖2);H橋的MOS管需要較高的開(kāi)啟電壓,并且電壓越高其內(nèi)阻越小,所以H橋驅(qū)動(dòng)單元采用與CCD攝像頭單元相同的12 V電壓,設(shè)計(jì)時(shí)用MC34063通過(guò)電阻編程將電壓升壓到12 V(圖3);對(duì)于舵機(jī),實(shí)驗(yàn)發(fā)現(xiàn)升高供電電壓可以提高響應(yīng)速度,而電壓過(guò)高則又容易造成舵機(jī)燒毀或打齒,因此通過(guò)在其供電電路中串聯(lián)1個(gè)或2個(gè)二極管來(lái)為其供電。
道路信息的提取是智能小車巡航的依據(jù)。采用一臺(tái)實(shí)驗(yàn)室電視顯示設(shè)備,將模擬CCD攝像頭的視頻輸出端接到電視設(shè)備的視頻輸入端,供電后不斷調(diào)整鏡頭,當(dāng)圖像達(dá)到最清晰時(shí)鎖死鏡頭。利用高速AD轉(zhuǎn)換芯片TLC5510將模擬信息轉(zhuǎn)換為8位的數(shù)字信息后送入單片機(jī)的P0端口。結(jié)合視頻同步分離芯片LM1881,將行中斷和場(chǎng)中斷信號(hào)同步分離出來(lái),為單片機(jī)讀取圖像提供時(shí)序。行場(chǎng)中斷信號(hào)分別接入PE1和PJ0引腳,鑒于行場(chǎng)中斷信號(hào)為正脈沖信號(hào),將單片機(jī)端口寄存器配置為中斷觸發(fā)模式,正跳變沿觸發(fā),這樣單片機(jī)就能夠及時(shí)捕捉到中斷信號(hào),讀取數(shù)據(jù)。視頻制式為PAL制式,每秒有25幀圖像輸出,由于每幀圖像由奇偶兩場(chǎng)組成,因此只需采集兩者之一即可,這樣可以節(jié)省一個(gè)圖像采集周期用做單片機(jī)的信息處理。LM1881信號(hào)同步分離電路如圖4所示。
由于白色賽道和黑色中心線經(jīng)過(guò)攝像頭采集后的圖像灰度值相差很大,通常近處黑色中心線的灰度值大于0而小于十進(jìn)制數(shù)30;白色賽道的灰度值則大于180而小于255。因此,可通過(guò)邊緣檢測(cè)法對(duì)道路信息進(jìn)行提?。?]。然而由于攝像頭的畸變和距離的影響會(huì)導(dǎo)致黑線采集后的灰度值隨著距離的變遠(yuǎn)而變大,對(duì)此根據(jù)距離的遠(yuǎn)近引入一個(gè)動(dòng)態(tài)閾值進(jìn)行提取,以提高識(shí)別率和穩(wěn)定性。
方向控制所用的舵機(jī)屬于位置伺服電機(jī),其輸出轉(zhuǎn)角與其輸入的PWM脈寬成一定的線性關(guān)系。通過(guò)改變輸入的PWM脈寬,可以控制舵機(jī)轉(zhuǎn)動(dòng)一定的角度。舵機(jī)的中心位置對(duì)應(yīng)的PWM脈寬值一般在1 600左右,8位的PWM寄存器不能滿足脈寬值的要求,所以將MC9S12XS128的2個(gè)8位PWM寄存器PWM0、PWM1級(jí)聯(lián)成一個(gè)16位PWM寄存器,這樣就可以滿足舵機(jī)PWM的脈寬值基數(shù)的要求,細(xì)化PWM的控制量,提高其控制精度[5]。為了進(jìn)一步提高舵機(jī)的響應(yīng)速度,采用將舵機(jī)豎放的方法,并將其墊高;通過(guò)盡可能增加其力臂,使其在擺動(dòng)相同的方向下只需轉(zhuǎn)動(dòng)較小的角度,減少其執(zhí)行時(shí)間,提高響應(yīng)速度。
鑒于電機(jī)驅(qū)動(dòng)單元的能耗比較大,特別是在啟動(dòng)和行駛中調(diào)速時(shí)極易導(dǎo)致電源電壓過(guò)低導(dǎo)致使單片機(jī)復(fù)位,因此在電容電感等器件的選擇上需要注意參數(shù)間的相互配合。對(duì)于電機(jī)的驅(qū)動(dòng)采用了基于分立器件搭建的“H”橋全橋驅(qū)動(dòng)電路[6-7]?!癏”橋全橋驅(qū)動(dòng)電路的開(kāi)關(guān)器件選用大功率場(chǎng)效應(yīng)晶體管IRF3205。利用“H”橋全橋驅(qū)動(dòng)電路可對(duì)電機(jī)實(shí)施反轉(zhuǎn)控制的特性,在需要制動(dòng)時(shí)可采取反轉(zhuǎn)策略得到類似剎車的制動(dòng)效果,迅速降低車速,以安全的速度迅速入彎,最大化節(jié)省時(shí)間。“H”橋全橋驅(qū)動(dòng)電路如圖5所示。
智能小車通過(guò)光電編碼器實(shí)時(shí)測(cè)得小車速度。通過(guò)在后輪驅(qū)動(dòng)齒輪上咬合一個(gè)光電編碼器,將光電編碼器輸出的脈沖信號(hào)經(jīng)過(guò)運(yùn)算放大器電路放大整形后,再輸入到單片機(jī)的輸入捕獲引腳進(jìn)行采集計(jì)數(shù),根據(jù)計(jì)數(shù)值計(jì)算得出對(duì)應(yīng)的車速。
智能小車的控制流程是先提取道路信息,然后結(jié)合車速檢測(cè)單元測(cè)得的當(dāng)前實(shí)時(shí)車速,準(zhǔn)確驅(qū)動(dòng)電機(jī)運(yùn)轉(zhuǎn)和舵機(jī)轉(zhuǎn)向,使舵機(jī)轉(zhuǎn)向的時(shí)機(jī)與速度配合得當(dāng),達(dá)到智能小車又快又穩(wěn)巡航行駛的目的。圖6為主程序流程圖。
道路信息的準(zhǔn)確、快速提取,對(duì)于智能小車的巡航行駛意義重大。設(shè)計(jì)中使用片外高速AD轉(zhuǎn)換芯片代替單片機(jī)自帶的AD轉(zhuǎn)換功能,既省大量的CPU時(shí)間,又可以使每行采集到的圖像點(diǎn)數(shù)增加到一百余點(diǎn),這樣就為根據(jù)前瞻距離來(lái)調(diào)整采集點(diǎn)數(shù)提供了空間,提高了算法提取的可靠度和穩(wěn)定度;通過(guò)對(duì)場(chǎng)中斷進(jìn)行延時(shí)采集的方法解決視野寬窄遠(yuǎn)近合適但偏離中心位置的現(xiàn)象。
使用邊緣檢測(cè)法提取黑線。根據(jù)道路信息提取情況,選取一個(gè)能夠?qū)咨惖篮秃谏行木€區(qū)分開(kāi)的閾值,采用單邊緣或雙邊緣跳變檢測(cè)法提取賽道中心黑線。為了達(dá)到更好的道路信息提取效果,引入了動(dòng)態(tài)閾值法和多閾值法。設(shè)計(jì)中分成將圖像從上到下分成3部分,對(duì)每一部分求灰度值的平均值作為此部分中心線的提取閾值。中心線提取的程序如下:
舵機(jī)是控制小車運(yùn)動(dòng)方向的部件,如果程序能夠控制舵機(jī)及時(shí)準(zhǔn)確地做出反應(yīng)將大大提高智能小車的速度。PID算法具有較好的魯棒性,且算法簡(jiǎn)單,通過(guò)對(duì)其參數(shù)的合理標(biāo)定,可以使舵機(jī)在直道平穩(wěn)而對(duì)彎道靈敏??刂贫鏅C(jī)的PID算法模型通過(guò)下式實(shí)現(xiàn):
其中,MVn、MVn-1是當(dāng)前操作量和上次操作量;ΔMVn是當(dāng)前操作量的微分;en、en-1、en-2是當(dāng)前、上次、上上次的偏差;Kp、Ki、Kd是系數(shù)。在設(shè)計(jì)中考慮到積分環(huán)節(jié)是一個(gè)累積過(guò)程,有一定的滯后性,不利于舵機(jī)的響應(yīng)速度,決定將其去掉。且經(jīng)過(guò)實(shí)驗(yàn)不斷驗(yàn)證,得出對(duì)舵機(jī)的控制采用去掉積分環(huán)節(jié)的 PD 算法更為合適[8-9]。
為了使智能小車的車速控制成閉環(huán)控制方式,同時(shí)為了使其反應(yīng)更靈敏快速,也采用了去掉積分環(huán)節(jié)的PD算法[6]。車速計(jì)算公式如下:
6式中:e=Set_speed-Cur_speed;Set_speed是要設(shè)置的車速,Cur_speed是光電編碼器檢測(cè)到的實(shí)時(shí)車速,兩者之差代回上式做計(jì)算,通過(guò)Kp和Kd計(jì)算修正后,可得到需要輸出的車速。PD算法控制器參數(shù)的標(biāo)定需要通過(guò)不斷的試驗(yàn)得出,這是使用PD算法的一個(gè)不足之處。實(shí)驗(yàn)表明,該控制器可快速靈敏的對(duì)車速進(jìn)行精確控制,表現(xiàn)出非常好的控速效果[4]。
通過(guò)對(duì)影響智能車速度的相關(guān)因素的分析,實(shí)現(xiàn)了基于視頻的自動(dòng)巡航智能小車的快速穩(wěn)定行駛。實(shí)驗(yàn)和實(shí)踐證明,該智能小車自動(dòng)巡航效果好,實(shí)現(xiàn)了不同場(chǎng)地光照條件下的自動(dòng)巡航,抗現(xiàn)場(chǎng)光線干擾能力強(qiáng),具備良好的速度和靈活特性,在2010屆全國(guó)大學(xué)生智能車競(jìng)賽上取得了東北賽區(qū)一等獎(jiǎng)的好成績(jī),證明了相關(guān)技術(shù)的合理性和有效性。
[1] 付夢(mèng)印,鄧志紅,劉彤.智能車輛導(dǎo)航技術(shù)[M] .北京:科學(xué)出版社,2009.
[2] 沈志熙,黃席樾,楊鎮(zhèn)宇,等.基于Boosting的智能車輛多類障礙物識(shí)別[J] .計(jì)算機(jī)工程,2009,35(14):241-242.
[3] 張淑謙,王國(guó)權(quán).智能車黑線識(shí)別算法及控制策略研究[J] .電子技術(shù),2009(3):89-91.
[4] 韓毅,楊天.基于HCS12單片機(jī)的智能尋跡模型車的設(shè)計(jì)與實(shí)現(xiàn)[J] .計(jì)算機(jī)工程與設(shè)計(jì),2008,29(18):4736-4739.
[5] 韓慶瑤,洪草根,朱曉光,等.基于AVR單片機(jī)的多舵機(jī)控制系統(tǒng)設(shè)計(jì)及仿真[J] .計(jì)算機(jī)測(cè)量與控制,2011,19(2):332-334,339.
[6] 吳斌華,黃衛(wèi)華,程磊,等.基于路徑識(shí)別的智能車系統(tǒng)設(shè)計(jì)[J] .電子技術(shù)應(yīng)用,2007(3):80-83.
[7] 胡蓮君,宋 弘.移動(dòng)智能機(jī)器人避障規(guī)劃研究[J] .四川理工學(xué)院學(xué)報(bào):自然科學(xué)版,2008,21(4):87-90.
[8] 臺(tái)秀華.一致性方法的多仿生機(jī)器魚編隊(duì)對(duì)齊行為[J] .黑龍江科技學(xué)院學(xué)報(bào),2012,22(1):79-84.
[9] 潘崢嶸,杜寶強(qiáng),王樹(shù)東,等.基于CPLD的彩色視覺(jué)移動(dòng)機(jī)器人路徑跟蹤系統(tǒng)[J] .計(jì)算機(jī)工程與設(shè)計(jì),2007,28(5):1102-1103.