惠 飛,張師源,孫加新,馮 耀
(長(zhǎng)安大學(xué) 信息工程學(xué)院,陜西 西安 710064)
自動(dòng)駕駛車輛技術(shù)能有效地減少城市交通擁堵、改善道路交通污染、提高交通安全[1],可以有效地降低人為因素引起的交通事故率,廣泛應(yīng)用于公共交通、貨運(yùn)物流、軍事等領(lǐng)域[2]。近些年來,各大車企、互聯(lián)網(wǎng)公司和高校都對(duì)自動(dòng)駕駛技術(shù)進(jìn)行了研究,自動(dòng)駕駛技術(shù)在全世界開始了新一輪的核心技術(shù)發(fā)展期[3]。自動(dòng)駕駛汽車搭載了大量高精度傳感器[4],實(shí)時(shí)采集和監(jiān)測(cè)自動(dòng)駕駛汽車上各類傳感器的數(shù)據(jù)是自動(dòng)駕駛技術(shù)開發(fā)和測(cè)試的一個(gè)重要環(huán)節(jié)[5]。自動(dòng)駕駛算法模型訓(xùn)練和驗(yàn)證需要大量數(shù)據(jù)集支撐,標(biāo)注處理后的數(shù)據(jù)集對(duì)算法的訓(xùn)練和研究有更大的價(jià)值[6]。對(duì)實(shí)際駕駛過程中的車輛進(jìn)行實(shí)時(shí)的數(shù)據(jù)采集,使自動(dòng)駕駛汽車的測(cè)試驗(yàn)證更加真實(shí)和準(zhǔn)確,對(duì)于提高自動(dòng)駕駛測(cè)試的準(zhǔn)確度和可靠性,減少自動(dòng)駕駛技術(shù)的測(cè)試和開發(fā)周期起到重要作用[7]。
針對(duì)目前自動(dòng)駕駛技術(shù)測(cè)試和開發(fā)對(duì)于實(shí)時(shí)數(shù)據(jù)的需求,該文設(shè)計(jì)實(shí)現(xiàn)了一種自動(dòng)駕駛數(shù)據(jù)采集與管理系統(tǒng)。該系統(tǒng)利用多傳感器模塊化的設(shè)計(jì)[8]實(shí)時(shí)采集車輛運(yùn)行過程中的車輛狀態(tài)和環(huán)境數(shù)據(jù),并利用車載工控機(jī)對(duì)采集到的數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,通過HTTP接口和FTP協(xié)議將數(shù)據(jù)發(fā)送至云端服務(wù)器進(jìn)行存儲(chǔ)。云端服務(wù)器包含數(shù)據(jù)采集監(jiān)控平臺(tái)和數(shù)據(jù)管理平臺(tái)兩部分,數(shù)據(jù)采集監(jiān)控平臺(tái)能夠監(jiān)控?cái)?shù)據(jù)采集過程中車輛的實(shí)時(shí)狀態(tài)和各傳感器的運(yùn)行連接狀態(tài)。數(shù)據(jù)管理平臺(tái)負(fù)責(zé)管理采集到的數(shù)據(jù),使用MySQL數(shù)據(jù)庫(kù)存儲(chǔ)系統(tǒng)數(shù)據(jù),TDengine時(shí)序數(shù)據(jù)庫(kù)[9]存儲(chǔ)傳感器數(shù)據(jù),通過系統(tǒng)管理員、數(shù)據(jù)管理員、普通用戶三種角色[10],不同角色擁有不同操作權(quán)限,保證了數(shù)據(jù)的安全性,同時(shí)方便用戶下載使用采集到的傳感器數(shù)據(jù),從而為自動(dòng)駕駛技術(shù)開發(fā)和測(cè)試提供更有效的數(shù)據(jù)支持,進(jìn)一步為自動(dòng)駕駛技術(shù)的發(fā)展做出貢獻(xiàn)。
該系統(tǒng)主要由感知模塊、數(shù)據(jù)處理模塊、云端服務(wù)器、Web客戶端四部分組成。系統(tǒng)總體架構(gòu)如圖1所示。
圖1 系統(tǒng)總體架構(gòu)
其中感知模塊包含各類高精度傳感器,如:組合導(dǎo)航、毫米波雷達(dá)、激光雷達(dá)、工業(yè)相機(jī)和CAN分析儀等,通過多傳感器采集車輛狀態(tài)信息(如車輛位置、車輛姿態(tài)、車速、輪速、方向盤角度、油門踏板開合度等),以及周圍環(huán)境數(shù)據(jù)(如毫米波雷達(dá)數(shù)據(jù)、激光雷達(dá)點(diǎn)云數(shù)據(jù)、工業(yè)相機(jī)圖像數(shù)據(jù));傳感器采用標(biāo)準(zhǔn)接口與工控機(jī)連接,在工控機(jī)上完成傳感器的初始化工作后開始數(shù)據(jù)采集,將采集到的傳感器數(shù)據(jù)進(jìn)行處理、封裝,通過HTTP接口和FTP協(xié)議將數(shù)據(jù)上傳到云端NodeJS服務(wù)器。
云端服務(wù)器為基于Express框架的NodeJS高性能服務(wù)器[11],NodeJS由于本身異步[12]的特性,可以很好地支持高密度IO操作請(qǐng)求[13],保證數(shù)據(jù)采集過程中,系統(tǒng)能夠在數(shù)據(jù)處理模塊高頻率上傳數(shù)據(jù)時(shí)穩(wěn)定運(yùn)行。Express框架是一個(gè)用來快速搭建功能完整的Web應(yīng)用和HTTP工具的簡(jiǎn)潔且靈活的NodeJS框架[14],使用Express框架來搭建自動(dòng)駕駛數(shù)據(jù)采集與管理系統(tǒng)的服務(wù)器,提供接收傳感器數(shù)據(jù)的HTTP接口和Web客戶端需要的數(shù)據(jù)下載接口。服務(wù)器通過HTTP接口接收到數(shù)據(jù)處理模塊上傳的傳感器數(shù)據(jù),之后將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中。
Web客戶端分為數(shù)據(jù)管理平臺(tái)和數(shù)據(jù)采集監(jiān)控平臺(tái),數(shù)據(jù)采集監(jiān)控平臺(tái)可以實(shí)時(shí)監(jiān)控車輛狀態(tài)和傳感器運(yùn)行連接狀態(tài),在傳感器或車輛出現(xiàn)異常情況時(shí)及時(shí)采取措施。數(shù)據(jù)管理平臺(tái)主要負(fù)責(zé)對(duì)用戶提供數(shù)據(jù)下載服務(wù),用戶登錄系統(tǒng)后,根據(jù)角色不同展示不同菜單,可以進(jìn)行數(shù)據(jù)查詢、數(shù)據(jù)下載、數(shù)據(jù)下載申請(qǐng)、數(shù)據(jù)維護(hù)等操作。
在感知模塊中,主要由ARS408-21毫米波雷達(dá)、velodyne32線激光雷達(dá)、FLIR工業(yè)相機(jī)、CAN分析儀、導(dǎo)遠(yuǎn)INS570D組合導(dǎo)航五個(gè)傳感器組成。系統(tǒng)采用PLUSG0-CX02電源管理模塊為各類傳感器和工控機(jī)供電,通信模塊采用華為5G CPE Pro終端,保證了數(shù)據(jù)傳輸過程的穩(wěn)定性和實(shí)時(shí)性。系統(tǒng)硬件連接示意圖如圖2所示。
圖2 系統(tǒng)硬件連接示意圖
感知模塊是系統(tǒng)的數(shù)據(jù)來源,感知模塊傳感器布設(shè)如圖3所示。汽車狀態(tài)通過CAN分析儀讀取,CAN分析儀一端和汽車CAN總線相連,另一端通過USB串口接入工控機(jī),讀取汽車CAN總線數(shù)據(jù);毫米波雷達(dá)安裝在汽車前側(cè),由汽車內(nèi)部走線至后備箱,通過USB串口與工控機(jī)相連;組合導(dǎo)航安裝在車頂對(duì)角通過轉(zhuǎn)換器和工控機(jī)的DB9端口相連;高速相機(jī)安裝在車頂臺(tái)架上,通過USB串口與工控機(jī)相連;激光雷達(dá)安裝在汽車頂部臺(tái)架上和工控機(jī)的以太網(wǎng)口相連,接收激光雷達(dá)點(diǎn)云數(shù)據(jù)。所有傳感器接入數(shù)據(jù)處理模塊,在工控機(jī)上通過程序讀取CAN總線數(shù)據(jù)、激光雷達(dá)點(diǎn)云、毫米波雷達(dá)原始數(shù)據(jù)、高速相機(jī)視頻數(shù)據(jù)、組合導(dǎo)航車輛位置姿態(tài)信息等。
圖3 車載傳感器布設(shè)實(shí)物圖
數(shù)據(jù)處理模塊是數(shù)據(jù)采集的關(guān)鍵部分,根據(jù)不同傳感器接口編寫相應(yīng)程序讀取傳感器數(shù)據(jù),再進(jìn)行數(shù)據(jù)處理。完成數(shù)據(jù)處理工作后將數(shù)據(jù)封裝,通過5G網(wǎng)絡(luò)發(fā)送到云端服務(wù)器,由云端服務(wù)器進(jìn)行監(jiān)測(cè)、分析和數(shù)據(jù)存儲(chǔ)。
自動(dòng)駕駛數(shù)據(jù)采集與管理系統(tǒng)的軟件部分主要分為數(shù)據(jù)采集系統(tǒng)和數(shù)據(jù)管理系統(tǒng)兩部分。
對(duì)于數(shù)據(jù)采集系統(tǒng),所有傳感器初始化之后,在工控機(jī)上通過傳感器采集程序采集到原始數(shù)據(jù)后,對(duì)不同傳感器原始數(shù)據(jù)進(jìn)行相應(yīng)處理,最后通過5G網(wǎng)絡(luò)將處理后的數(shù)據(jù)發(fā)送到云端服務(wù)器。數(shù)據(jù)采集及上傳流程如圖4所示。
圖4 數(shù)據(jù)采集及上傳流程
數(shù)據(jù)采集系統(tǒng)的采集端和云端服務(wù)器代碼都運(yùn)行在Linux系統(tǒng)上,所有傳感器按照模塊化程序設(shè)計(jì)的思路[15],能夠獨(dú)立運(yùn)行,在后期系統(tǒng)運(yùn)行過程中,程序的模塊化設(shè)計(jì)也有利于增加額外的功能需求。
3.1.1 CAN總線數(shù)據(jù)解析
底盤通訊協(xié)議如表1所示,通過串口采集到CAN總線數(shù)據(jù),由CAN數(shù)據(jù)解析程序?qū)⒃紨?shù)據(jù)解析并封裝成JSON數(shù)據(jù)包,按照20 ms采集并發(fā)送一次的頻率,調(diào)用CAN總線數(shù)據(jù)接收接口上傳至云端服務(wù)器。
表1 底盤通訊協(xié)議
3.1.2 組合導(dǎo)航數(shù)據(jù)處理
組合導(dǎo)航數(shù)據(jù)通過USB串口接收,在數(shù)據(jù)處理模塊由組合導(dǎo)航解析程序根據(jù)接口數(shù)據(jù)格式解析出車輛俯仰角、方位角、橫滾角、經(jīng)緯度、地向速度、北向速度、東向速度、定位信息精度、定速信息精度、姿態(tài)信息精度、設(shè)備內(nèi)部溫度、GPS狀態(tài)、輪速狀態(tài)等信息。封裝成JSON數(shù)據(jù)包,按照100 ms發(fā)送一次的頻率,調(diào)用組合導(dǎo)航數(shù)據(jù)接收接口發(fā)送數(shù)據(jù)包到云端服務(wù)器。
3.1.3 毫米波雷達(dá)數(shù)據(jù)處理
毫米波雷達(dá)數(shù)據(jù)通過USB串口接收,根據(jù)ARS408雷達(dá)數(shù)據(jù)通訊協(xié)議解析出目標(biāo)縱坐標(biāo)、目標(biāo)橫坐標(biāo)、目標(biāo)縱向相對(duì)速度、目標(biāo)橫向相對(duì)速度、目標(biāo)動(dòng)態(tài)屬性、目標(biāo)雷達(dá)散射截面積、雷達(dá)狀態(tài)數(shù)據(jù)等信息。將數(shù)據(jù)封裝成JSON數(shù)據(jù)包,按照100 ms發(fā)送一次的頻率,調(diào)用毫米波雷達(dá)數(shù)據(jù)接收接口發(fā)送數(shù)據(jù)包到云端服務(wù)器。
3.1.4 激光雷達(dá)數(shù)據(jù)處理
激光雷達(dá)數(shù)據(jù)通過以太網(wǎng)口接收,獲取道路環(huán)境內(nèi)所有激光點(diǎn)云的3D坐標(biāo)信息和障礙物的反射率信息。將點(diǎn)云的空間坐標(biāo)(x,y,z)及反射強(qiáng)度,時(shí)間戳保存為pcd文件儲(chǔ)存在工控機(jī)本地硬盤中并將文件通過FTP協(xié)議上傳至云端服務(wù)器進(jìn)行存儲(chǔ)。
3.1.5 工業(yè)相機(jī)數(shù)據(jù)處理
相機(jī)圖像數(shù)據(jù)通過USB串口接收,將圖像數(shù)據(jù)和時(shí)間戳保存在工控機(jī)本地硬盤中,并通過FTP協(xié)議上傳至云端服務(wù)器進(jìn)行存儲(chǔ)。
3.1.6 數(shù)據(jù)采集監(jiān)控模塊
數(shù)據(jù)采集監(jiān)控模塊是數(shù)據(jù)采集系統(tǒng)的一部分,主要用于監(jiān)控傳感器連接運(yùn)行狀態(tài)和數(shù)據(jù)采集車輛的狀態(tài)。通過傳感器上傳的數(shù)據(jù)報(bào)文解析到傳感器運(yùn)行狀態(tài);汽車CAN總線數(shù)據(jù)解析到車速、輪速、方向盤角度、油門踏板開合度等汽車狀態(tài)信息,將數(shù)據(jù)實(shí)時(shí)反映在監(jiān)控平臺(tái)可視化界面[16],在出現(xiàn)異常情況時(shí)及時(shí)處理。
數(shù)據(jù)管理系統(tǒng)用于對(duì)數(shù)據(jù)采集系統(tǒng)采集到的傳感器數(shù)據(jù)進(jìn)行管理。
3.2.1 需求分析
自動(dòng)駕駛數(shù)據(jù)管理系統(tǒng)主要包含系統(tǒng)管理員、數(shù)據(jù)管理員、普通用戶三種角色。具體如下:
系統(tǒng)管理員:系統(tǒng)管理員主要負(fù)責(zé)維護(hù)數(shù)據(jù)管理員和普通用戶的用戶信息和權(quán)限等。
數(shù)據(jù)管理員:數(shù)據(jù)管理員主要負(fù)責(zé)管理數(shù)據(jù)庫(kù)中各類傳感器數(shù)據(jù),包括數(shù)據(jù)維護(hù)以及審批普通用戶的數(shù)據(jù)下載申請(qǐng)等。
普通用戶:普通用戶可以利用管理系統(tǒng)進(jìn)行數(shù)據(jù)查詢和數(shù)據(jù)下載申請(qǐng)等。
3.2.2 功能性需求分析
功能性需求是系統(tǒng)必須要完成實(shí)現(xiàn)某些具體的軟件功能,來滿足系統(tǒng)的業(yè)務(wù)需求[17]。自動(dòng)駕駛數(shù)據(jù)管理系統(tǒng)的功能主要分為用戶注冊(cè)登錄、權(quán)限管理、傳感器數(shù)據(jù)維護(hù)、數(shù)據(jù)下載申請(qǐng)與審批。
用戶權(quán)限管理:負(fù)責(zé)對(duì)用戶的權(quán)限進(jìn)行管理,主要包括用戶查閱菜單權(quán)限和用戶查詢及下載傳感器數(shù)據(jù)的權(quán)限。
傳感器數(shù)據(jù)管理:負(fù)責(zé)對(duì)系統(tǒng)數(shù)據(jù)庫(kù)中的數(shù)據(jù)預(yù)覽表進(jìn)行維護(hù),增添數(shù)據(jù)預(yù)覽表記錄以及更新數(shù)據(jù)保密等級(jí)。
數(shù)據(jù)下載申請(qǐng)與審批:包括普通用戶對(duì)需要的數(shù)據(jù)進(jìn)行下載使用申請(qǐng)和數(shù)據(jù)管理員對(duì)普通用戶的申請(qǐng)進(jìn)行審批。
3.2.3 非功能性需求分析
為了使自動(dòng)駕駛數(shù)據(jù)管理系統(tǒng)更好地服務(wù)用戶,系統(tǒng)必須滿足以下要求:
(1)系統(tǒng)友好性。
系統(tǒng)在設(shè)計(jì)開發(fā)時(shí)需要考慮用戶使用時(shí)的易操作需求[18],用戶界面及字體需要簡(jiǎn)潔統(tǒng)一。
(2)系統(tǒng)安全性。
由于自動(dòng)駕駛數(shù)據(jù)管理系統(tǒng)的特殊性,需要充分考慮數(shù)據(jù)的安全性。首先,需要設(shè)計(jì)合理的系統(tǒng)結(jié)構(gòu)和模式;其次,嚴(yán)格限制不同角色的權(quán)限,避免用戶直接對(duì)傳感器數(shù)據(jù)進(jìn)行增加、修改和刪除;最后,系統(tǒng)需要考慮用戶賬戶信息安全。
(3)系統(tǒng)穩(wěn)定性。
嚴(yán)格執(zhí)行系統(tǒng)的單元測(cè)試,保證系統(tǒng)的穩(wěn)定性。當(dāng)系統(tǒng)出現(xiàn)故障時(shí),能夠保證數(shù)據(jù)完整性,同時(shí)迅速恢復(fù)正常狀態(tài)。
3.2.4 功能模塊詳細(xì)設(shè)計(jì)
本小節(jié)對(duì)數(shù)據(jù)管理系統(tǒng)的功能模塊進(jìn)行詳細(xì)設(shè)計(jì)。
(1)系統(tǒng)首頁。
用戶登錄數(shù)據(jù)管理系統(tǒng)后,根據(jù)用戶角色的不同展示不同功能菜單,系統(tǒng)管理員可以使用用戶管理功能。數(shù)據(jù)管理員可以使用數(shù)據(jù)維護(hù)、數(shù)據(jù)下載審批功能。普通用戶可以進(jìn)行用戶基本信息(如密碼、年齡、性別等)的修改;在數(shù)據(jù)信息預(yù)覽頁面可以查詢當(dāng)前用戶可以下載的所有數(shù)據(jù)的描述信息;在對(duì)應(yīng)的傳感器數(shù)據(jù)頁面可以下載數(shù)據(jù)或者申請(qǐng)下載數(shù)據(jù)。
(2)用戶管理。
用戶管理負(fù)責(zé)對(duì)系統(tǒng)用戶進(jìn)行統(tǒng)一管理。系統(tǒng)管理員可以進(jìn)行用戶新增和刪除,以及對(duì)用戶等級(jí)和用戶角色等關(guān)鍵信息的修改,普通用戶和數(shù)據(jù)管理員僅能修改自己的基本信息以及對(duì)系統(tǒng)用戶進(jìn)行查詢操作。
(3)數(shù)據(jù)管理。
數(shù)據(jù)管理負(fù)責(zé)數(shù)據(jù)信息預(yù)覽表中信息管理和數(shù)據(jù)庫(kù)中傳感器數(shù)據(jù)管理。
數(shù)據(jù)信息預(yù)覽頁面中,所有用戶都可以查詢數(shù)據(jù)預(yù)覽信息,根據(jù)用戶不同權(quán)限等級(jí),將查詢到不同的數(shù)據(jù)預(yù)覽信息。數(shù)據(jù)管理員可以新增、修改和刪除數(shù)據(jù)信息預(yù)覽記錄,主要包括對(duì)新采集的數(shù)據(jù)進(jìn)行數(shù)據(jù)信息預(yù)覽新增。在新增操作時(shí)需要填寫數(shù)據(jù)名稱、數(shù)據(jù)表名稱、數(shù)據(jù)類型、數(shù)據(jù)保密等級(jí)、數(shù)據(jù)采集時(shí)間和數(shù)據(jù)信息描述等信息。
鑒于自動(dòng)駕駛數(shù)據(jù)結(jié)構(gòu)復(fù)雜、來源多樣、數(shù)據(jù)特殊的特點(diǎn),數(shù)據(jù)庫(kù)中傳感器數(shù)據(jù)直接通過數(shù)據(jù)采集子系統(tǒng)采集存入數(shù)據(jù)庫(kù)中,通常情況不對(duì)其進(jìn)行維護(hù)。特殊情況由專業(yè)技術(shù)人員進(jìn)行維護(hù)操作,保證了自動(dòng)駕駛數(shù)據(jù)的安全完整。
(4)數(shù)據(jù)下載申請(qǐng)與審批。
數(shù)據(jù)下載申請(qǐng)與審批是數(shù)據(jù)管理子系統(tǒng)的核心模塊。負(fù)責(zé)為系統(tǒng)用戶提供下載各類數(shù)據(jù)的功能。
數(shù)據(jù)下載申請(qǐng)可以由普通用戶發(fā)起數(shù)據(jù)下載申請(qǐng),由數(shù)據(jù)管理員在申請(qǐng)列表中查看并審批,申請(qǐng)通過之后用戶可以在數(shù)據(jù)下載界面進(jìn)行相應(yīng)數(shù)據(jù)的下載。具體流程為:用戶登錄數(shù)據(jù)預(yù)覽界面查詢需要下載的數(shù)據(jù)是否為公開數(shù)據(jù)。公開數(shù)據(jù)可以直接下載,非公開數(shù)據(jù)根據(jù)當(dāng)前用戶權(quán)限等級(jí)判斷是否允許直接下載。當(dāng)前用戶權(quán)限等級(jí)允許下載時(shí),直接在數(shù)據(jù)下載界面下載數(shù)據(jù)。當(dāng)前用戶權(quán)限等級(jí)不夠時(shí)需要在數(shù)據(jù)下載申請(qǐng)界面申請(qǐng)下載所需數(shù)據(jù),由數(shù)據(jù)管理員審核通過后,可以在數(shù)據(jù)下載界面下載數(shù)據(jù)。
(5)操作記錄。
操作記錄由系統(tǒng)自動(dòng)負(fù)責(zé)記錄系統(tǒng)中所有用戶的操作,每當(dāng)用戶進(jìn)行數(shù)據(jù)下載、數(shù)據(jù)下載申請(qǐng)、數(shù)據(jù)下載申請(qǐng)審批、數(shù)據(jù)維護(hù)等操作時(shí),系統(tǒng)自動(dòng)將操作信息添加進(jìn)操作記錄表。操作記錄模塊保證了系統(tǒng)中所有的數(shù)據(jù)操作可追蹤、可溯源,保證了系統(tǒng)的數(shù)據(jù)安全問題。操作記錄信息對(duì)系統(tǒng)管理員和數(shù)據(jù)管理員可見。在操作記錄頁面中可以查看所有用戶對(duì)數(shù)據(jù)的操作信息記錄,同時(shí)可以在操作記錄上添加操作描述信息。
3.2.5 數(shù)據(jù)庫(kù)設(shè)計(jì)
數(shù)據(jù)庫(kù)開發(fā)作為系統(tǒng)開發(fā)中的重要一環(huán),數(shù)據(jù)庫(kù)的設(shè)計(jì)直接影響了整個(gè)系統(tǒng)的運(yùn)行效率。結(jié)合系統(tǒng)功能需求,需要對(duì)所有車載傳感器采集到的數(shù)據(jù)、系統(tǒng)中所有的用戶信息、數(shù)據(jù)下載請(qǐng)求記錄、申請(qǐng)審批記錄、數(shù)據(jù)維護(hù)記錄、數(shù)據(jù)信息預(yù)覽記錄等進(jìn)行存儲(chǔ)。系統(tǒng)根據(jù)用戶不同業(yè)務(wù)需求從數(shù)據(jù)庫(kù)獲取對(duì)應(yīng)數(shù)據(jù)返回給客戶端。
用戶信息為系統(tǒng)中基礎(chǔ)信息,主要包括使用系統(tǒng)中所有用戶的信息,包括用戶名、用戶編號(hào)、密碼、職業(yè)、用戶權(quán)限等級(jí)、年齡、性別、用戶角色等相關(guān)信息;數(shù)據(jù)下載申請(qǐng)表主要用來記錄普通用戶對(duì)需要的數(shù)據(jù)申請(qǐng)的信息和數(shù)據(jù)管理員對(duì)于用戶申請(qǐng)的審批信息;數(shù)據(jù)信息預(yù)覽表根據(jù)當(dāng)前用戶的角色和權(quán)限展示數(shù)據(jù)庫(kù)中存儲(chǔ)的傳感器數(shù)據(jù)的信息,包括數(shù)據(jù)名稱、數(shù)據(jù)類型、數(shù)據(jù)采集時(shí)間、數(shù)據(jù)描述信息等數(shù)據(jù)詳細(xì)信息;數(shù)據(jù)操作記錄表用來記錄用戶對(duì)系統(tǒng)中傳感器數(shù)據(jù)操作的信息,包括用戶名、用戶編號(hào)、操作時(shí)間、數(shù)據(jù)類型、數(shù)據(jù)名稱、操作類型、操作描述等。系統(tǒng)E-R圖如圖5所示。
圖5 系統(tǒng)E-R圖
考慮到傳感器采集到的自動(dòng)駕駛數(shù)據(jù)的存儲(chǔ)性能、安全、效率問題,本系統(tǒng)將系統(tǒng)數(shù)據(jù)和傳感器數(shù)據(jù)分開存儲(chǔ)在不同的數(shù)據(jù)庫(kù),采用MySQL數(shù)據(jù)庫(kù)存儲(chǔ)用戶信息、數(shù)據(jù)預(yù)覽信息、數(shù)據(jù)下載申請(qǐng)審批信息和數(shù)據(jù)操作記錄等系統(tǒng)功能性數(shù)據(jù),采用TDengine時(shí)序數(shù)據(jù)庫(kù)來存儲(chǔ)所有傳感器數(shù)據(jù)。自動(dòng)駕駛數(shù)據(jù)采集與管理系統(tǒng)數(shù)據(jù)庫(kù)結(jié)構(gòu)如表2所示。
表2 自動(dòng)駕駛數(shù)據(jù)采集與管理系統(tǒng)數(shù)據(jù)庫(kù)結(jié)構(gòu)
本設(shè)計(jì)經(jīng)過接口測(cè)試和實(shí)車測(cè)試兩部分,接口測(cè)試通過接口測(cè)試工具分別對(duì)數(shù)據(jù)接口進(jìn)行了1 000、2 000、5 000次壓力測(cè)試,結(jié)果如表3所示;實(shí)車測(cè)試通過車輛在長(zhǎng)安大學(xué)網(wǎng)聯(lián)與智能汽車試驗(yàn)場(chǎng)進(jìn)行數(shù)據(jù)采集測(cè)試,記錄了1 000 s數(shù)據(jù)采集上傳HTTP接口的響應(yīng)時(shí)間,如圖6所示。
表3 壓力測(cè)試結(jié)果
圖6 數(shù)據(jù)上傳接口響應(yīng)時(shí)間
測(cè)試結(jié)果表明,數(shù)據(jù)接口響應(yīng)時(shí)間為8 ms左右,受網(wǎng)絡(luò)質(zhì)量影響會(huì)產(chǎn)生小幅度波動(dòng),且數(shù)據(jù)接口在高頻率的請(qǐng)求下仍可以保持穩(wěn)定運(yùn)行,能夠有效采集到自動(dòng)駕駛車輛運(yùn)行過程中的車輛數(shù)據(jù)和傳感器數(shù)據(jù)。
基于系統(tǒng)需求與設(shè)計(jì),實(shí)現(xiàn)了自動(dòng)駕駛數(shù)據(jù)采集與管理系統(tǒng)Web客戶端。
為獲取自動(dòng)駕駛車輛實(shí)時(shí)狀態(tài)與環(huán)境數(shù)據(jù),提高自動(dòng)駕駛技術(shù)開發(fā)和測(cè)試的效率,設(shè)計(jì)并實(shí)現(xiàn)了一種自動(dòng)駕駛數(shù)據(jù)采集與管理系統(tǒng),對(duì)于系統(tǒng)的整體架構(gòu)以及硬件結(jié)構(gòu)、軟件功能模塊、數(shù)據(jù)庫(kù)的詳細(xì)設(shè)計(jì)做了詳細(xì)闡述,基于此完成了整個(gè)采集與管理系統(tǒng)的建設(shè)。經(jīng)過試驗(yàn)測(cè)試,自動(dòng)駕駛數(shù)據(jù)采集與管理系統(tǒng)的數(shù)據(jù)接口在不同條件壓力測(cè)試下接口響應(yīng)成功率為100%,實(shí)車測(cè)試數(shù)據(jù)接口響應(yīng)時(shí)間為8 ms左右,系統(tǒng)功能模塊完整、運(yùn)行穩(wěn)定、數(shù)據(jù)傳輸時(shí)延低,能夠達(dá)到穩(wěn)定、實(shí)時(shí)采集自動(dòng)駕駛車輛數(shù)據(jù)的目的。此外,系統(tǒng)采用模塊化設(shè)計(jì),易于系統(tǒng)開發(fā)和后期運(yùn)行過程中添加配置傳感器。為自動(dòng)駕駛技術(shù)的開發(fā)和測(cè)試提供了數(shù)據(jù),也能為其他數(shù)據(jù)采集系統(tǒng)提供參考和借鑒。