熊光明,康子怡,龔建偉,陳慧巖
(北京理工大學 機械與車輛學院,北京 100081)
近年來,隨著全球人工智能技術的提高,智能車輛技術得到了迅猛發展[1]。全國相關高校、研究所、汽車企業,以及IT業,已經圍繞“中國制造2025”提出的智能網聯汽車發展目標進行布局,開展研發攻關。
高等院校承擔著人才培養的重任[2-3]。通過實驗展開教學是有效的教學手段,不僅有利于學生對課堂知識的掌握,也符合研究生的教學方式,即不局限于課本的理論知識,而是能將其應用,拓展到更多方面[4-7]。
本文通過開發出構成智能車輛系統的“機械—傳感—規劃—控制—執行”等方面的有機聯系過程的動態多媒體課程軟件,加深學生對于智能車工作原理的理解;建立了智能移動教學平臺,直觀、方便地展示智能車輛,使得學生通過親自建立智能車輛模型、搭建仿真環境、設計底層電控系統等來控制智能車輛,讓每一名同學都有機會參加智能車項目的研究工作,進一步提高對理論知識的認知。將仿真平臺與實車自動駕駛系統相結合的智能移動教學平臺的使用,在增強了學生對于智能車輛認知的同時,也提高了學生的創新能力和動手操作能力[8-11]。
智能移動教學平臺是集仿真與實物一體的教學平臺。由于該平臺的使用環境為教室等室內環境,空間較小,因此該款智能移動教學平臺的硬件是由真實阿克曼轉向的微型電動輪式車輛改造而來的。以該微型輪式車輛為對象建立仿真模型,仿真平臺部分使用Solidworks對車輛的主要機構和車體進行了三維建模,然后將三維模型導入V-rep搭建了仿真車輛控制模型,并在V-rep中構建了雙移線,定曲率圓弧,直線和連續曲率圓弧組成的道路環境。使用ROS的節點話題通信機制,搭建了ROS/V-rep聯合仿真平臺,用以驗證純跟蹤算法、Stanley算法、Follow the Carrot算法,并比較算法的性能。
搭建車輛模型的目的是建立車輛自身和外界環境之間的約束關系,能夠描述車輛的運動以及狀態,車輛幾何學模型如圖1所示。本文的教學移動平臺采用的轉向機構為阿克曼轉向,其主要特點是為了減少車輛在轉彎時的滑動,轉彎時4個輪的轉向中心位于同一個轉向中心點,該點位于后軸的延長線上,這也意味著轉彎過程中,4個輪都在做純滾動運動。

圖1 車輛轉向幾何學模型
圖中:δ1,δ2分別為左前輪和右前輪的轉向角;L為軸距;2b為輪距。阿克曼轉向可以簡化為一個自行車模型,δ為簡化模型的轉向角,R為轉彎半徑。由此可以得到轉向角的公式為:
(1)
R1=R-b,R2=R+b
(2)
(3)
(4)
利用自行車模型的轉向角對左右前輪的轉向角分別進行了表示,這樣的表示對于在之后V-rep中車輛模型的建模是更加精確的。因為V-rep中的轉向的實現是利用關節對左右前輪的轉向角分別進行控制。
車輛運動學模型在笛卡爾坐標系下描述了車輛的位移、速度、航向角、橫擺角速度之間的關系,分析建立在運動學的基礎上如圖2所示。前后輪法線上速度和為0,即
(5)
圖2 車輛運動學模型
圖中:(xf,yf)是前輪在全局坐標系下的坐標;(xr,yr)是后輪在全局坐標系下的坐標;θ是車輛在全局坐標系下的航向角;δ是車輛坐標系下的轉向角。
前后輪幾何關系:
(6)
對t求導,
(7)
(8)
可得:
θ′=vtanδ/L
(9)
車輛在全局坐標系下的狀態(x,y,θ)能夠用車輛的速度和轉向角表示,車輛的速度和轉向角是系統的控制量,

