閆豐雨 李剛 張心怡 盧銘昊
(遼寧工業(yè)大學汽車與交通工程學院)
無人駕駛技術(shù)在減輕駕駛員操縱負擔和提高車輛行駛安全性方面具有重要意義,控制系統(tǒng)是其核心部分,也是開發(fā)難點之一[1]。在傳統(tǒng)開發(fā)中,無人駕駛控制程序設(shè)計與驗證通常要在實際場地或特定場景下進行反復調(diào)試,這種調(diào)試時常受到場地與天氣因素限制,且需要大量可視化數(shù)據(jù),但數(shù)據(jù)采集與存儲并不容易,所以文章提出了一個集程序開發(fā)、仿真驗證和數(shù)據(jù)采集與存儲于一體的控制系統(tǒng)開發(fā)平臺[2]。該系統(tǒng)給工程師提供了一套完整的開發(fā)工具,可以幫助工程師完成程序開發(fā)調(diào)試,并且縮短開發(fā)周期。經(jīng)過驗證,該平臺可以達到預期效果。
模型預測控制致力于將更長時間跨度、甚至于無窮時間的最優(yōu)化控制問題,分解為若干個更短時間跨度,或者有限時間跨度的最優(yōu)化控制問題,并且在一定程度上仍然追求最優(yōu)解[3]。模型預測控制主要由預測模型、在線滾動優(yōu)化和反饋校正3 個要素組成。本控制系統(tǒng)采用基于運動學模型的模型預測控制,模型預測控制原理,如圖1 所示。
圖1 模型預測控制原理圖
其中k、k+1 分別表示當前時刻、下一時刻,橫軸k+m 到k+p 范圍內(nèi)為預測時域。曲線u,yp分別代表系統(tǒng)的輸出和當前狀態(tài),而yp與y 軸和r(·)圍成的面積為系統(tǒng)的累計誤差。
航向跟蹤預估控制算法的基本思想是預測無人駕駛汽車的航向變化趨勢,并將其計入到控制偏差中,這樣航向角的變化就可以影響控制器的輸出,也就是無人駕駛汽車的前輪轉(zhuǎn)角[5]。當無人駕駛汽車開始根據(jù)控制指令進行運轉(zhuǎn)的時候,要經(jīng)過一個采樣周期T,但是此時的無人駕駛汽車的航向已經(jīng)改變,也就是控制指令執(zhí)行的時候已經(jīng)有了一個采樣周期的延時,而且,當采樣周期一定,無人駕駛汽車縱向速度或其他影響因素不同時,航向的變化量也是不同的[6]。
在Simulink 控制模型中將期望航向與實際航向之差作為控制器的輸入量,控制器控制輸出量為無人駕駛汽車的前輪轉(zhuǎn)角,無人駕駛汽車輸出縱向速度、當前航向以及前輪轉(zhuǎn)角,作為控制算法的反饋量,從而形成能夠?qū)崟r反饋的閉環(huán)控制,如圖2 所示。
圖2 航向跟蹤預估控制邏輯圖
無人駕駛汽車智能控制系統(tǒng)平臺的硬件部分主要分為整車控制器和EBS 緊急制動系統(tǒng)。
整車控制器設(shè)計主要運行智能算法,通過CAN 總線通訊、RS485 通訊、RS232 串口通訊以及普通IO 口通訊對整車的執(zhí)行部件進行智能控制。
整車控制器采用意法半導體的STM32F4 系列的芯片STM32F405RGT6,內(nèi)核為ARM Cortex-M4。內(nèi)核處理速度高,車輛信息處理迅速。該芯片不僅內(nèi)核主頻高,而且還具有非常豐富的外設(shè)。例如有bxcan 控制器、nvic 中斷控制器、串口,DMA、SPI、IIC、GPIO 等。針對控制器的要求,會使用的功能主要集中在CAN 通訊,串口通訊及DMA,GPIO 等開關(guān)量控制,如圖3 所示。
圖3 整車控制器示意圖
CAN 通訊、485 通訊和232 通訊等多種通訊方式可以提高控制器的兼容性,方便匹配各種通訊方式的其他控制器來對整車進行控制。485 通訊主要使用AMD2483 芯片將芯片端口電平轉(zhuǎn)換為滿足485 通訊標準的通訊電平。485 通訊電路,如圖4 所示。
圖4 485 通訊單元電路原理圖
2.2.1 邏輯處理單元
邏輯處理單元主要由2 個74 系列或非門芯片對整車的供電狀態(tài)進行監(jiān)控,當發(fā)生故障時,該芯片通過邏輯判斷出故障設(shè)備,并直接通過輸出電平變化來驅(qū)動繼電器控制電磁閥開關(guān),直接觸發(fā)緊急制動機械系統(tǒng)實現(xiàn)停車。電路原理圖,如圖5 所示。
圖5 邏輯處理單元電路原理圖
2.2.2 狀態(tài)鎖存單元
該裝置不僅可以對故障進行判斷處理,而且還可以將故障狀態(tài)鎖存住,只有將整車關(guān)閉后,修復故障,才可以解除安全狀態(tài)。鎖存單元主要由3 個雙路繼電器搭成的鎖存電路實現(xiàn)功能,原理如圖6 所示。
圖6 鎖存單元電路原理圖
2.2.3 自身供電保護單元
如果處于無人駕駛狀態(tài)期間,EBS 自身供電出現(xiàn)故障,將無法監(jiān)測整車的安全狀態(tài),所以一定要對這種危險進行處理。在該裝置上添加了自身供電自檢,并通過電容放電的方式來給EBS 提供足夠的能量實現(xiàn)整車斷電并執(zhí)行緊急停車。
2.2.4 機械氣缸制動驅(qū)動單元
當邏輯單元對故障進行判斷后,會輸出相應(yīng)的錯誤電平控制繼電器電平變化,驅(qū)動電磁閥觸發(fā)氣缸,實現(xiàn)緊急停車。
無人駕駛汽車智能控制系統(tǒng)平臺軟件部分主要使用MATLAB/Simulink 進行設(shè)計,軟件部分主要包括Simulink 自定義模型庫和數(shù)據(jù)處理App,其中包括算法庫WicTeam-algorithm、硬件接口庫 WicTeam-Control-Interface 和模型仿真庫WicTeam-simulation 3 個自定義開發(fā)庫。Simulink 自定義開發(fā)庫,如圖7 所示。
圖7 Simulink 自定義模型庫顯示界面
上述軟件庫主要可以滿足正常無人駕駛程序設(shè)計,使用硬件接口庫完成硬件控制器中的快速原型程序的搭建,并使用STM32-MAT 和STM32cubeMX 聯(lián)合生成嵌入式代碼,然后部署到整車控制器中。這樣可以極大地加快無人駕駛賽車的開發(fā)進度。
用戶可以直接調(diào)用算法庫中的模型,搭配上用戶設(shè)計參數(shù),這樣就可以優(yōu)化控制程序,使程序達到最佳控制效果。
仿真庫主要可以驗證整個程序的運行效果,在場地不滿足調(diào)試需要的情況下,完成試驗仿真調(diào)試,并且可以在實車測試之前對整車程序進行仿真驗證。
除了3 個接口庫,本系統(tǒng)還設(shè)計了1 個數(shù)據(jù)處理App(WicTeam—HT),WicTeam—HT 可以將整車控制器中采集到的試驗數(shù)據(jù)讀取到軟件中,并進行繪圖處理,繪制出的二維曲線可以反映出整車在執(zhí)行無人駕駛?cè)蝿?wù)過程中的參數(shù)變化情況,其曲線如圖8所示。
圖8 WicTeam-HT 界面示意圖
WicTeam_HT 通過控制器USB 端口直接與電腦相連,連接后將控制器數(shù)據(jù)存儲模塊的數(shù)據(jù)導入到電腦中,這些數(shù)據(jù)以.xls 格式存儲在控制器存儲單元中。通過MATLAB 將表格內(nèi)的數(shù)據(jù)讀取到工作空間中,然后使用數(shù)據(jù)處理App 繪制出當前數(shù)據(jù)的曲線圖。
無人駕駛汽車智能算法開發(fā)平臺包括硬件快速原型控制器、軟件算法、接口和仿真庫,并且添加了數(shù)據(jù)可視化展示平臺,整個平臺如圖9 所示。
圖9 無人駕駛汽車智能控制系統(tǒng)開發(fā)平臺
為了驗證文章中的軌跡點生成方法及軌跡跟蹤效果,在MATLAB 中編寫了M 語言,設(shè)定汽車軸距為2.8 m,分別以車速30 km/h、60 km/h 進行了驗證,由于設(shè)定的軌跡長度是一定的,所以30 km/h 形成的軌跡點比60 km/h 形成的軌跡點多一倍。設(shè)定汽車狀態(tài)輸入向量為(x,y,θ),其中 x 為車輛橫向位置,y 為車輛縱向位置,θ 為車輛當前航向角。設(shè)置汽車的初始狀態(tài)為(0,0,60°),向量中以 0.05 s 的軌跡點采樣時間,每2 個采樣點之間車輛模型分10 步運行,軌跡點和前輪轉(zhuǎn)角的仿真結(jié)果,如圖10 和圖11 所示。從圖10 可以看出,實際軌跡點和參考軌跡點的誤差很小,最大偏差為0.19 m。從圖11 可以看出,平滑的前輪轉(zhuǎn)角更符合車輛行駛穩(wěn)定性。
圖10 仿真跟蹤軌跡點
圖11 前輪轉(zhuǎn)角仿真結(jié)果
從圖10 中可以看出,仿真路徑與實車測試路徑很相近,說明整個軟件在設(shè)計程序過程中的效果很理想。
經(jīng)過仿真測試與實車測試之后,需要進行實車道路測試,整車控制器通過CAN 總線接收環(huán)境感知系統(tǒng)處理得到的參考路徑數(shù)據(jù),控制算法程序解算出所需要的目標控制量,并發(fā)送給實車上的執(zhí)行部件實現(xiàn)無人駕駛控制的實時性、響應(yīng)性和精確性,如圖12 所示。采用現(xiàn)有的MPC 控制算法模型對汽車的轉(zhuǎn)向系統(tǒng)進行控制,從圖12 可以看出,感知系統(tǒng)規(guī)劃好路徑之后,無人駕駛汽車能夠穩(wěn)定地跟蹤參考路徑行駛。
圖12 實車道路測試示意圖
本無人駕駛智能控制系統(tǒng)平臺進行了無人駕駛領(lǐng)域主流的控制算法的研究,開發(fā)了控制算法仿真環(huán)境,配置了可生成代碼的框架,使得使用者能夠根據(jù)自己的需求生成目標代碼,并與控制器底層接口代碼進行集成。自行設(shè)計完成控制器硬件電路板,通過仿真分析和試驗驗證的手段,驗證了所設(shè)計的無人駕駛汽車智能控制系統(tǒng)平臺能夠滿足使用者的開發(fā)需求,并且控制算法能夠安全穩(wěn)定地在控制器里運行。平臺同時具有一定的可擴展性,使用者可以根據(jù)需求進行二次開發(fā)。無人駕駛汽車智能控制系統(tǒng)平臺對新型智能電動汽車的發(fā)展具有重要的參考價值,無人駕駛汽車控制方式是當今及未來無人駕駛汽車控制的發(fā)展方向,為無人駕駛汽車控制算法的開發(fā)和驗證,提供了可靠的仿真驗證平臺,并且縮短了開發(fā)周期,對未來無人駕駛汽車的發(fā)展具有一定的指導意義。