張小俊,張 澤,陳 正
(1.河北工業(yè)大學,天津 300222;2.中國汽車技術(shù)研究中心,天津 300300)
隨著無人駕駛技術(shù)的飛速發(fā)展,中國的百度、長安等企業(yè)以及國防科技大學、軍事交通學院等高校已經(jīng)研制出了L4級的無人駕駛汽車。無人駕駛汽車裝備一臺高性能的計算機,用于接收車載傳感器采集的環(huán)境信息并對其進行處理分析,進而作出各種決策,傳遞指令給汽車的各個執(zhí)行系統(tǒng),實現(xiàn)車輛的智能駕駛并完成車與人、車、路以及云端的通信。L4級的無人駕駛是指在限定的道路和環(huán)境中可由無人駕駛系統(tǒng)完成所有駕駛操作,本課題以L4級無人駕駛汽車為依托,設(shè)計一種在封閉園區(qū)內(nèi)的約車系統(tǒng),實現(xiàn)無人車在封閉園區(qū)內(nèi)部的示范運營。用戶通過手機APP選擇起點和終點,并通過手機APP與云端、車載通信終端的信息交互實現(xiàn)遠程約車,進而完成接送用戶、自動還車等功能。
遠程約車系統(tǒng)基于無人駕駛技術(shù),融合計算機、通信、車輛工程的綜合性策略系統(tǒng),主要由無人駕駛汽車、云平臺、車載單元和手機APP組成,各個子單元采用CAN總線和4G網(wǎng)絡(luò)通信。
云平臺服務(wù)具有多用戶、高并發(fā)的特點,平臺搭建需要從處理數(shù)據(jù)的性能和后期維護成本兩方面考慮。目前云平臺主要包含C/S和B/S架構(gòu),C/S采用的PPP協(xié)議針對點對點,兼容性不強,另外還需要專門開發(fā)客戶端軟件,拓展性較弱。B/S架構(gòu)可簡化為一個Web瀏覽器,將策略邏輯和數(shù)據(jù)在服務(wù)器中實現(xiàn),且維護成本低,綜上所述,云平臺選擇B/S架構(gòu)。云平臺與車載單元的通信協(xié)議選擇MQTT協(xié)議,其建立在TCP/IP協(xié)議的基礎(chǔ)上,針對系統(tǒng)中APP發(fā)送遠程指令、云平臺控制車輛和數(shù)據(jù)流傳輸?shù)奈锫?lián)網(wǎng)協(xié)議。
車載單元是約車系統(tǒng)傳輸層的關(guān)鍵組成部分,其主要功能包括采集/發(fā)送數(shù)據(jù)、處理數(shù)據(jù)、和自我管理的能力。采集/發(fā)送數(shù)據(jù)是指車載單元通過CAN總線采集無人駕駛車輛的傳感器、工控機、定位信息和車輛駕駛行為數(shù)據(jù),這些數(shù)據(jù)通過制定的通信格式打包給4G模組發(fā)送至云平臺;處理數(shù)據(jù)是車載單元的核心業(yè)務(wù),針對無人車數(shù)據(jù)流較大且實時性要求高,主處理器選用ARM架構(gòu)的恩智浦IMX6.Q系列處理器,底層嵌入Linux操作系統(tǒng),完成數(shù)據(jù)處理和邏輯判斷;自我管理通過MCU對車載單元的電源模塊、GNSS模塊、CAN模塊、主處理器、4G模組進行管理,控制其電源供給和GPIO的電壓配置,并在特定情況下進行工作/休眠模式的切換。終端架構(gòu)如圖1所示。
圖1 車載單元系統(tǒng)架構(gòu)圖
1)核心處理器
核心處理器選擇基于Arm Cortex-A9架構(gòu)的IMX6.Q處理器,其符合車規(guī)級認證,主頻為1.2GHz,具有滿足操作系統(tǒng)的MIPS需求來增強高級便捷式應(yīng)用程序功能,支持豐富的外圍接口、1GB RAM和8GB ROM,為數(shù)據(jù)采集/處理提供可靠保障。
2)MCU的選擇
MCU選擇飛思卡爾的FS32K148,是一款符合車規(guī)級AEC-Q100規(guī)范,具有超低功耗的微處理器,基于32位Arm Cortex-M4F和Cortex-M0+內(nèi)核的MCU,運行頻率112MHz,有多種性能、存儲器和特性可供選擇,具有良好的兼容性和拓展性。
3)4G通信模組
車載單元通信模組選用華為的ME909s,其支持LTE/HSDPA/GSM/GPRS多種頻率通信,最大支持數(shù)據(jù)傳輸?shù)纳闲兴俾?0Mb/s和下行速率150Mb/s,內(nèi)嵌TCP/IP通信協(xié)議,與其他通信模組相比具有較快的傳輸速度和全面的通信頻段,同時支持多種外圍接口,便于與其他模塊進行信息傳輸。
4) GNSS模組
GNSS模組選擇MAX-M8Q-01A,采用常用的C/A編碼,支持NMEA0183協(xié)議,在GPS+GLONASS+北斗的混合定位模式下導(dǎo)航靈敏度為-167dBm,單一全球當行衛(wèi)星系統(tǒng)頻率18MHz,并行導(dǎo)航系統(tǒng)頻率10MHz,位置精度2米CEP,能在高樓大廈之間、地下停車場以及隧道提供可靠不間斷的定位信息,定位信息通過UART串口輸出,波特率支持4800/9600 /38400 /115200b /s。
系統(tǒng)硬件電路通電后,U-boot會對微處理器及其外圍電路初始化,后把開發(fā)板的控制權(quán)移交給嵌入式Linux操作系統(tǒng),系統(tǒng)通過對應(yīng)用層線程的調(diào)度,實現(xiàn)各種功能。
最基本的通信功能為CAN通信和網(wǎng)絡(luò)通信,設(shè)計皆基于socket通信。CAN通信采用原始套接字SOCK_ROW,PF_CAN協(xié)議族,struct can_frame定義CAN收發(fā)數(shù)據(jù)的消息體,sock_fd=socket()建立套接字,strcpy (ifr.ifr_name,“can0”) 對CAN接口初始化,設(shè)置接口名“can0”和波特率為500kHz,bind()將生成的套接字與網(wǎng)絡(luò)地址綁定,創(chuàng)建recv() /send()函數(shù)收發(fā)CAN數(shù)據(jù)。網(wǎng)絡(luò)通信通過調(diào)用net init(char*net_name)函數(shù)完成4G通信模組的初始化,設(shè)置云平臺的IP和Port,并調(diào)用socket (AF_INET,SOCK_STREAM,0)函數(shù)設(shè)置IPv4網(wǎng)絡(luò)通信協(xié)議,建立TCP連接實現(xiàn)云平臺和車載單元的網(wǎng)絡(luò)通信。
CAN收發(fā)線程通過select()函數(shù)監(jiān)聽車輛工控機節(jié)點轉(zhuǎn)發(fā)的無人車傳感器信息、車輛信息和車輛駕駛行為,當2.1所述的套接字收到開始接收數(shù)據(jù)時,線程將收到的數(shù)據(jù)暫放在緩存區(qū)內(nèi),其他應(yīng)用層線程需要CAN數(shù)據(jù)時直接從緩存區(qū)讀取。車輛工控機與車載單元進行CAN數(shù)據(jù)交互前需要車載單元發(fā)送認證請求,車輛工控機回復(fù)隨機數(shù),車載單元通過加密算法計算后回復(fù)密鑰完成校驗。無人駕駛的控制數(shù)據(jù)關(guān)系車輛的安全,此方法保證了系統(tǒng)運行的安全性。
車載單元與云平臺家里TCP連接后,網(wǎng)絡(luò)收發(fā)線程首先發(fā)送登錄鑒權(quán)信息 (每個車載單元與車輛會在云平臺Web注冊),云平臺驗證通過后回復(fù)車載單元完成登錄;為驗證鏈接狀態(tài),防止某一方掉線后另一端重復(fù)發(fā)送指令,車載單元每10s發(fā)送一次心跳信息,云平臺收到并回復(fù);在發(fā)送數(shù)據(jù)之前,車載單元向云平臺發(fā)送校時信息,保證雙方信息包時間的統(tǒng)一;完成上述準備工作后,車載單元與云平臺開始按照制定的通信格式進行周期性信息和觸發(fā)性信息的交互 (周期性信息指隨時需要上報的信息,如車速、雷達狀態(tài);而觸發(fā)性信息指在特定條件下才需要發(fā)送的信息,如開始約車、車輛到達起點)。圖2為子系統(tǒng)之間的通信交互。
圖2 子系統(tǒng)之間的通信交互
圖3 為車-終端-云平臺之間的約車策略及系統(tǒng)流程圖。①無人駕駛車輛在停車場進行充電 (車載單元報告狀態(tài),報告內(nèi)容:正在充電、狀態(tài)正常、自動駕駛軟件關(guān)閉、傳感器關(guān)閉),車輛處于休眠狀態(tài);②云平臺接收到約車命令后,向車載單元發(fā)送喚醒命令,無人駕駛車輛啟動,將自動駕駛軟件、傳感器打開,車載單元將本車傳感器狀態(tài)、無人駕駛軟件狀態(tài)上傳 (報告內(nèi)容:自動駕駛軟件、傳感器狀態(tài)、GPS狀態(tài))。③GPS、雷達、軟件狀態(tài)正常時,云平臺下發(fā)從停車場到路線起始點的路點文件和路網(wǎng)文件。車輛收到路點文件和路網(wǎng)文件后,向云平臺校驗接收成功。云平臺下發(fā)啟動命令,車輛接收啟動命令后,云平臺根據(jù)車輛實時回傳GPS信息,判斷車輛是否成功啟動,是否正常運行,若車輛回傳GPS與軌跡GPS不一致,則車輛故障,打開警示燈,等待救援;④車輛執(zhí)行完停車場到起點的路點文件和路網(wǎng)文件,車輛停止后,車輛上傳已到達起點至云平臺,云平臺發(fā)送進入接管狀態(tài)指令,并下發(fā)從停車場到路線起始點的路點文件和路網(wǎng)文件,車輛收到路點文件和路網(wǎng)文件后,向云平臺校驗接收成功;⑤乘客上車后,云平臺下發(fā)啟動命令,車輛接收啟動命令后,進入自動駕駛模式,車輛啟動。云平臺根據(jù)車輛實時回傳GPS信息,判斷車輛是否成功啟動,是否正常運行。若車輛回傳GPS與軌跡GPS不一致,則車輛故障;⑥車輛行駛過程中乘客可以選擇臨時停車,臨時停車后有兩種選擇,一是繼續(xù)行駛,二是結(jié)束約車;⑦車輛行駛到終點,停車后車輛發(fā)送已到達預(yù)設(shè)位置信號至云平臺,云平臺發(fā)送進入接管狀態(tài)指令。云平臺判斷,若有新任務(wù),云平臺下發(fā)新路點文件和路網(wǎng)文件。若無任務(wù),云平臺下發(fā)路線終點位置到停車場路點文件和路網(wǎng)文件。
本文實驗采用中國汽車技術(shù)研究中心的無人駕駛與智能網(wǎng)聯(lián)實驗平臺進行驗證,驗證無人車工控機與車載單元的CAN網(wǎng)絡(luò)信息交互,包含傳感器信息、駕駛行為信息和車輛狀態(tài)信息;驗證車載單元與云平臺的網(wǎng)絡(luò)信息交互,包含信息上報格式、車輛數(shù)據(jù)的準確性和鏈接的狀態(tài)驗證;并通過手機APP發(fā)送約車指令,驗證約車功能的邏輯是否正確,行駛過程中路點文件、控制信息的準確度,保證車輛到達目的地并能應(yīng)對突發(fā)情況,約車系統(tǒng)聯(lián)合測試過程如圖4所示。
圖3 遠程約車策略實現(xiàn)流程圖
圖4 約車系統(tǒng)聯(lián)合測試過程
無人駕駛技術(shù)已經(jīng)成為汽車行業(yè)的研究重點,本文依據(jù)現(xiàn)階段的無人駕駛技術(shù),設(shè)計園區(qū)內(nèi)的無人車約車系統(tǒng),具有全面的數(shù)據(jù)傳輸能力和遠程控制功能,在園區(qū)內(nèi)無人駕駛參觀、游覽等應(yīng)用方向具備創(chuàng)新性進展,經(jīng)過APP、智能車、車載單元和云平臺的聯(lián)合驗證,此系統(tǒng)滿足數(shù)據(jù)傳輸、邏輯判斷和遠程控制等基本功能要求,具有低延遲、高可靠的性能要求。此外,本文所述的遠程約車系統(tǒng)的整體架構(gòu)和約車策略的設(shè)計方案,對無人駕駛技術(shù)的應(yīng)用有一定的參考價值。