熊文軍, 趙山虎, 李世博, 楊建華*, 范孝波, 孫洪良
(1.西北工業(yè)大學(xué) 自動(dòng)化學(xué)院,陜西 西安 710129; 2.江蘇悅達(dá)專用車有限公司 特種車輛研究院,江蘇 鹽城 224007)
隨著我國(guó)城鎮(zhèn)化率不斷提高,2018年底各類道路保潔面積已近90億平方米。國(guó)家《十三五規(guī)劃綱要》要求2020年機(jī)械化清掃保潔率要達(dá)到60%,而發(fā)達(dá)國(guó)家已達(dá)80%以上。清潔車作為城鄉(xiāng)各類硬質(zhì)路面深度清潔與垃圾回收運(yùn)轉(zhuǎn)作業(yè)的重要手段,具有巨大的市場(chǎng)前景。
但是市面上的清潔車目前還停留在駕駛員人為控制清掃過(guò)程的階段,清掃盤和噴水桿在工作時(shí)擺出(如圖1所示),容易因駕駛員的疏忽造成清掃盤和噴水桿與路肩的碰撞(如圖2所示),加速清掃盤和噴水桿的損壞。這一突出問(wèn)題導(dǎo)致清掃盤和噴水桿成為清潔車最容易受損的設(shè)備,也成為清潔車行業(yè)的痛點(diǎn)問(wèn)題。為了解決這個(gè)問(wèn)題,筆者設(shè)計(jì)了一種清潔車避障方法。
圖1 清潔車清掃盤和噴水桿擺出示意圖
圖2 清潔車清掃盤與路肩碰撞示意圖
針對(duì)汽車的避障已經(jīng)涌現(xiàn)了各種各樣的方法,旨在減少因車輛與障礙物碰撞而造成的損失。黃中友等[1]提出了一種基于大數(shù)據(jù)和即時(shí)建模的避障方法,計(jì)算時(shí)間短、效果好,但需要大量的數(shù)據(jù)輸入。趙文明[2]提出了一種基于機(jī)器視覺(jué)的汽車自主避障方法,通過(guò)圖像處理技術(shù)獲取車道線和障礙物的位置進(jìn)行即時(shí)預(yù)警,但是誤差較大。于慧等[3]提出了一種基于改進(jìn)型人工勢(shì)場(chǎng)的動(dòng)態(tài)避障算法,可以規(guī)劃出一條安全可靠的行駛路徑,但是會(huì)因局部極小值導(dǎo)致車輛無(wú)法到達(dá)目的地。王曉茹等[4]提出了一種基于點(diǎn)質(zhì)量模型與三自由度模型的主動(dòng)轉(zhuǎn)向避障方法,可以獲得較小的航向誤差,但是橫向誤差較大。宋子豪[5]提出了一種基于雙目立體視覺(jué)的汽車測(cè)距避障方法,檢測(cè)速度可以達(dá)到80 f/s,但是平均檢測(cè)精度只有55.3%,準(zhǔn)確率過(guò)低。以上方法都主要針對(duì)車輛在行使過(guò)程中對(duì)其他車輛、護(hù)欄等高度較高的障礙物的避障,通過(guò)對(duì)車輛行駛方向、速度的控制實(shí)現(xiàn)自主避障,但在一定程度上存在安全性和工程倫理問(wèn)題。而針對(duì)清潔車的清掃盤和噴水桿等清掃設(shè)備的避障研究文獻(xiàn)較少,龔雪等[6]提出了一種基于改進(jìn)模型RP-YOLOv3的洗掃車掃盤避障系統(tǒng),通過(guò)目標(biāo)檢測(cè)算法識(shí)別車、行人、護(hù)欄和石墩等障礙物的位置來(lái)進(jìn)行避障,識(shí)別準(zhǔn)確率較高,但難以通過(guò)圖像中的位置把握掃盤和障礙物的實(shí)際距離,避障效果較差。針對(duì)現(xiàn)有方法在準(zhǔn)確率和安全性方面存在的問(wèn)題,筆者設(shè)計(jì)了一種準(zhǔn)確且高效的方法實(shí)現(xiàn)清潔車避障。
清潔車避障首先需要解決的問(wèn)題是對(duì)車身和路肩相對(duì)位置的準(zhǔn)確把握,這樣才能為避障算法提供可靠的輸入。由于清潔車進(jìn)行清掃作業(yè)時(shí)前進(jìn)方向總是與路肩保持基本平行,對(duì)路肩與車相對(duì)位置的測(cè)量可以簡(jiǎn)化為車到路肩水平距離的測(cè)量。毫米波測(cè)距、紅外測(cè)距、激光測(cè)距和超聲波測(cè)距是移動(dòng)目標(biāo)避障中常用的測(cè)距方法[7]。毫米波雷達(dá)廣泛應(yīng)用于國(guó)防、商用、民用等領(lǐng)域[8],其設(shè)備尺寸小、分辨率高、抗環(huán)境干擾能力強(qiáng),但它對(duì)體積小、距離近的障礙物測(cè)距效果不佳,而且價(jià)格昂貴。紅外測(cè)距測(cè)量時(shí)間短、功耗低[9],夜間測(cè)量精度高,但其容易受到外界環(huán)境的影響,測(cè)量精度受被測(cè)物體的形狀、顏色和周圍光線等因素影響嚴(yán)重,測(cè)量誤差較大。激光測(cè)距雷達(dá)能夠同時(shí)兼顧檢測(cè)速度和精度要求,在黑暗環(huán)境下也有很好的檢測(cè)效果,但它對(duì)安裝精度要求很高且價(jià)格昂貴[10]。超聲波傳感器幾乎不受外界光線、灰塵、電磁場(chǎng)等惡劣條件的影響,具有抗干擾能力強(qiáng)、響應(yīng)時(shí)間短和電路易于實(shí)現(xiàn)等優(yōu)點(diǎn),而且超聲波測(cè)距模塊的結(jié)構(gòu)簡(jiǎn)單、硬件成本低[11]、體積較小、應(yīng)用簡(jiǎn)單可靠,便于設(shè)計(jì)使用。但是超聲波測(cè)距方向性差,會(huì)由于車輛移動(dòng)速度過(guò)快和較大的波束角導(dǎo)致測(cè)量誤差,而且不能獲得目標(biāo)的尺寸大小信息。對(duì)于清潔車避障測(cè)距而言,超聲波測(cè)距的優(yōu)勢(shì)明顯,清潔車車速較慢且只需要距離信息即可進(jìn)行避障。
清潔車避障不僅需要獲取可靠的距離信息,而且需要可靠的避障算法。前人采用的避障算法都是基于對(duì)車輛駕駛的控制,包括前進(jìn)方向、車速和制動(dòng)的控制,算法較為復(fù)雜且易因失誤造成嚴(yán)重的交通事故。
因此筆者采取一種新的避障算法,針對(duì)清潔車清掃盤和噴水桿的避障需求,不控制清潔車行駛過(guò)程,而是通過(guò)控制清掃盤和噴水桿的收回來(lái)避障,這樣可以在保證行車安全的同時(shí)可有效降低清掃盤和噴水桿的損耗。
本文設(shè)計(jì)采用車載高性能計(jì)算設(shè)備Jetson AGX Xavier處理距離信息,采用價(jià)格高昂的計(jì)算設(shè)備的原因在于本文的系統(tǒng)是項(xiàng)目總系統(tǒng)的一個(gè)子系統(tǒng),總系統(tǒng)的所有子系統(tǒng)全都部署在Jetson AGX Xavier上,其中包含深度學(xué)習(xí)算法。Jetson AGX Xavier具備高性能的計(jì)算能力,可以同時(shí)滿足深度學(xué)習(xí)算法和嵌入式開(kāi)發(fā)的要求。
所設(shè)計(jì)的系統(tǒng)將安裝于清潔車上,在路肩高度不同的路段進(jìn)行試驗(yàn),預(yù)計(jì)所設(shè)計(jì)的系統(tǒng)能夠在將發(fā)生路肩與清掃盤和噴水桿碰撞的地段即時(shí)控制清掃盤和噴水桿收回,從而達(dá)到減少損失的目的,這也在一定程度上提高了清潔車的智能化水平。
硬件系統(tǒng)的整體結(jié)構(gòu)如圖3所示,分為兩個(gè)部分:本文設(shè)計(jì)部分和清潔車自有部分。其中,清潔車自有部分包括車載CAN設(shè)備控制器和車載CAN信號(hào)執(zhí)行器(清掃盤和噴水桿等),司機(jī)可以通過(guò)手動(dòng)操作控制面板的方式向車載CAN設(shè)備控制器發(fā)送相應(yīng)的控制命令,車載CAN設(shè)備控制器控制車載CAN信號(hào)執(zhí)行器做出相應(yīng)動(dòng)作。車載CAN設(shè)備控制器提供了可以外部接入的CAN接口,因此可以通過(guò)CAN接口接收CAN報(bào)文來(lái)實(shí)現(xiàn)對(duì)車載CAN信號(hào)執(zhí)行器的控制。
圖3 硬件系統(tǒng)總體結(jié)構(gòu)圖
本文檢測(cè)系統(tǒng)由超聲傳感器檢測(cè)電路、車載高性能計(jì)算設(shè)備Jetson AGX Xavier和CAN通信電路3個(gè)部分組成。超聲傳感器檢測(cè)電路為相同的兩套,安裝在清潔車靠近車頭的兩側(cè),分別測(cè)量清潔車與左右兩側(cè)路肩的水平距離,并通過(guò)長(zhǎng)度分別為3 m和5 m(兩個(gè)傳感器與計(jì)算平臺(tái)之間距離)的RS232轉(zhuǎn)USB線將距離信息傳送到Jetson AGX Xavier。在Jetson AGX Xavier上運(yùn)行相應(yīng)的避障算法,實(shí)時(shí)處理上傳的距離信息,生成相應(yīng)的控制命令,通過(guò)CAN通信電路發(fā)送到車載CAN設(shè)備控制器控制清掃盤和噴水桿等車載CAN信號(hào)執(zhí)行器做出相應(yīng)動(dòng)作。
1.2.1 超聲測(cè)距原理
超聲波測(cè)距源自于蝙蝠的回波定位,在無(wú)接觸測(cè)距領(lǐng)域應(yīng)用廣泛[12]。超聲波是一種頻率在20 kHz以上的機(jī)械波,其波長(zhǎng)短、穿透性強(qiáng)、反射能力強(qiáng),具有一定的方向性。超聲波在同種傳播介質(zhì)中傳播速度恒定,在不同傳播介質(zhì)的分界面或遇到雜質(zhì)會(huì)產(chǎn)生反射現(xiàn)象。這種反射具有散射性,不是嚴(yán)格定向的[13]??梢岳贸暡ǖ倪@種反射特性進(jìn)行距離檢測(cè)。
共振法、頻差法和脈沖回波法是3種常用的超聲波測(cè)距方法,前兩種方法檢測(cè)精度不高,而脈沖回波測(cè)距法較為直觀且應(yīng)用廣泛,該方法利用超聲波在空氣中傳播速度恒定的特性,通過(guò)檢測(cè)超聲波傳播時(shí)間進(jìn)行測(cè)距,重點(diǎn)是對(duì)傳感器發(fā)射的回波進(jìn)行識(shí)別,通常通過(guò)電路來(lái)實(shí)現(xiàn)。超聲波脈沖回波測(cè)距法原理如圖4所示[14]。
圖4 超聲測(cè)距原理圖
脈沖回波測(cè)距法原理為:由超聲傳感器發(fā)射端不斷沿一個(gè)方向發(fā)射超聲波,超聲波遇到物體表面會(huì)發(fā)生反射,超聲傳感器接收端也在不斷接收反射脈沖,通過(guò)測(cè)量同一超聲脈沖從發(fā)射到被接收的時(shí)間間隔Δt,結(jié)合己知的超聲波聲速v,利用式(1)可以計(jì)算出傳感器發(fā)射端到被測(cè)物之間的距離L。
(1)
設(shè)θ為超聲波傳播距離L與傳感器和障礙物水平距離d之間的夾角,則d[15]可通過(guò)式(2)算出。
d=Lcosθ
(2)
(3)
1.2.2 超聲傳感器選型
考慮系統(tǒng)高塵、潮濕的應(yīng)用環(huán)境,檢測(cè)系統(tǒng)選用了DYP-A02-V2.0超聲傳感器用于檢測(cè)清掃盤到路肩的距離,傳感器如圖5所示。DYP-A02-V2.0超聲傳感器測(cè)距范圍在3~450 cm之間,對(duì)被測(cè)物體和使用環(huán)境均無(wú)特殊要求。
圖5 DYP-A02-V2.0超聲傳感器實(shí)物圖
1.2.3 超聲傳感器檢測(cè)電路組成及原理
DYP-A02-V2.0超聲傳感器檢測(cè)電路如圖6所示。DYP-A02-V2.0超聲傳感器采用UART自動(dòng)輸出模式,每0.1 s自動(dòng)檢測(cè)1次距離,輸出TTL串口信號(hào)。由于傳感器和Jetson AGX Xavier之間存在較長(zhǎng)的傳輸距離,TTL信號(hào)可能會(huì)發(fā)生衰減,故采用RS232總線進(jìn)行轉(zhuǎn)接傳輸。超聲傳感器輸出的TTL信號(hào)經(jīng)過(guò)TTL轉(zhuǎn)RS232模塊轉(zhuǎn)換成RS232信號(hào),經(jīng)過(guò)3 m傳輸線,再經(jīng)過(guò)RS232轉(zhuǎn)USB轉(zhuǎn)接到Jetson AGX Xavier的USB接口,實(shí)現(xiàn)傳感器到Jetson AGX Xavier控制器的傳輸。
圖6 超聲傳感器檢測(cè)電路原理示意圖
NVIDIA Jetson AGX Xavier作為車載計(jì)算設(shè)備,實(shí)物如圖7所示。Xavier能耗低,能夠滿足相對(duì)較大型、復(fù)雜的神經(jīng)網(wǎng)絡(luò)計(jì)算要求,適合一些小型智能設(shè)備。由于其具有小巧的外形,實(shí)際應(yīng)用價(jià)值較高[16]。Xavier的分接板提供各種I/O接頭和端口,從標(biāo)準(zhǔn)的雙USB、Type-C、HDMI、千兆以太網(wǎng)接口到40-pinGPIO連接器等一系列典型的開(kāi)發(fā)板接頭都能在上面找到。40-pin接口如圖8所示,可以實(shí)現(xiàn)5路串口和2路CAN總線。
圖7 Jetson AGX Xavier實(shí)物圖
圖8 Jetson AGX Xavier 40-pin接口示意圖
Jetson AGX Xavier沒(méi)有現(xiàn)成的CAN通信接口,需要從40-pin擴(kuò)展接口接CAN收發(fā)器才能實(shí)現(xiàn)CAN通信。檢測(cè)系統(tǒng)采用TJA1050作為收發(fā)器,收發(fā)器與Jetson AGX Xavier組成的CAN通信電路如圖9所示。Jetson AGX Xavier的40-pin擴(kuò)展接口中的引腳33(CAN1_DOUT)與收發(fā)器上的TX引腳連接,引腳37(CAN1_DIN)與收發(fā)器上的RX引腳連接,收發(fā)器上的VCC引腳和GND引腳對(duì)應(yīng)接到Jetson AGX Xavier上的VCC引腳(pin17)和GND引腳(pin39)。收發(fā)器和車載CAN設(shè)備控制器則是CANL引腳和CANH引腳對(duì)應(yīng)相連接。
圖9 CAN 通信電路示意圖
Jetson AGX Xavier實(shí)現(xiàn)CAN通信除了需外接CAN收發(fā)器外,還需要進(jìn)行軟件配置。每次重啟之后都要運(yùn)行CAN通信配置程序方可進(jìn)行CAN通信。Jetson AGX Xavier使用Linux操作系統(tǒng),對(duì)寄存器等硬件的讀寫操作使用命令行來(lái)實(shí)現(xiàn)。CAN通信配置涉及的寄存器操作較多,都放在命令行里難以實(shí)現(xiàn),所以需要把相應(yīng)的配置命令放在一個(gè)bash腳本里面,每次重啟之后運(yùn)行該bash腳本實(shí)現(xiàn)CAN通信的軟件配置。bash腳本里編寫的配置程序流程如圖10所示,首先配置CAN控制器引腳對(duì)應(yīng)的兩個(gè)寄存器,然后在操作系統(tǒng)上掛載can、can_raw和mttcan等組件,接著設(shè)置CAN總線的波特率為0.1 Mbit/s、工作模式為正常模式,最后啟動(dòng)CAN。
圖10 CAN通信配置過(guò)程
Jetson AGX Xavier上使用Linux操作系統(tǒng),在該系統(tǒng)下安裝Python和Python的編譯器PyCharm,使用Python來(lái)實(shí)現(xiàn)路肩距離檢測(cè)和避障算法,相關(guān)的串口操作命令通過(guò)導(dǎo)入serial庫(kù)實(shí)現(xiàn),而CAN通信的相關(guān)操作命令通過(guò)導(dǎo)入CAN庫(kù)實(shí)現(xiàn)。
路肩距離檢測(cè)及避障算法流程圖如圖11所示。算法開(kāi)始以后,超聲傳感器每0.1 s檢測(cè)一次距離,判斷是否收到結(jié)束命令,若收到則結(jié)束,若沒(méi)收到則判斷距離是否小于既定閾值,若不小于則返回重新檢測(cè),若小于則進(jìn)入結(jié)果投票機(jī)制,結(jié)果票數(shù)小于閾值則返回重新檢測(cè),大于則信號(hào)經(jīng)由CAN通信電路傳送到車載CAN設(shè)備控制器控制清掃盤和噴水桿收回。
圖11 路肩距離檢測(cè)及避障程序流程圖
其中的投票機(jī)制為每有1次距離小于閾值則計(jì)1票,票數(shù)閾值為3,累計(jì)3票則控制清掃盤和噴水桿收回,距離大于閾值則清空計(jì)票,重置為0票。設(shè)置投票機(jī)制的目的在于避免傳感器輸出異常導(dǎo)致系統(tǒng)誤判,可以過(guò)濾異常距離檢測(cè)。
試驗(yàn)采用兩個(gè)超聲傳感器,清掃盤離地高度25 cm,噴水桿離地高度28 cm,傳感器安裝高度取兩者中較低高度為25 cm,具體位置如圖12所示。這一高度可以保證路肩高度達(dá)到25 cm及以上時(shí),超聲信號(hào)能夠垂直打到路肩并反射回來(lái),從而進(jìn)行測(cè)距和避障,而路肩高度低于25 cm時(shí),即使距離太近也不會(huì)碰撞,故沒(méi)有避障的需要。噴水桿位于清掃盤上方,超聲傳感器與二者的水平距離為4 m,試驗(yàn)車速為15 km/h,清潔車工作時(shí)的前進(jìn)速度一般為10~15 km/s。4 m的距離說(shuō)明從超聲傳感器檢測(cè)距離到控制清掃盤和噴水桿收回這段時(shí)間至少需要控制在1 s以內(nèi)才能滿足實(shí)時(shí)性要求,超聲傳感器檢測(cè)1次距離只需0.1 s,算法延時(shí)和CAN控制器控制清掃盤和噴水桿動(dòng)作延時(shí)在0.1 s以內(nèi),完全可以滿足實(shí)時(shí)性要求。試驗(yàn)道路為廠區(qū)道路,寬敞且相對(duì)平整。
圖12 超聲傳感器安裝示意圖
選取路肩高度分別為19 cm和34 cm的路段進(jìn)行測(cè)試。距離閾值設(shè)置為50 cm,清掃盤和噴水桿最大擺出距離為45 cm,閾值增加5 cm可提高容錯(cuò)率,測(cè)試時(shí)在距離路肩50 cm的位置畫線以便觀察。測(cè)試結(jié)果如表1所示,路肩高度分別為19 cm和34 cm的路段各進(jìn)行了50次測(cè)試,其中準(zhǔn)確率是指系統(tǒng)正確控制清掃盤和噴水桿的次數(shù)占總次數(shù)的比例。正確控制的情況為:路肩高度為19 cm時(shí),不管清潔車距離路肩多近,系統(tǒng)都不會(huì)控制清掃盤和噴水桿收回;當(dāng)路肩高度為34 cm時(shí),清潔車與路肩距離低于閾值則控制清掃盤和噴水桿收回,反之則擺出。從表1中可以看到,當(dāng)路肩高度為19 cm時(shí)準(zhǔn)確率為94%,路肩高度為34 cm時(shí)的準(zhǔn)確率為98%,綜合準(zhǔn)確率較高。
表1 測(cè)試結(jié)果
從測(cè)試結(jié)果來(lái)看,當(dāng)路肩高度為19 cm時(shí),出現(xiàn)了3次誤控制,在出現(xiàn)錯(cuò)誤的地方反復(fù)試驗(yàn),發(fā)現(xiàn)當(dāng)清潔車距離路肩較近時(shí),系統(tǒng)會(huì)控制清掃盤和噴水桿收回。經(jīng)分析發(fā)現(xiàn),雖然超聲傳感器安裝高度高于路肩高度,但超聲傳感器發(fā)送超聲波存在波束角,超聲波能打到的實(shí)際位置比發(fā)射端略低,加上車身抖動(dòng)造成的傳感器震動(dòng)導(dǎo)致某一時(shí)刻超聲信號(hào)打到路肩。此時(shí)清潔車與路肩的距離已經(jīng)低于閾值,清掃盤和噴水桿雖然沒(méi)有收回的必要,但收回也不會(huì)影響清潔車正常的清掃工作。
而當(dāng)路肩高度為34 cm時(shí)出現(xiàn)誤控制的情況,經(jīng)研究發(fā)現(xiàn),反復(fù)試驗(yàn)中某次清潔車距離路肩的距離已經(jīng)越過(guò)畫線(距離小于50 cm,經(jīng)測(cè)量實(shí)際值為48.5 cm),系統(tǒng)沒(méi)有控制清掃盤和噴水桿收回(此時(shí)傳感器檢測(cè)距離為50.2 cm)。經(jīng)分析發(fā)現(xiàn)原因在于超聲傳感器的測(cè)量精度會(huì)存在±2 cm的隨機(jī)誤差,導(dǎo)致測(cè)量存在偏差。
總的來(lái)說(shuō),本系統(tǒng)可以有效地實(shí)現(xiàn)清潔車路肩距離檢測(cè)及避障,達(dá)到了較高的準(zhǔn)確率,測(cè)距誤差在2 cm以內(nèi),距離檢測(cè)到實(shí)現(xiàn)控制間隔在0.5 s以內(nèi),完全滿足清掃盤和噴水桿避障的實(shí)時(shí)性要求,系統(tǒng)運(yùn)行穩(wěn)定,持續(xù)長(zhǎng)時(shí)間運(yùn)行未出現(xiàn)異常。
本文提出了一種基于Jetson和超聲傳感器的清潔車路肩距離檢測(cè)及避障方法,旨在解決目前清潔車普遍存在的因觸碰路肩導(dǎo)致清掃盤和噴水桿損壞的問(wèn)題。采用Jetson AGX Xavier作為控制核心,利用超聲傳感器實(shí)時(shí)檢測(cè)路肩距離,通過(guò)CAN總線對(duì)清掃盤和噴水桿實(shí)現(xiàn)有效控制,進(jìn)而實(shí)現(xiàn)避障。經(jīng)過(guò)實(shí)車試驗(yàn)驗(yàn)證,本文提出的方法可以有效實(shí)現(xiàn)避障,準(zhǔn)確率和實(shí)時(shí)性都滿足要求。后期計(jì)劃將系統(tǒng)部署在10臺(tái)城市環(huán)衛(wèi)清潔車上,實(shí)際上路試驗(yàn)以檢驗(yàn)系統(tǒng)對(duì)清掃盤和噴水桿的損耗率影響,再推廣到更多有避障需求的車輛上,針對(duì)不同車輛的需求差異調(diào)整系統(tǒng),降低車輛設(shè)備的損耗。