(10)
由式(10)能夠估計不同時刻車輛的狀態,在已知車輛速度和轉向角的前提下,能夠根據此模型得到車輛的實時位置和航向,作為車輛實時定位的參考。
控制系統的作用是根據決策規劃系統的期望路徑,利用路徑跟蹤算法計算各控制量,控制各執行機構完成動作。在保證行駛過程中的安全和乘客乘車舒適,一定的速度下實現對期望路徑的準確和平穩的跟蹤。實際車輛中主要分為縱向控制和橫向控制。
以橫向控制為例,介紹3種路徑跟蹤算法[12-14],并對結果進行了比較。使用的3種算法分別為純跟蹤算法、Follow the Carrot算法和Stanley算法。其中,純跟蹤算法是預瞄理論在自動駕駛路徑跟蹤領域的應用,利用了預瞄點,具體策略結合了車輛轉向過程中的幾何特性,將車輛的當前位置和預瞄點通過圓弧連接起來,利用車輛的幾何學模型推導期望的轉向角。Follow the Carrot算法是利用車輛的目標點,求當前車輛的位置點和預瞄點連線與車輛當前航向之間的夾角。通過將預瞄點坐標變換到車輛局部坐標系下,根據反正弦值求得該夾角,將該夾角作為車輛的期望轉向角。其本質是將距離偏差通過預瞄點轉化為角度值來消除。Stanley算法控制器是一個非線性PD控制器,能夠以指數級的速度收斂。其本質還是將航向偏差和距離偏差分別消除。航向誤差由車輛航向和當前路徑點方向角的誤差來消除;橫向距離偏差由關于橫向距離和速度的非線性反饋函數來消除。
使用SolidWorks三維建模軟件對選定的某款微型電動輪式車輛進行三維建模,并導入V-rep[15]。利用V-rep主要完成以下任務:① 仿真環境搭建,包括車輛模型和道路模型。② 控制體創建和腳本添加,創建控制體添加動力學約束,用Lua語言編寫嵌入式控制腳本。③ 和ROS節點通信。④ 仿真運行,結果可視化。
創建的仿真平臺如圖3所示。

圖3 V-rep仿真平臺
控制算法在仿真軟件外部運行,因此需要建立V-rep和外部算法的通信機制,將車輛的實時位置信息、算法的控制量發布和通信。選擇機器人操作系統(Robot Operating System,ROS)作為外部的代碼運行平臺和V-rep通信。
ROS是一個分布式機器人操作系統,提供和操作系統近似的功能,主要有硬件驅動程序管理,程序之間的消息傳遞,相關文件的存儲管理。在ROS中主要完成以下工作:① 完成代碼的編譯,運行和管理工作;② 建立基于節點、話題的通信機制;③ 和V-rep通信。
針對該微型電動輪式車輛,一方面創建了仿真開發平臺;另一方面同步開發了實車自動駕駛系統。開發過程主要有底層電控系統設計與開發,包括電路板設計、制作,電控程序的編寫、調試;基于激光雷達功能開發與程序編寫;規劃控制算法開發與程序編寫。部分開發過程如圖4所示。


圖4 開發過程
開發的實車自動駕駛系統總體框架如圖5所示。

圖5 總體框架圖
自動駕駛系統搭載的筆記本電腦運行在Linux操作系統下,采用ROS統籌管理整個自動駕駛車的狀態和控制。主控板讀取RM陀螺儀、MPU6050和編碼器數據,通過串口上傳到筆記本電腦中。筆記本電腦通過USB接口讀取激光雷達的點云數據,結合主控板上傳的數據進行障礙物分析和導航路徑規劃,通過串口發出控制指令給主控板,主控板通過CAN總線控制電機的運轉來執行相應的功能。遙控器能夠切換自動駕駛和遙控駕駛兩種駕駛模式,以便自動駕駛模式出現故障時,及時關停自動駕駛模式。
智能車輛的開發設計常常采用V循環研發理念,V循環研發過程分為仿真設計、實驗驗證以及場景再現3個階段[16]。
本文開發的智能車輛移動教學平臺在2018年研究生課程教學中得到了應用。學生可以通過自己動手操作做到對相關參數的修改和仿真設計,得到實驗數據。通過仿真后,把算法直接用到實車上,這也是對V循環開發方法的一種驗證。
例如,運用仿真平臺學生可以比較不同控制算法在不同期望軌跡下的表現。圖6、7分別為雙移線、直線道路期望路徑下,純跟蹤算法、Follow the Carrot算法、Stanley算法的仿真結果。通過仿真,學生可以對各種控制算法的效果有更加直觀的了解,通過修改參數可以直接看到同一控制算法參數的選取帶來不同的影響,從而加深對參數的理解。


圖6 雙移線道路期望路徑



圖7 直線道路期望路徑
在實際教學中,學生可以通過對同一對象,先用仿真測試算法,在算法被理解且可用的前提下,可以直接在課堂上進行實車實踐。使學生對課堂上講授的理論知識點加深掌握,達到了先理論再實踐,仿真與實車相結合的效果。
由仿真平臺與真實智能車組合成的智能移動教學平臺是一種創新而有效的教學手段,使得學生能夠從硬件和軟件兩方面深入了解智能車輛的相關內容。同時,完成了從仿真模擬到軟硬件設計再到實車測試,試驗數據處理這一個完整的閉環。對于提高學生的創新能力,動手操作能力以及對智能車輛技術的了解有著極大的促進作用。