徐華全,葉德超,謝振東,董志國,于潔涵
(1.廣東工業(yè)大學(xué),廣州 510000;2.廣州市公共交通集團(tuán)有限公司,廣州 510000)
近年來,云計(jì)算、大數(shù)據(jù)、人工智能等新興技術(shù)迅速發(fā)展,并與傳統(tǒng)產(chǎn)業(yè)加速融合,極大地促進(jìn)了無人車技術(shù)的研究。路徑規(guī)劃作為無人駕駛領(lǐng)域的研究熱點(diǎn)之一,根據(jù)出行的需求,通過路徑規(guī)劃算法在起點(diǎn)和終點(diǎn)之間規(guī)劃一條最優(yōu)的路徑,縮短行車距離、減少出行時(shí)間,可以有效地提高人們的出行效率。環(huán)境感知是實(shí)現(xiàn)無人車路徑規(guī)劃的另一個(gè)關(guān)鍵技術(shù),為無人車識(shí)別交通信息、檢測(cè)障礙物、實(shí)時(shí)避障提供了必要的技術(shù)支撐,準(zhǔn)確的環(huán)境感知信息是無人車安全和穩(wěn)定的基礎(chǔ)前提。
路徑規(guī)劃是當(dāng)車輛在具有交通信號(hào)燈、行人、車輛等障礙物的道路上行駛時(shí),規(guī)劃從起點(diǎn)到目標(biāo)點(diǎn)的無碰撞的最優(yōu)路徑。一般路徑規(guī)劃可以分為局部路徑規(guī)劃和全局路徑規(guī)劃,兩者常合并使用。局部路徑規(guī)劃是指車輛在行駛過程中實(shí)時(shí)感知行駛環(huán)境從而實(shí)現(xiàn)動(dòng)態(tài)避障。常見的局部路徑規(guī)劃算法包括人工勢(shì)場法、神經(jīng)網(wǎng)絡(luò)法、模擬退火法等。全局路徑規(guī)劃又稱為靜態(tài)規(guī)劃算法,是指基于全局地圖、基于約束條件從起點(diǎn)到目標(biāo)點(diǎn)構(gòu)建的成本最低、效率最高的行車路徑規(guī)劃。常見的全局路徑規(guī)劃算法包括Dijkstra算法、RRT算法、蟻群算法等。
目標(biāo)檢測(cè)技術(shù)可實(shí)現(xiàn)視頻圖像信息的識(shí)別與定位,及時(shí)反饋到控制中心進(jìn)行路徑?jīng)Q策,實(shí)時(shí)、準(zhǔn)確的目標(biāo)檢測(cè)是無人車實(shí)現(xiàn)路徑規(guī)劃的前提。車路協(xié)同模式是常見的一種實(shí)現(xiàn)環(huán)境感知的方式,車輛通過搭載傳感器設(shè)備和利用路旁的物聯(lián)網(wǎng)設(shè)備,獲得交通信號(hào)燈、道路擁堵情況、車輛行駛速度等實(shí)時(shí)的行車數(shù)據(jù)。車機(jī)協(xié)同模式是通過無人機(jī)搭載的視覺傳感器等圖像識(shí)別設(shè)備,感知車輛在道路上行駛的環(huán)境信息,反饋到車載圖像處理器,并利用模式識(shí)別、圖像檢測(cè)等技術(shù)判斷障礙物的存在。本文所采用的是基于無人機(jī)智能系統(tǒng)的車機(jī)協(xié)同模式,可以充分地發(fā)揮無人在空中的靈活性優(yōu)勢(shì),避免車路協(xié)同模式下可能出現(xiàn)的因路旁設(shè)備出現(xiàn)故障或被認(rèn)為損壞導(dǎo)致的識(shí)別不準(zhǔn)問題。
無人機(jī)與無人車協(xié)同的車機(jī)模式是針對(duì)單車智能存在的問題而改進(jìn)的。在車機(jī)協(xié)同模式下,為獲得城市交通實(shí)時(shí)、準(zhǔn)確的路況信息,把無人車系統(tǒng)和無人機(jī)系統(tǒng)相結(jié)合,通過協(xié)同云平臺(tái)實(shí)現(xiàn)任務(wù)派發(fā),為無人車提供全面、準(zhǔn)確的環(huán)境感知信息,實(shí)現(xiàn)路徑規(guī)劃。
無人智能系統(tǒng)結(jié)構(gòu)如圖1所示。該無人智能系統(tǒng)主要由無人車子平臺(tái)、無人機(jī)子平臺(tái)、協(xié)同平臺(tái)、數(shù)據(jù)傳輸系統(tǒng)組成。
圖1 無人智能系統(tǒng)模型
無人車子平臺(tái)由圖像處理模塊、無線通信模塊、視覺傳感器等組成。通過無人機(jī)對(duì)行駛信息進(jìn)行檢測(cè),通過高清圖傳向協(xié)同聯(lián)動(dòng)平臺(tái)上傳圖片視頻資料。當(dāng)識(shí)別到道路的障礙物信息或道路異常(地面積水、塌陷、施工路障等)時(shí),云平臺(tái)向無人車和出行信息平臺(tái)上報(bào)情況,無人車接收到信息后作出繞行任務(wù)。
無人機(jī)子平臺(tái)搭載了視頻采集設(shè)備、無線圖像發(fā)射機(jī)、電池等裝置、無線通信設(shè)備和數(shù)據(jù)傳輸傳輸模塊。主要任務(wù)是獲取無人車的行駛環(huán)境信息,并實(shí)現(xiàn)數(shù)據(jù)傳輸。
協(xié)同平臺(tái)主要負(fù)責(zé)進(jìn)一步的數(shù)據(jù)處理與共享,是集圖像數(shù)據(jù)接收、圖像信息處理、路徑規(guī)劃發(fā)布等多種功能于一體的綜合控制中心。其核心任務(wù)是根據(jù)視頻圖像數(shù)據(jù),實(shí)現(xiàn)任務(wù)派發(fā)。
數(shù)據(jù)傳輸系統(tǒng)主要通過5G-V2X網(wǎng)絡(luò),實(shí)現(xiàn)車與機(jī)、車與路側(cè)設(shè)備之間的通信,將車輛速度、方向、加速度等信息經(jīng)過處理后上傳至路側(cè)基站或向周邊車輛發(fā)布,為車輛的輔助駕駛提供支撐。
依據(jù)V2X應(yīng)用開發(fā)采用層次化、模塊化設(shè)計(jì)的原則,將應(yīng)用軟件與硬件平臺(tái)獨(dú)立開來,開發(fā)完成具有較高的可測(cè)試性、可擴(kuò)展性和可移植性的V2X通信協(xié)議。整體軟件可劃分為I/O層、應(yīng)用服務(wù)層和應(yīng)用層。每層軟件劃分為多個(gè)相互獨(dú)立的模塊,耦合性低。
I/O層主要負(fù)責(zé)設(shè)備與外部設(shè)備的通信功能,實(shí)現(xiàn)設(shè)備所有數(shù)據(jù)的輸入輸出,包括GPS模塊、無線通信模塊和控制器域網(wǎng)(CAN)通信等。
應(yīng)用服務(wù)層主要負(fù)責(zé)對(duì)輸入數(shù)據(jù)的整合、處理,并分發(fā)至應(yīng)用層,同時(shí)為應(yīng)用層提供數(shù)據(jù)發(fā)送的接口,對(duì)應(yīng)用層輸出的各安全預(yù)警進(jìn)行統(tǒng)一調(diào)度和仲裁,輸出最緊急的預(yù)警信息。
應(yīng)用層主要負(fù)責(zé)常見的安全應(yīng)用和第三方應(yīng)用,實(shí)現(xiàn)影響車輛安全的危險(xiǎn)判別和輸出。
在以上3層軟件中,各層相互獨(dú)立、結(jié)合度低。只有I/O層與硬件平臺(tái)相關(guān)聯(lián),通過預(yù)先設(shè)定不同的接口,置換該層的軟件即可,在不同的硬件平臺(tái)之間移植變得容易。同時(shí),安全應(yīng)用程序之間相互獨(dú)立,應(yīng)用程序的擴(kuò)展容易。
基于YOLOv2算法,YOLOv3引入了殘差模型Darknet-53,優(yōu)化后的網(wǎng)絡(luò)卷積層數(shù)為53個(gè)。同時(shí),YOLOv3引入了FPN架構(gòu),從不同的尺度提取目標(biāo)特征,在保持著不錯(cuò)的計(jì)算速度的同時(shí),檢測(cè)的精度也得到了提高。作為全新的end-to-end,基于回歸的深度學(xué)習(xí)目標(biāo)檢測(cè)算法,與其他深度學(xué)習(xí)算法有以下區(qū)別。
1)R-CNN、Faster-RCNN也是目前廣泛應(yīng)用的目標(biāo)檢測(cè)方法,YOLO系列算法的突出優(yōu)勢(shì)在于其檢測(cè)速度上可以滿足實(shí)時(shí)性的要求。在城市道路中行駛的車輛,需要實(shí)時(shí)檢測(cè)路況的信息,對(duì)實(shí)時(shí)性的要求非常高,因此,YOLO算法在圖像處理上具有明顯優(yōu)勢(shì)。
2)YOLO算法可直接將一幅圖像作為卷積模型的輸入,回歸目標(biāo)類別和檢測(cè)位置,實(shí)現(xiàn)end-to-end的目標(biāo)檢測(cè)。R-CNN等算法為了實(shí)現(xiàn)目標(biāo)的檢測(cè)位置,首先需要判斷框架中是否存在目標(biāo),通過線性回歸等方法調(diào)整檢測(cè)的位置和大小。
3.1.1 基于YOLOv3的障礙物檢測(cè)實(shí)驗(yàn)與結(jié)果分析
傳統(tǒng)的檢測(cè)模型逐漸被替代,而基于深度學(xué)習(xí)的目標(biāo)檢測(cè)模型廣泛應(yīng)用到了城市智能交通領(lǐng)域。面對(duì)數(shù)據(jù)量大、實(shí)時(shí)性高、環(huán)境復(fù)雜的交通環(huán)境,需要運(yùn)算速度快、識(shí)別精度高的檢測(cè)模型來完成分類和定位任務(wù),為車輛的路徑規(guī)劃提供基礎(chǔ)條件。
該實(shí)驗(yàn)是在Pycharm環(huán)境下進(jìn)行,基于Darknet、Python、numpy和opencv等。數(shù)據(jù)集擁有超過330 K張的圖像,其中的220K張帶有圖像標(biāo)注,數(shù)據(jù)集包含了150萬個(gè)目標(biāo),行人、汽車、交通信號(hào)燈等80個(gè)目標(biāo)類別,如圖2所示。
圖2 測(cè)試集中部分圖片的目標(biāo)檢測(cè)結(jié)果
從測(cè)試集的檢測(cè)結(jié)果可見,YOLOv3網(wǎng)絡(luò)模型對(duì)路況信息的檢測(cè)效果基本滿足要求,在實(shí)驗(yàn)中僅對(duì)少數(shù)的一些較遠(yuǎn)的目標(biāo)類存在漏檢。據(jù)上述分析可知,無人機(jī)平臺(tái)在處理圖像信息時(shí),YOLO算法可以較好地標(biāo)定障礙物信息,引導(dǎo)無人車更安全地躲避障礙物。同時(shí)YOLO系列的算法也在不斷地優(yōu)化,應(yīng)用到無人車的環(huán)境感知效果會(huì)越來越好。
3.2.1 人工勢(shì)場模型
無人車在人工勢(shì)場法中,受目標(biāo)點(diǎn)對(duì)車輛的引力場作用和障礙物對(duì)車輛的斥力場作用,兩者的合力為車輛行駛的路徑方向。假設(shè)在一個(gè)二維運(yùn)動(dòng)空間中,存在一輛小車和一個(gè)目標(biāo)點(diǎn),并且小車的當(dāng)前位置和目標(biāo)點(diǎn)坐標(biāo)分別為Lc(xc,yc)、Lg(xg,yg),那么目標(biāo)點(diǎn)相對(duì)于車輛當(dāng)前位置的引力場函數(shù)為
式中:λ是引力場系數(shù)。
對(duì)引力場函數(shù)求梯度,即求引力場對(duì)距離的導(dǎo)數(shù)。所得的結(jié)果即為無人車受到的引力
此時(shí),在無人車的行駛過程中存在障礙物L(fēng)o(xo,yo),則定義障礙物對(duì)車輛當(dāng)前所處位置的斥力場函數(shù)為
式中:η為斥力場系數(shù),D(Lc,Lo)為無人車到障礙物的距離,Do為斥力勢(shì)場的作用范圍,只有在斥力作用范圍內(nèi)的無人車才會(huì)受到斥力作用。
對(duì)斥力函數(shù)求梯度,即求斥力場對(duì)障礙物距離的導(dǎo)數(shù)。所得的結(jié)果即為無人車受到的斥力
綜上所述,無人車在運(yùn)動(dòng)空間中受到的合力為
3.2.2 改進(jìn)人工勢(shì)場模型
當(dāng)障礙物存在于接近目標(biāo)點(diǎn)的區(qū)域時(shí),由于Lc-Lg較小,引力Faat非常小,障礙物斥力越來越大,無人駕駛汽車因此無法到達(dá)目標(biāo)點(diǎn)。因此,通過引入無人車與目標(biāo)位置的距離到斥力函數(shù),減少無人車在目標(biāo)點(diǎn)位置時(shí)受到的斥力影響,改進(jìn)后的斥力函數(shù)
在人工勢(shì)場法中,由于Lc-Lg過大,受到的引力Faat大,使得斥力相對(duì)較小,導(dǎo)致無人車與障礙物發(fā)生碰撞??稍诰嚯x目標(biāo)點(diǎn)較遠(yuǎn)的位置減少無人車收到的引力作用,具體改進(jìn)后的引力函數(shù)為
式中:l為設(shè)定的距離,當(dāng)無人車到目標(biāo)點(diǎn)的距離大于該值時(shí),可以有效降低車輛受到的引力。
3.2.3 改進(jìn)人工勢(shì)場實(shí)驗(yàn)仿真
根據(jù)3.1.1中YOLOv3的目標(biāo)檢測(cè)方法,能夠識(shí)別障礙物位置信息。通過圖像預(yù)處理,將障礙物質(zhì)點(diǎn)化,將障礙物的位置信息變換為對(duì)應(yīng)的二維空間坐標(biāo)并存儲(chǔ),供路徑規(guī)劃的模擬。
實(shí)驗(yàn)在MATLAB進(jìn)行,主要的步驟包括構(gòu)建空間坐標(biāo)系、初始化參數(shù)、障礙物信息、引力常數(shù)和斥力常數(shù)等;通過改進(jìn)后的引力和斥力場函數(shù)進(jìn)行引力、斥力及合力的計(jì)算。為了驗(yàn)證改進(jìn)后的效果,將改進(jìn)前的算法于改進(jìn)后的算法進(jìn)行比較。實(shí)現(xiàn)結(jié)果如圖3所示。
如圖3(a)所示,車輛行駛至距離目標(biāo)點(diǎn)較近的位置,受到障礙物的影響,此時(shí)由于斥力作用較大,導(dǎo)致無人車發(fā)生振蕩,無法到達(dá)目標(biāo)點(diǎn);在圖3(b)中,由于車輛的位置距離目標(biāo)點(diǎn)較遠(yuǎn),受到的引力較大,與障礙物發(fā)生了碰撞。圖3(c)和圖3(d)是改進(jìn)后的仿真效果,可以看出改進(jìn)后的算法可以有效地解決傳統(tǒng)人工勢(shì)場法存在的問題,無人車可以順利避障和目標(biāo)可達(dá)。
圖3 傳統(tǒng)人工勢(shì)場法與改進(jìn)后的效果對(duì)比
圖4 傳統(tǒng)人工勢(shì)場法下路徑規(guī)劃路線
圖5 改進(jìn)人工勢(shì)場法下路徑規(guī)劃路線
將無人機(jī)采集到的某一幀圖像的障礙物位置信息導(dǎo)入,模擬在該環(huán)境下無人車的路徑規(guī)劃。在MATLAB上處理器為i77500U CPU@2.70GHz,改進(jìn)后的算法在面對(duì)障礙物時(shí)表現(xiàn)要更優(yōu),路徑更平滑,體驗(yàn)更好。改進(jìn)后的人工勢(shì)場法處理障礙物的能力更強(qiáng),路徑更短,路徑平滑度更高,如圖4、圖5所示。相關(guān)數(shù)據(jù)對(duì)比見表2。
表2 人工勢(shì)場算法實(shí)驗(yàn)數(shù)據(jù)
本文提出的面向無人智能系統(tǒng)的車機(jī)模式是對(duì)無人車單車智能模式的補(bǔ)充,綜合考慮目標(biāo)檢測(cè)和路徑規(guī)劃2項(xiàng)無人車重要技術(shù),提出了基于YOLOv3算法和改進(jìn)人工勢(shì)場法相結(jié)合的無人車局部路徑規(guī)劃方案。實(shí)驗(yàn)結(jié)果表明:VOLOv3算法對(duì)城市交通中常見標(biāo)志物的檢測(cè)具有很好的實(shí)時(shí)性和精確性;改進(jìn)后的人工勢(shì)場法顯著提高了無人車路徑平滑度,有效地規(guī)劃出車輛的行駛路徑。隨著YOLO系列算法的不斷發(fā)展,可以更好地應(yīng)用于障礙物檢測(cè)中,但無人車在實(shí)際復(fù)雜環(huán)境下的避障能力有待后續(xù)進(jìn)一步研究。