黃鼎鍵,楊華山,林辰耀,鐘勇,王尚湋
(1.福建省汽車電子與電驅(qū)動(dòng)技術(shù)重點(diǎn)實(shí)驗(yàn)室(福建工程學(xué)院),福建 福州 350118;2.福州市汽車機(jī)電行業(yè)技術(shù)創(chuàng)新中心(福建工程學(xué)院),福建 福州 350118)
目前,實(shí)現(xiàn)主動(dòng)避障所采用的傳感器有超聲傳感、紅外傳感、激光雷達(dá)、攝像頭、毫米波雷達(dá)等,喬凌霄[1]設(shè)計(jì)了基于超聲傳感器的避障小車,通過分析速度、距離數(shù)據(jù)完成智能小車避障。戴文翔[2]利用紅外傳感器設(shè)計(jì)了基于樹莓派的智能避障小車。一些學(xué)者運(yùn)用單線或多線激光雷達(dá)完成挖掘機(jī)器人、無人艇、車輛等避障系統(tǒng)[3-5]。還有一些學(xué)者利用視覺圖像實(shí)現(xiàn)機(jī)器人、智能小車的避障[6-8]。但是僅選用其中一種傳感器在不同場合存在局限性,因此國內(nèi)外學(xué)者在融合多種傳感器實(shí)現(xiàn)主動(dòng)避障方面開展了眾多研究[9-11]。本文提出一種融合超聲傳感和視覺圖像的方法實(shí)現(xiàn)智能小車主動(dòng)避障,設(shè)計(jì)了具備主動(dòng)避障功能的智能小車結(jié)構(gòu)方案,完成了基于單目相機(jī)和超聲傳感的測距,為基于超聲傳感和視覺圖像的障礙物檢測和主動(dòng)避障提供理論和技術(shù)依據(jù)。
智能小車主要由控制單元、傳感模塊、執(zhí)行器以及車架4部分構(gòu)成,其中控制單元由工控計(jì)算機(jī)和Arduino UNO開發(fā)板構(gòu)成,以工控計(jì)算機(jī)作為整個(gè)控制系統(tǒng)的數(shù)據(jù)處理和運(yùn)算平臺(tái),以Arduino開發(fā)板作為數(shù)據(jù)采集和電機(jī)控制器,傳感模塊采用HC-SR04超聲模塊和單目攝像頭兩種傳感器進(jìn)行數(shù)據(jù)采集,用于獲取前方障礙物的距離和方位,執(zhí)行器則是采用安裝在車體兩側(cè)的直流電機(jī),電機(jī)驅(qū)動(dòng)模塊L298N用于配合控制器實(shí)現(xiàn)直流電機(jī)的控制。智能小車的控制單元、傳感模塊、執(zhí)行器之間的硬件連接關(guān)系如圖1所示。
圖1 硬件連接關(guān)系圖Fig.1 Hardware connection diagram
車架是用于固定智能小車硬件以及保證小車動(dòng)作穩(wěn)定的部分,主要由一塊固定板、一個(gè)萬向輪以及各種連接配件組成。智能小車的總體結(jié)構(gòu)與系統(tǒng)布置方案如圖2所示(不含線束)。
圖2 總體結(jié)構(gòu)Fig.2 Overall structure
利用單目相機(jī)實(shí)現(xiàn)障礙物測距,建立相機(jī)測距的數(shù)學(xué)模型并界定世界坐標(biāo)系、圖像坐標(biāo)系、相機(jī)坐標(biāo)系之間的關(guān)系。世界坐標(biāo)系OwXwYwZw用于描述相機(jī)位置;相機(jī)坐標(biāo)系OcXcYcZc是以相機(jī)光心為原點(diǎn)的坐標(biāo)系;圖像坐標(biāo)系可分為圖像物理坐標(biāo)系xoy和像素坐標(biāo)系uv,如圖3所示。
圖3 3種坐標(biāo)系Fig.3 Three coordinate systems
經(jīng)過坐標(biāo)變換得到像素坐標(biāo)系與世界坐標(biāo)系的關(guān)系,如式(1)。
(1)
式中,f為光心到成像平面的距離,一般為相機(jī)焦距;fx=f/dX,代表u軸上的尺度因子;fy=f/dY,代表v軸上的尺度因子;(u0,v0)為光軸在像素平面上的坐標(biāo)。
R是一個(gè)3×3的歐拉變換矩陣,R=RxRyRz,其中矩陣Rx,Ry,Rz分別表示繞x軸旋轉(zhuǎn)ψ角,繞y軸旋轉(zhuǎn)θ角,繞z軸旋轉(zhuǎn)φ角,表達(dá)式分別如式(2)~(4)所示。
(2)
(3)
(4)
內(nèi)參矩陣M1由相機(jī)的內(nèi)部構(gòu)造決定,外參矩陣M2由相機(jī)相對(duì)于世界坐標(biāo)系的方位決定。采用MATLAB提供的“Camera Calibrator”工具箱基于張氏標(biāo)定法對(duì)相機(jī)內(nèi)參進(jìn)行標(biāo)定,共輸入17張棋盤格圖片,剔除3張誤差值較大的圖片,如圖4所示。標(biāo)定結(jié)果的主要參數(shù)如表1所示。
圖4 相機(jī)內(nèi)參的標(biāo)定Fig.4 Calibration of camera internal parameters
表1 標(biāo)定結(jié)果主要參數(shù)
對(duì)相機(jī)進(jìn)行人工標(biāo)定并計(jì)算相機(jī)外參,相機(jī)的外參矩陣如式(5)所示。
(5)
根據(jù)標(biāo)定結(jié)果校正圖像畸變,并獲得一個(gè)初選測距方程。初選測距方程進(jìn)行測距試驗(yàn),使用數(shù)據(jù)擬合方法對(duì)測距誤差進(jìn)行處理和消除,獲得一個(gè)準(zhǔn)確的測距方程,如式(6)所示。
(6)
向該方程輸入一個(gè)像素坐標(biāo),可以輸出該點(diǎn)在地平面上的世界坐標(biāo),即該橫向和縱向距離。
為消除攝像頭安裝、距離標(biāo)記點(diǎn)等人為因素導(dǎo)致的誤差,使用最小二乘法通過MATLAB對(duì)數(shù)據(jù)進(jìn)行擬合,得到x和z方向誤差的一階擬合方程式如式(7)所示。
(7)
式中,ΔXW和ΔZW分別是X方向和Z方向的測距誤差值。
根據(jù)式(7),通過MATLAB編寫解初始測距方程式程序,并對(duì)結(jié)果進(jìn)行數(shù)據(jù)修正,最終測試結(jié)果如表2所示,修正后測距效果較好。
表2 測試結(jié)果
超聲波模塊采用HC-SR04,它共有4個(gè)引腳,即VCC、GND、接收端Echo、控制端Trig。超聲測距硬件關(guān)系和測試場景如圖5所示,上位機(jī)向下位機(jī)發(fā)出采集信號(hào),下位機(jī)通過引腳將信號(hào)傳遞給超聲波模塊,使其發(fā)射探頭發(fā)出超聲。當(dāng)前方障礙在超聲模塊量程里時(shí),超聲模塊向開發(fā)板返回一個(gè)回聲信號(hào),開發(fā)板處理回聲信號(hào)后,將距離數(shù)據(jù)傳輸至上位機(jī),通過上位機(jī)檢測該距離信息。
圖5 硬件關(guān)系和測試場景Fig.5 Hardware relationship and test scenario
搭建智能小車裝配和實(shí)驗(yàn)場景,進(jìn)行智能小車障礙物定位識(shí)別、超車的實(shí)驗(yàn)。智能小車樣機(jī)及組成結(jié)構(gòu)如圖6所示。
圖6 智能小車樣機(jī)Fig.6 Intelligent car prototype
障礙物識(shí)別及主動(dòng)避障變換車道測驗(yàn)分為3種情況:僅正前方存在障礙物、前方與右前方存在障礙物、前方及左前方存在障礙物,由于前兩種情況智能小車的運(yùn)動(dòng)控制策略均是向左變道避障,所以僅展示后兩種避障物識(shí)別及主動(dòng)避障變換車道的實(shí)驗(yàn)圖,如圖7~圖8所示。
由圖7~圖8可以看出,智能小車?yán)贸晜鞲泻鸵曈X圖像融合判定障礙物距離和方位,能根據(jù)不同的道路場景主動(dòng)選擇相應(yīng)的策略實(shí)現(xiàn)避障、自動(dòng)變換車道,說明智能小車具備識(shí)別前方障礙物及自主變換車道的功能。
圖7 障礙物在前方及右邊時(shí)變換車道Fig.7 Lane-changing when obstacles are ahead and to the right
圖8 障礙物在前方及左邊時(shí)變換車道Fig.8 Lane-changing when obstacles are ahead and to the left
設(shè)計(jì)了基于超聲傳感器和圖像融合的智能小車,實(shí)現(xiàn)障礙物的檢測和避障功能。完成了智能小車結(jié)構(gòu)方案設(shè)計(jì)和硬件選型、基于視覺和超聲的障礙物檢測和測距、智能小車裝配和實(shí)驗(yàn)場景的搭建,該系統(tǒng)具有設(shè)計(jì)簡潔、成本低廉、操作簡單等特點(diǎn)。實(shí)驗(yàn)表明,智能小車在不同場景中都能取得預(yù)期的避障實(shí)驗(yàn)結(jié)果,驗(yàn)證了方法和結(jié)構(gòu)方案的可行性,為探索其他主動(dòng)避障和智能輔助駕駛提供了一種思路。