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