基于光電傳感和路徑記憶的車輛導(dǎo)航系統(tǒng)*
摘要: 本文按照第一屆“飛思卡爾”杯全國大學(xué)生智能汽車邀請賽的技術(shù)要求,研制了基于雙排排列、模擬式光電傳感器、具有前瞻性能的無人車輛導(dǎo)航系統(tǒng),提出了基于路徑記憶的轉(zhuǎn)向和驅(qū)動控制算法,總結(jié)了智能車設(shè)計(jì)制作的經(jīng)驗(yàn)。
關(guān)鍵詞: 無人車;導(dǎo)航;光電傳感;路徑記憶
引言
為響應(yīng)教育部關(guān)于加強(qiáng)大學(xué)生創(chuàng)新意識、合作精神和創(chuàng)新能力的培養(yǎng)的號召,清華大學(xué)汽車工程系積極組隊(duì)參加了第一屆“飛思卡爾”杯全國大學(xué)生智能汽車邀請賽。從2005年12月開始著手進(jìn)行準(zhǔn)備,歷時8個月,研制了6代基于光電傳感器的路徑識別方案,開發(fā)了智能車仿真研究平臺,提出了基于路徑記憶算法的轉(zhuǎn)向及驅(qū)動控制策略,在電源管理、噪聲抑制、驅(qū)動優(yōu)化等方面也都進(jìn)行了研究工作,通過大量的仿真試驗(yàn)、道路試驗(yàn)和基礎(chǔ)性能測試,開發(fā)了基于光電傳感和路徑記憶的智能車導(dǎo)航系統(tǒng),為整車系統(tǒng)的優(yōu)良性能奠定了堅(jiān)實(shí)基礎(chǔ)。本文將從該智能車總體方案、路徑識別方案選擇、轉(zhuǎn)向和驅(qū)動控制及路徑記憶算法等方面進(jìn)行介紹。
智能車總體方案
智能車系統(tǒng)以飛思卡爾公司的MC68S912DP256為核心,由電源模塊、傳感器模塊、直流電機(jī)驅(qū)動模塊、轉(zhuǎn)向電機(jī)控制模塊、控制參數(shù)選擇模塊、單片機(jī)模塊等組成,如圖1所示。智能車系統(tǒng)工作電壓由+1.6V、+5V、7.2V三個系統(tǒng)混合組成,其中7.2V用于給驅(qū)動電機(jī)和轉(zhuǎn)向舵機(jī)供電,5V給車速傳感器、MCU以及光電傳感器接收管供電,1.6V給發(fā)光管供電。為了在線控制參數(shù)的調(diào)整方便,還設(shè)置了一個控制參數(shù)選擇模塊,可以通過幾個按鍵的設(shè)置,調(diào)用不同的程序或控制參數(shù),以適應(yīng)不同場地條件的要求。
圖1 智能車總體結(jié)構(gòu)
智能車的工作模式是:光電傳感器探測賽道信息,轉(zhuǎn)速傳感器檢測當(dāng)前車速,電池電壓監(jiān)測電路檢測電池電壓,并將這些信息輸入單片機(jī)進(jìn)行處理。通過控制算法對賽車發(fā)出控制命令,通過轉(zhuǎn)向舵機(jī)和驅(qū)動電機(jī)對賽車的運(yùn)動軌跡和速度進(jìn)行實(shí)時控制。
想要取得智能車比賽的好成績,模型車底盤參數(shù)優(yōu)化和硬件設(shè)備的可靠性是非常重要的。其中,前輪定位參數(shù)優(yōu)化、轉(zhuǎn)向舵機(jī)力臂增大和底盤重心位置調(diào)整對于車模的機(jī)械性能有著較大的影響。底盤參數(shù)的優(yōu)化參見[1],本文不贅述。
路徑識別方案選擇與電路設(shè)計(jì)
路徑識別方案是首先需要確定的,主要有以下幾個問題。
*光電識別還是攝像頭識別;
*傳感器如何排列?間隔多大、形狀如何、單排還是雙排;
*傳感器可向前探測的遠(yuǎn)度;
*傳感器信號采用數(shù)字式還是模擬式;
*電路上如何實(shí)現(xiàn)。
由于光電識別方案簡單可靠,因此本文采用了光電識別方案。
數(shù)字式光電識別與模擬式光電識別
比賽組委會要求傳感器個數(shù)最多為16個,除掉1個轉(zhuǎn)速傳感器,可用于探測路徑的傳感器為15個,而傳感器允許布置的總寬度為25cm,如果采用數(shù)字式光電傳感器均勻分布,對道路的探測精度只能達(dá)到17mm左右,這樣賽車在前進(jìn)過程中很難達(dá)到很高的控制精度和響應(yīng)速度。從本質(zhì)上講,數(shù)字式光電傳感器的劣勢就在于它丟掉了路徑探測中的大量信息。
模擬式光電傳感器從理論上可以大大提高路徑探測精度。模擬式光電傳感器的發(fā)光和接收都是錐角一定的圓錐形空間,其電壓大小與傳感器距離黑色路徑標(biāo)記線的水平距離有定量關(guān)系:離黑線越近,電壓越低,離黑線越遠(yuǎn),則電壓越高(具體的對應(yīng)關(guān)系與光電管型號以及離地高度有關(guān)),如圖2所示。
圖2 傳感器電壓與偏移距離關(guān)系示意圖
因此,只要掌握了傳感器電壓—偏移距離特性關(guān)系,就可以根據(jù)傳感器電壓大小確定各傳感器與黑色標(biāo)記線的距離(而不是僅僅粗略判斷該傳感器是否在線上),進(jìn)而獲得車身縱軸線相對路徑標(biāo)記線的位置,得到連續(xù)分布的路徑信息。
根據(jù)實(shí)車試驗(yàn),可以將路徑探測的精度提高到1mm。這樣傳感器采集的信息就能保證了單片機(jī)可以獲得精確的賽道信息,從而為提高賽車的精確控制提供了保證。
雙排排列與前瞻設(shè)計(jì)
本文開發(fā)了智能車性能仿真平臺[2],對傳感器的布局進(jìn)行了深入研究[3]。由于轉(zhuǎn)向舵機(jī)、電機(jī)和車都是高階慣性延遲環(huán)節(jié),從輸入到輸出需要一定的時間,越早知道前方道路的信息,就越能減小從輸入到輸出的滯后。檢測車前方一定距離的賽道就叫前瞻,在一定的前瞻范圍內(nèi),前瞻越大的傳感器方案,其極限速度就會越高,其高速行駛過程中對引導(dǎo)線的跟隨精度也相對較高,系統(tǒng)的整體響應(yīng)性能較好。因此路徑識別模塊設(shè)計(jì)成抬起與地面形成一個夾角,前排傳感器用于前瞻,后排傳感器對賽道始點(diǎn)進(jìn)行識別、計(jì)算車身縱軸線與賽道中心線的偏差斜率,以利于更好地調(diào)整車輛的姿態(tài)。
為了保證在離地間隙盡可能大的情況下光電傳感器仍然有足夠大的發(fā)光強(qiáng)度,本文采用了大電流脈沖觸發(fā)發(fā)光的控制方式。
根據(jù)實(shí)驗(yàn)測試,發(fā)光管在發(fā)光時,經(jīng)過的電流約為0.5A。如果用15個傳感器,則瞬時電流為7.5A。這樣大的電流肯定會對電池電壓造成一定的沖擊,不利于整個系統(tǒng)的正常運(yùn)行。因此將前后排傳感器的發(fā)光時間錯開,通過兩套觸發(fā)電路來控制發(fā)光。這樣就有效減小了紅外發(fā)光管發(fā)光時對電池電壓的沖擊。
轉(zhuǎn)向和驅(qū)動控制與路徑記憶算法
驅(qū)動電機(jī)控制
本文在電機(jī)輸出軸上加一齒盤,電機(jī)輸出軸的轉(zhuǎn)動帶動齒盤的轉(zhuǎn)動。將對射光偶發(fā)光和接受管放在碼盤兩側(cè)。碼盤轉(zhuǎn)動時,由于碼盤上的齒經(jīng)過發(fā)光管發(fā)出的光線時,會阻礙光線傳播。所以接收管兩端的電阻會有很大的變化,這樣,在電路中采樣電阻兩端的電壓就會有很大的變化。用處理器上的脈沖捕捉端口采集電壓脈沖單位時間內(nèi)的個數(shù),就會獲得電機(jī)轉(zhuǎn)速,從而獲得車速。
電機(jī)驅(qū)動采用的是飛思卡爾公司的MC33886。所不同的是本文采用了三片MC33886 并聯(lián),一方面可以減小導(dǎo)通電阻,提高電機(jī)驅(qū)動能力,并且MC33886的發(fā)熱情況也有了很大的好轉(zhuǎn);另一方面減小MC33886 內(nèi)部的過流保護(hù)電路對電機(jī)啟動及制動時的影響。
電機(jī)采用PID閉環(huán)控制,可以根據(jù)不同負(fù)載狀況及時調(diào)整PWM的占空比,使車輛迅速地跟蹤目標(biāo)速度。
為了盡量提高車速,采用在直道上設(shè)定最高目標(biāo)車速,定速控制,接近彎道處開始降速,正式轉(zhuǎn)入彎道時,將車速調(diào)整到過彎極限車速,將要出彎道時提前加速。
轉(zhuǎn)向控制
根據(jù)目前采用的雙排模擬式光電傳感器布局,可以得到車身縱軸線距離賽道中心線的偏移量,還可以得到中心線相對于車身縱軸線的斜率,從而得知當(dāng)前狀態(tài)下車身的姿態(tài),進(jìn)而進(jìn)行轉(zhuǎn)向控制。
這里設(shè)定根據(jù)前排傳感器信號得到的轉(zhuǎn)角為θ1,根據(jù)前后排傳感器信號得到的縱軸線斜率信息而得到的轉(zhuǎn)角為θ2,最終的轉(zhuǎn)向角度的確定公式為:
θ=k1θ1+k2θ2
采用這樣的控制策略,可以實(shí)現(xiàn)對車實(shí)際姿態(tài)的加權(quán)控制,大大提高過彎速度,減少由于探測精度問題帶來的決策累積誤差。另外,大前瞻與雙排的雙重組合,達(dá)到了對正常彎道提前轉(zhuǎn)彎,對于S彎道遲滯轉(zhuǎn)向的特性。
為了使舵機(jī)更好地對給定的轉(zhuǎn)角值做出響應(yīng),采用了PID調(diào)節(jié),通過道路試驗(yàn)進(jìn)行參數(shù)整定,使得車輛在高速時保持了很高的穩(wěn)定性。
路徑記憶算法
由于比賽規(guī)則要求車輛在跑道上行駛兩圈,因此車輛第一圈時通過記錄轉(zhuǎn)速傳感器采集到的脈沖數(shù)、轉(zhuǎn)向舵機(jī)的轉(zhuǎn)角等信息,來判斷區(qū)分直道、彎道、S彎道以及轉(zhuǎn)彎的方向與轉(zhuǎn)彎半徑等等信息。根據(jù)第一圈記錄的數(shù)據(jù)信息,可以對第二圈的各個道路點(diǎn)進(jìn)行分段處理。直道上采用最高速加速,在進(jìn)入彎道之前提前進(jìn)行減速,減至過彎的極限最高車速,對于不同半徑的彎道,選擇不同的車速。路徑記憶算法的優(yōu)勢在于對于復(fù)雜的S彎道,可以實(shí)現(xiàn)類似CCD探測頭達(dá)到的效果,選用小的轉(zhuǎn)向角度通過,這樣可以大大縮短時間。具體算法請見[4]。
經(jīng)驗(yàn)及結(jié)論
本文的智能車開發(fā)工作經(jīng)過6輪開發(fā)迭代,從最初的小前瞻單排數(shù)字式傳感器,發(fā)展成脈沖發(fā)光、大前瞻、雙排排列、模擬式傳感器方案;控制策略從單純的PID控制升級到路徑記憶控制,使得車輛的導(dǎo)航性能有了很大提高。通過智能車開發(fā)過程,得出一些經(jīng)驗(yàn)。
*開發(fā)之初需要對光電傳感器特性、轉(zhuǎn)向舵機(jī)特性、驅(qū)動電機(jī)特性、車輛機(jī)械性能、轉(zhuǎn)向側(cè)滑特性、電池特性等進(jìn)行實(shí)際的檢測。
*根據(jù)汽車?yán)碚搶囕v進(jìn)行規(guī)則容許范圍之內(nèi)的結(jié)構(gòu)調(diào)整,使之達(dá)到較佳的機(jī)械性能。
*組委會開發(fā)了仿真平臺,應(yīng)該充分利用該仿真工具對基于光電傳感器的路徑識別方案進(jìn)行研究,結(jié)合硬件的選型和自身在控制及電子方面的經(jīng)驗(yàn),確定路徑識別方案。前瞻距離較遠(yuǎn)的方案有助于提高車輛的通過速度。
*車輛的控制采用PID即可滿足要求,參數(shù)的整定需要結(jié)合道路試驗(yàn)進(jìn)行。車速的加快和減慢不要太劇烈,平穩(wěn)的控制也可以取得很好的效果。過大的加速度會導(dǎo)致電機(jī)和驅(qū)動芯片的過熱以致驅(qū)動性能下降。
本文介紹了第一屆大學(xué)生智能車比賽冠軍車的總體方案、路徑識別方案選擇、轉(zhuǎn)向和驅(qū)動控制及路徑記憶算法等內(nèi)容。由于采用大前瞻光電傳感器,需要較大的電流,使得電池電能的消耗較大,跑道距離較長時,車輛電池電量下降較快,使得車輛競速性能下降。路徑記憶算法的模糊尋跡算法也有待改進(jìn)。而攝像頭路徑識別方案既可以實(shí)現(xiàn)大的前瞻,電能消耗又較低,這些是今后努力的方向。
參考文獻(xiàn):
1. 陳宋、李立國、黃開勝,‘智能模型車底盤淺析’,電子產(chǎn)品世界, 2006(11):150-153
2. 周斌、蔣荻南、黃開勝,‘基于虛擬儀器技術(shù)的智能車仿真系統(tǒng)’,電子產(chǎn)品世界, 2006(3) :132-134
3. 周斌、李立國、黃開勝,‘智能車光電傳感器布局對路徑識別的影響研究’,電子產(chǎn)品世界, 2006(9):139-140
4. 周斌、劉旺、林辛凡等,‘智能車賽道記憶算法的研究’,電子產(chǎn)品世界, 2006(15):160-166
5. 黃開勝、金華民、蔣荻南,‘韓國智能模型車技術(shù)方案分析’,電子產(chǎn)品世界, 2006(5):150-152
評論