智能車的誕生為人類提供了一種全新的緩解城市交通擁堵、提高車輛安全性的交通工具。在眾多的智能車導航方案中,視覺導航由于與人類的駕駛方式最為接近,成為智能車研究熱點之一。目前,視覺導航方法在高速公路環境中已經獲得了初步成功,這類環境結構化程度較高,道路曲率有限、路況相對簡單。然而,隨著城市環境智能車研究的興起,視覺導航面臨了新的挑戰。城市環境中的道路不僅種類多,而且轉彎半徑大,常常會因視野有限而導致道路跟蹤失敗。本文將從該智能車總體方案、路徑識別方案選擇、轉向和驅動控制及路徑記憶算法等方面進行介紹。
智能車總體方案
智能車系統以飛思卡爾公司的MC68S912DP256為核心,由電源模塊、傳感器模塊、直流電機驅動模塊、轉向電機控制模塊、控制參數選擇模塊、單片機 模塊等組成,如圖1所示。智能車系統工作電壓由+1.6V、+5V、7.2V三個系統混合組成,其中7.2V用于給驅動電機和轉向舵機供電,5V給車速傳 感器、MCU以及光電傳感器接收管供電,1.6V給發光管供電。為了在線控制參數的調整方便,還設置了一個控制參數選擇模塊,可以通過幾個按鍵的設置,調 用不同的程序或控制參數,以適應不同場地條件的要求。
圖1 智能車總體結構
智能車的工作模式是:光電傳感器探測賽道信息,轉速傳感器檢測當前車速,電池電壓監測電路檢測電池電壓,并將這些信息輸入單片機進行處理。通過控制算法對賽車發出控制命令,通過轉向舵機和驅動電機對賽車的運動軌跡和速度進行實時控制。
路徑識別方案選擇與電路設計
路徑識別方案是首先需要確定的,主要有以下幾個問題。
*光電識別還是攝像頭識別;
*傳感器如何排列?間隔多大、形狀如何、單排還是雙排;
*傳感器可向前探測的遠度;
*電路上如何實現。
由于光電識別方案簡單可靠,因此本文采用了光電識別方案。
數字式光電識別與模擬式光電識別
光電式傳感器是以光電器件作為轉換元件的傳感器。它可用于檢測直接引起光量變化的非電量,如光強、光照度、輻射測溫、氣體成分分析等;也可用來檢測能轉換成光量變化的其他非電量,如零件直徑、表面粗糙度、應變、位移、振動、速度、加速度,以及物體的形狀、工作狀態的識別等。光電式傳感器具有非接觸、響應快、性能可靠等特點,因此在工業自動化裝置和機器人中獲得廣泛應用。近年來,新的光電器件不斷涌現,特別是CCD圖像傳感器的誕生,為光電傳感器的進一步應用開創了新的一頁。
模擬式光電傳感器從理論上可以大大提高路徑探測精度。模擬式光電傳感器的發光和接收都是錐角一定的圓錐形空間,其電壓大小與傳感器距離黑色路徑標記線的水 平距離有定量關系:離黑線越近,電壓越低,離黑線越遠,則電壓越高(具體的對應關系與光電管型號以及離地高度有關),如圖2所示。
圖2 傳感器電壓與偏移距離關系示意圖
因此,只要掌握了傳感器電壓-偏移距離特性關系,就可以根據傳感器電壓大小確定各傳感器與黑色標記線的距離(而不是僅僅粗略判斷該傳感器是否在線上),進而獲得車身縱軸線相對路徑標記線的位置,得到連續分布的路徑信息。
根據實車試驗,可以將路徑探測的精度提高到1mm.這樣傳感器采集的信息就能保證了單片機可以獲得精確的賽道信息,從而為提高賽車的精確控制提供了保證。
雙排排列與前瞻設計
本文開發了智能車性能仿真平臺[2],對傳感器的布局進行了深入研究[3]。由于轉向舵機、電機和車都是高階慣性延遲環節,從輸入到輸出需要一定的時間, 越早知道前方道路的信息,就越能減小從輸入到輸出的滯后。檢測車前方一定距離的賽道就叫前瞻,在一定的前瞻范圍內,前瞻越大的傳感器方案,其極限速度就會 越高,其高速行駛過程中對引導線的跟隨精度也相對較高,系統的整體響應性能較好。因此路徑識別模塊設計成抬起與地面形成一個夾角,前排傳感器用于前瞻,后 排傳感器對賽道始點進行識別、計算車身縱軸線與賽道中心線的偏差斜率,以利于更好地調整車輛的姿態。
為了保證在離地間隙盡可能大的情況下光電傳感器仍然有足夠大的發光強度,本文采用了大電流脈沖觸發發光的控制方式。
根據實驗測試,發光管在發光時,經過的電流約為0.5A.如果用15個傳感器,則瞬時電流為7.5A.這樣大的電流肯定會對電池電壓造成一定的 沖擊,不利于整個系統的正常運行。因此將前后排傳感器的發光時間錯開,通過兩套觸發電路來控制發光。這樣就有效減小了紅外發光管發光時對電池電壓的沖擊。
轉向和驅動控制與路徑記憶算法
驅動電機控制
本文在電機輸出軸上加一齒盤,電機輸出軸的轉動帶動齒盤的轉動。將對射光偶發光和接受管放在碼盤兩側。碼盤轉動時,由于碼盤上的齒經過發光管發出的光線時,會阻礙光線傳播。所以接收管兩端的電阻會有很大的變化,這樣,在電路中采樣電阻兩端的電壓就會有很大的變化。
用處理器上的脈沖捕捉端口采集電壓脈沖單位時間內的個數,就會獲得電機轉速,從而獲得車速。
電機驅動采用的是飛思卡爾公司的MC33886.所不同的是本文采用了三片MC33886 并聯,一方面可以減小導通電阻,提高電機驅動能力,并且MC33886的發熱情況也有了很大的好轉;另一方面減小MC33886 內部的過流保護電路對電機啟動及制動時的影響。
電機采用PID閉環控制,可以根據不同負載狀況及時調整PWM的占空比,使車輛迅速地跟蹤目標速度。
為了盡量提高車速,采用在直道上設定最高目標車速,定速控制,接近彎道處開始降速,正式轉入彎道時,將車速調整到過彎極限車速,將要出彎道時提前加速。
轉向控制
根據目前采用的雙排模擬式光電傳感器布局,可以得到車身縱軸線距離賽道中心線的偏移量,還可以得到中心線相對于車身縱軸線的斜率,從而得知當前狀態下車身的姿態,進而進行轉向控制。
這里設定根據前排傳感器信號得到的轉角為θ1,根據前后排傳感器信號得到的縱軸線斜率信息而得到的轉角為θ2,最終的轉向角度的確定公式為:
θ=k1θ1+k2θ2
采用這樣的控制策略,可以實現對車實際姿態的加權控制,大大提高過彎速度,減少由于探測精度問題帶來的決策累積誤差。另外,大前瞻與雙排的雙重組合,達到了對正常彎道提前轉彎,對于S彎道遲滯轉向的特性。
為了使舵機更好地對給定的轉角值做出響應,采用了PID調節,通過道路試驗進行參數整定,使得車輛在高速時保持了很高的穩定性。
路徑記憶算法
由于比賽規則要求車輛在跑道上行駛兩圈,因此車輛第一圈時通過記錄轉速傳感器采集到的脈沖數、轉向舵機的轉角等信息,來判斷區分直道、彎道、S 彎道以及轉彎的方向與轉彎半徑等等信息。根據第一圈記錄的數據信息,可以對第二圈的各個道路點進行分段處理。直道上采用最高速加速,在進入彎道之前提前進 行減速,減至過彎的極限最高車速,對于不同半徑的彎道,選擇不同的車速。路徑記憶算法的優勢在于對于復雜的S彎道,可以實現類似CCD探測頭達到的效果, 選用小的轉向角度通過,這樣可以大大縮短時間。具體算法請見[4]。
經驗及結論
本文的智能車開發工作經過6輪開發迭代,從最初的小前瞻單排數字式傳感器,發展成脈沖發光、大前瞻、雙排排列、模擬式傳感器方案;控制策略從單純的PID控制升級到路徑記憶控制,使得車輛的導航性能有了很大提高。通過智能車開發過程,得出一些經驗。
*開發之初需要對光電傳感器特性、轉向舵機特性、驅動電機特性、車輛機械性能、轉向側滑特性、電池特性等進行實際的檢測。
*根據汽車理論對車輛進行規則容許范圍之內的結構調整,使之達到較佳的機械性能。
*組委會開發了仿真平臺,應該充分利用該仿真工具對基于光電傳感器的路徑識別方案進行研究,結合硬件的選型和自身在控制及電子方面的經驗,確定路徑識別方案。前瞻距離較遠的方案有助于提高車輛的通過速度。
*車輛的控制采用PID即可滿足要求,參數的整定需要結合道路試驗進行。車速的加快和減慢不要太劇烈,平穩的控制也可以取得很好的效果。
評論
查看更多