范興娟,劉保慶,楊斐,李輝,黃紅艷
(石家莊郵電職業(yè)技術(shù)學(xué)院智能工程系,河北石家莊,050021)
隨著技術(shù)和時(shí)代的發(fā)展,無(wú)人車應(yīng)運(yùn)而生,成功搶占話題熱點(diǎn)。無(wú)人車又稱自主車或自動(dòng)駕駛車,是一種無(wú)須人工干預(yù)而能夠感知其周邊環(huán)境和導(dǎo)航的車輛。本項(xiàng)目依托新石器無(wú)人車,開(kāi)發(fā)無(wú)人車云管理平臺(tái),使操作更為便捷,可以更好的應(yīng)用到無(wú)人車運(yùn)輸全程,為無(wú)人車派件、安防、售貨等應(yīng)用奠定堅(jiān)實(shí)基礎(chǔ)?;谧灾鏖_(kāi)發(fā)的云管理平臺(tái),無(wú)人車可自主行駛、自動(dòng)實(shí)現(xiàn)相應(yīng)功能,實(shí)現(xiàn)無(wú)人車價(jià)值的最大化。
無(wú)人駕車上配備了大量傳感器,隨著無(wú)人車的運(yùn)行,這些傳感器從視覺(jué)感知、路徑規(guī)劃、路徑跟蹤、底層控制等方面都將產(chǎn)生大量數(shù)據(jù)?;谠破脚_(tái)的大數(shù)據(jù)分析將幫助無(wú)人駕駛系統(tǒng)做出更加智能、安全、節(jié)能、環(huán)保的駕駛動(dòng)作決策。通過(guò)使用云平臺(tái)技術(shù),在提高運(yùn)算速度的同時(shí),也會(huì)極大地降低計(jì)算和處理成本。
無(wú)人車云平臺(tái)是無(wú)人車的調(diào)度控制系統(tǒng),是其他應(yīng)用層功能開(kāi)發(fā)的基礎(chǔ),也是無(wú)人車開(kāi)發(fā)的必經(jīng)之路。它能夠獲取無(wú)人車狀態(tài),給無(wú)人車發(fā)送控制指令,提供外部接口給APP或者web應(yīng)用使用。無(wú)人車云平臺(tái)是開(kāi)發(fā)無(wú)人車的最基礎(chǔ)和最關(guān)鍵的一環(huán),具有重大意義。
本文基于新石器無(wú)人車,利用Node.js 軟件開(kāi)發(fā)了無(wú)人車元管理平臺(tái)。Node.js是運(yùn)行在服務(wù)端的JavaScript,基于Chrome JavaScript 建立云平臺(tái)。無(wú)人車云平臺(tái)是無(wú)人車的調(diào)度、控制系統(tǒng),它連接無(wú)人車及其上層應(yīng)用。云平臺(tái)通過(guò)WS長(zhǎng)鏈接控制無(wú)人車,通過(guò)HTTP接口向短信中心、手機(jī)APP等上層應(yīng)用提供數(shù)據(jù)。上層應(yīng)用通過(guò)云平臺(tái)獲取車輛狀態(tài)、地圖及站點(diǎn)信息及控制指令等數(shù)據(jù),通過(guò)獲取無(wú)人車電量、位置、速度等信息,實(shí)現(xiàn)無(wú)人車的啟動(dòng)、調(diào)度、停止等操作,進(jìn)而實(shí)現(xiàn)車輛的遠(yuǎn)程控制和管理。
無(wú)人車作為面向未來(lái)、可移動(dòng)的智能終端設(shè)備,最重要的部件是中央控制單元VCI。VCI是無(wú)人自動(dòng)駕駛場(chǎng)景化下的業(yè)務(wù)中樞系統(tǒng),負(fù)責(zé)對(duì)網(wǎng)絡(luò)訪問(wèn)、機(jī)械機(jī)構(gòu)控制、閾值糾錯(cuò)進(jìn)行相應(yīng)的處理和隔離,并對(duì)整車狀態(tài)和故障做實(shí)時(shí)分析。
圖1 無(wú)人車云平臺(tái)系統(tǒng)架構(gòu)圖
本文開(kāi)發(fā)的基于Node.js的云平臺(tái)就是通過(guò)VCI進(jìn)行車輛控制、行駛管理的網(wǎng)絡(luò)管理平臺(tái),是無(wú)人車生鮮配送系統(tǒng)開(kāi)發(fā)中最基礎(chǔ)、最關(guān)鍵的一環(huán)。無(wú)人車云平臺(tái)一端操控?zé)o人車,一端為上層應(yīng)用提供服務(wù)。云平臺(tái)通過(guò)調(diào)用百度地圖接口,為上層應(yīng)用提供無(wú)人車狀態(tài)、無(wú)人車位置、地圖站點(diǎn)等查詢服務(wù),通過(guò)云端對(duì)無(wú)人車進(jìn)行啟動(dòng)調(diào)度、終止調(diào)度、取消調(diào)度等操作。
本文采用先進(jìn)的NodeJs、基于python的Djiango后端框架,通過(guò)互聯(lián)網(wǎng)云鏈接到無(wú)人車,根據(jù)無(wú)人車接口協(xié)議,建立一整套的底層數(shù)據(jù)接口。無(wú)人車云平臺(tái)開(kāi)發(fā)流程如圖2所示,云平臺(tái)通過(guò)接口進(jìn)行無(wú)人車的狀態(tài)查詢和命令控制。
圖2 無(wú)人車云平臺(tái)開(kāi)發(fā)流程圖
無(wú)人車狀態(tài)查詢流程如下:
(1)接口接收到查詢請(qǐng)求后,將請(qǐng)求按照接口協(xié)議進(jìn)行編碼。
(2)接口將查詢信息傳送至無(wú)人車。
(3)無(wú)人車反饋信息給接口。
(4)接口將信息傳送給上層應(yīng)用。
基于Node.js的WEB云平臺(tái)服務(wù)是無(wú)人車智能派件系統(tǒng)開(kāi)發(fā)最基礎(chǔ)和最關(guān)鍵的一環(huán)。如圖3所示,無(wú)人車云平臺(tái)一端操控?zé)o人車,一端為上層應(yīng)用提供服務(wù)。無(wú)人車云平臺(tái)調(diào)用百度地圖接口,為上層應(yīng)用提供無(wú)人車狀態(tài)、無(wú)人車位置、地圖站點(diǎn)等查詢服務(wù),通過(guò)云端對(duì)無(wú)人車進(jìn)行啟動(dòng)調(diào)度、終止調(diào)度、取消調(diào)度等操作。
圖3 無(wú)人車云平臺(tái)
通過(guò)“車輛實(shí)時(shí)狀態(tài)”接口查詢車輛實(shí)時(shí)狀態(tài),利用JSON數(shù)據(jù)傳輸,返回當(dāng)前車輛狀態(tài)。部分請(qǐng)求參數(shù)和響應(yīng)參數(shù)分別見(jiàn)表1和表2。
表1 車輛實(shí)時(shí)狀態(tài)請(qǐng)求參數(shù)表
表2 車輛實(shí)時(shí)狀態(tài)響應(yīng)參數(shù)表
車輛實(shí)時(shí)狀態(tài)請(qǐng)求參數(shù)表中,req、massegid、timestap三個(gè)參數(shù)都是必須字段,數(shù)據(jù)類型都是string。通過(guò)請(qǐng)求表的請(qǐng)求,返回響應(yīng)表中車輛位置(包括經(jīng)度、緯度)、電量、速度、時(shí)間等參數(shù),便于云平臺(tái)實(shí)時(shí)了解車輛信息。
通過(guò)“車輛??奎c(diǎn)列表”接口獲取車輛??空军c(diǎn)列表,利用JSON數(shù)據(jù)傳輸,返回車輛??空军c(diǎn)編號(hào)、站點(diǎn)名稱等信息。部分請(qǐng)求參數(shù)和響應(yīng)參數(shù)分別見(jiàn)表3和表4。
表3 車輛??奎c(diǎn)列表請(qǐng)求參數(shù)表
表4 車輛??奎c(diǎn)列表響應(yīng)參數(shù)表
車輛??奎c(diǎn)列表請(qǐng)求參數(shù)表有partnerid、timestap、sign三個(gè)參數(shù),期中sign參數(shù)的生成規(guī)則如下。
(1)接口中所有字符串都是用utf-8編碼;
(2)把接口中所有使用的參數(shù)(不包含sign),按照字典順序排序,得到鍵值對(duì)的列表,把鍵值對(duì)列 表以字符串的形式用&拼接到一起;
(3)在上面的字符串后面拼接secret;
(4)對(duì)上面的字符串計(jì)算md5小寫形式,即得到簽名。
車輛??奎c(diǎn)列表響應(yīng)參數(shù)表返回站點(diǎn)編號(hào)、站點(diǎn)名稱等站點(diǎn)列表相關(guān)信息。
基于新石器無(wú)人車的云服務(wù)測(cè)試平臺(tái)的搭建如圖4所示。
圖4 無(wú)人車云服務(wù)平臺(tái)搭建
通過(guò)云服務(wù)平臺(tái),可以讀取車的位置、電量、速度等狀態(tài)信息,控制無(wú)人車的啟動(dòng)、停止等動(dòng)作。利用開(kāi)發(fā)的軟件平臺(tái),能夠獲取當(dāng)前無(wú)人車的站點(diǎn)地圖,如圖5所示。
圖5 無(wú)人車云平臺(tái)讀取站點(diǎn)列表
本文基于新石器無(wú)人車,搭建云服務(wù)平臺(tái),開(kāi)發(fā)云端管理、控制相關(guān)服務(wù)。通過(guò)無(wú)人車云平臺(tái)后端接口開(kāi)發(fā),為前端界面提供數(shù)據(jù)支持,為手機(jī)app提供數(shù)據(jù)接口,為無(wú)人車app提供接入功能,為以后無(wú)人車的操控提供數(shù)據(jù)支持。
在現(xiàn)階段,由于技術(shù)、設(shè)備及相關(guān)政策等原因,無(wú)人車應(yīng)用還處在起步階段。在未來(lái),無(wú)人車在處理視覺(jué)、底層、控制層的數(shù)據(jù)能力將大大提升,將在無(wú)人駕駛方面扮演越來(lái)越重要的角色。隨著無(wú)人駕駛技術(shù)的進(jìn)步和無(wú)人車的量產(chǎn),無(wú)人車在配送、安防等各領(lǐng)域的應(yīng)用會(huì)越來(lái)越普及。