NI LabVIEW圖形化開發(fā)環(huán)境與NI硬件平臺,開發(fā)無人駕駛賽車
挑戰(zhàn):為DARPA挑戰(zhàn)賽開發(fā)一輛參賽智能車,可自動穿越郊區(qū)環(huán)境。
方案:使用NI LabVIEW圖形化開發(fā)環(huán)境與NI硬件平臺對智能車進行快速開發(fā)、測試以及原型,從而贏得挑戰(zhàn)賽。
DARPA城市挑戰(zhàn)賽要求路上車輛在城市環(huán)境中無人駕駛行駛。在整個賽程中,全自主的無人車要在不到6小時中行駛60英里,并在道路、十字路口、停車場等交通環(huán)境里行駛。比賽開始時,一份任務文檔規(guī)定了比賽道路中的檢查站,參賽車輛必須按規(guī)定駛過。
為了盡快到達檢查站,賽車通過對限速、可能的道路阻塞、交通狀況等因素的考慮,選擇合適的行駛路線。賽車在行駛中還必須遵守交通規(guī)則,與有人駕駛車輛及其它無人車輛間的正確交互。賽車需在規(guī)定車道內(nèi)行駛,對其它車輛的車速或超車做出安全的反應。此外,在十字路口必須依照路權規(guī)則安全行駛,規(guī)避靜態(tài)或動態(tài)的障礙物,時速達到30 mph。
我們的Victor Tango車隊僅有12個月用于賽車開發(fā),且必須滿足前所未有的挑戰(zhàn)。我們將設計分為四個主要部分:基礎平臺、感知、規(guī)劃、及通信。
每部分都充分利用了美國國家儀器公司軟硬件的優(yōu)勢。NI硬件有助于連接車輛已有系統(tǒng),為操作人員提供界面。我們采用LabVIEW 圖形化編程環(huán)境來開發(fā)軟件,包括通信構架、傳感器處理和目標識別算法、激光測距儀和基于視覺的路況探測、高級駕駛行為、及底層車輛接口。
基礎平臺
Odin是由福特2005年的Escape Hybrid改裝的無人駕駛車輛。通過NI CompactRIO系統(tǒng)與Escape的系統(tǒng)連接,實現(xiàn)對節(jié)流閥、轉(zhuǎn)向裝置、變速、及剎車的線傳控制。車隊采用LabVIEW及LabVIEW控制設計及仿真模塊開發(fā)道路曲率及速度控制系統(tǒng),通過LabVIEW Real-TIme及LabVIEW FPGA模塊發(fā)布到CompactRIO系統(tǒng),創(chuàng)建獨立的車輛平臺。我們還采用LabVIEW 觸摸板模塊為NI TPC-2006觸摸板計算機開發(fā)用戶界面,并安裝于車輛儀表盤上。
感知
為滿足賽車在城市挑戰(zhàn)賽中的行為需求,Odin必須能夠自行定位,探測路況周邊環(huán)境及正確車道,感知道路上的所有障礙,并能正確的將障礙識別為汽車。因此,Odin上安裝了許多傳感器,包括在緩沖器平面上安裝的三臺IBEO四面激光測距儀(LRFs),在車頂架上安裝的四臺SICK LRF和兩個計算機視覺攝像頭,以及Novatel高精度GPS/IMU系統(tǒng)。
針對每種感知需求,設計中都采用了多個傳感器,以確保最大的真實性及可靠性。為實現(xiàn)靈活的傳感器組合,規(guī)劃軟件忽略了原始傳感器數(shù)據(jù),采用特定任務組件生成的獨立傳感器感知信息集。定位組件包括LabVIEW Kalman濾波器,用于跟蹤賽車的位置及方向。道路探測組件采用NI視覺開發(fā)模塊,通過攝像頭及LRF數(shù)據(jù)的組合,確定臨近路段的路況環(huán)境及車道位置。目標分類組件采用LabVIEW來處理IBEO數(shù)據(jù),探測障礙并將其分類為靜態(tài)或動態(tài);動態(tài)障礙預報器預測道路及其它車輛的行駛動向。
規(guī)劃
Odin上的規(guī)劃軟件采用混合審議-反應模型,將上層決策與下層響應分配到不同組件。兩類組件以獨立頻率同步運行,這樣車輛就能對緊急狀況做出響應,同時又無需重新規(guī)劃整條路徑。分離決策組件后,便可獨立對每個系統(tǒng)進行測試,并實現(xiàn)并行開發(fā),這對于縮短城市挑戰(zhàn)賽前的設計時間表來說非常重要。
路徑規(guī)劃組件采用A*搜索算法做出路徑選擇判斷,從而行駛過所有檢查點。駕駛行為組件采用基于行為的LabVIEW狀態(tài)機構架,負責讓賽車遵守交通規(guī)則,并引導賽車沿規(guī)劃路徑行駛。運動規(guī)劃組件采用迭代軌跡搜索避免障礙,并將賽車引導到期望的路徑上。然后,系統(tǒng)將運動方案送到車輛接口,并轉(zhuǎn)換為激勵器控制信號。
通信
整個通信框架的開發(fā)都采用了LabVIEW。我們實現(xiàn)了SAE AS-4無人系統(tǒng)聯(lián)合體系結構(JAUS)協(xié)議,可進行自動化、動態(tài)配置,并提高了城市挑戰(zhàn)賽軟件在未來的可重用性及商業(yè)潛力。同時,我們將每個軟件模塊作為JAUS組件,所有模塊間的交互均在該LabVIEW框架內(nèi)實現(xiàn)。每個軟件模塊作為獨立組件,可在Windows或Linux®操作系統(tǒng)中異步運行。有了這一通信主構架, LabVIEW編寫的軟件模塊與其它語言編寫的模塊的交互、重用變得異常容易。
LabVIEW的優(yōu)勢LabVIEW為我們的團隊提供了成功的編成環(huán)境,主要有以下原因。作為主要由機械工程師組成的團隊,無需計算機學科背景,就能采用LabVIEW開發(fā)高級、高層的感知及規(guī)劃算法。此外,LabVIEW與硬件之間簡單的交互操作,提高了實現(xiàn)傳感器處理及車輛控制中高定時精度要求進程的能力。
LabVIEW還提供直觀且易用的調(diào)試環(huán)境,可實時執(zhí)行及監(jiān)測源代碼,輕松實現(xiàn)硬件在環(huán)調(diào)試。LabVIEW環(huán)境使測試時間最大化,實現(xiàn)了快速原型設計及大量設計循環(huán)。縮短了參加城市挑戰(zhàn)賽及開發(fā)設計本身的時間表。這些能力對車隊的成功至關重要。
我們成功通過LabVIEW及NI硬件開發(fā)了無人駕駛賽車,完成了城市挑戰(zhàn)賽,這些對機器人技術來說是從未嘗試過的挑戰(zhàn)。Odin是僅有的一輛全面采用LabVIEW的賽車,并且取得了第三名的成績,僅比領先者慢了幾分鐘。