目前越來(lái)越多的國(guó)家將陸空機(jī)器人應(yīng)用到軍事偵察方面,對(duì)其性能要求越來(lái)越高,偵察過(guò)程中很難對(duì)陸空機(jī)器人進(jìn)行跟蹤操控,機(jī)器人需具備自主運(yùn)行能力. 為了提高機(jī)器人的續(xù)航能力,平臺(tái)工作時(shí)以地面模式為主,以空中機(jī)動(dòng)為輔;為了更好地發(fā)揮陸空機(jī)器人的跨域特性,進(jìn)行自主跨域越障研究.
障礙物檢測(cè)是自主跨域越障的前提,隨著科技的快速發(fā)展,基于視覺(jué)傳感器的障礙物檢測(cè)方法已成為研究熱點(diǎn). 基于顏色特征模型的障礙物檢測(cè)方法利用不同物體具有不同色彩屬性的原理進(jìn)行障礙物檢測(cè)[1-2],但在色彩差異較小的環(huán)境中檢測(cè)效果較差,且不能提取障礙物的三維信息. 基于光流法的障礙物檢測(cè)方法對(duì)動(dòng)態(tài)障礙物檢測(cè)表現(xiàn)良好,但對(duì)靜態(tài)障礙物檢測(cè)不敏感[3-4]. 基于邊緣檢測(cè)技術(shù)的方法可以提取障礙物的邊緣信息,但是包含地面干擾信息[5-6]. 基于雙目立體視覺(jué)的障礙物檢測(cè)方法可以有效地獲取障礙物的三維信息[7-10],美國(guó)研制的勇氣號(hào)火星探測(cè)機(jī)器人利用此方法進(jìn)行前方障礙物的檢測(cè)[11]. 鄧祥等[12]提出了快速區(qū)域匹配算法進(jìn)行障礙物檢測(cè),利用閾值來(lái)分割障礙物區(qū)域,可以去除無(wú)效的干擾信息,該算法具有較好的檢測(cè)效果. 基于深度學(xué)習(xí)的方法具有檢測(cè)能力強(qiáng)、魯棒性好等優(yōu)點(diǎn),但是也存在對(duì)硬件要求高等缺點(diǎn). 針對(duì)以上方法存在的不足,本文采用深度相機(jī)采集的深度圖像進(jìn)行障礙物檢測(cè).
目前,針對(duì)陸空機(jī)器人自主跨域越障的研究較少,本文根據(jù)變結(jié)構(gòu)陸空機(jī)器人自身的特點(diǎn)及障礙物檢測(cè)結(jié)果提出自主跨域越障策略,并進(jìn)行障礙物檢測(cè)及自主跨域越障試驗(yàn).
變結(jié)構(gòu)陸空機(jī)器人融合了輪式移動(dòng)與4旋翼飛行,存在地面移動(dòng)、陸空模式切換及飛行移動(dòng)3種運(yùn)動(dòng)狀態(tài)[13],如圖1所示. 地面移動(dòng)系統(tǒng)為兩輪驅(qū)動(dòng)、差速轉(zhuǎn)向的4輪結(jié)構(gòu);為了減小陸空模式切換阻力,陸空模式切換由舵機(jī)直接驅(qū)動(dòng),舵機(jī)的旋轉(zhuǎn)軸與機(jī)身水平面、機(jī)身側(cè)平面夾角均為45°,4個(gè)舵機(jī)的旋轉(zhuǎn)軸按照對(duì)應(yīng)方向旋轉(zhuǎn)180°即可實(shí)現(xiàn)地面模式與飛行的相互切換;飛行系統(tǒng)為“X”型4旋翼結(jié)構(gòu). 車輪為共用執(zhí)行機(jī)構(gòu),既是地面移動(dòng)車輪同時(shí)也是飛行電機(jī)的安裝基座,降低了系統(tǒng)的復(fù)雜度和機(jī)器人自身質(zhì)量,有利于延長(zhǎng)續(xù)航時(shí)間.
圖1 變結(jié)構(gòu)陸空機(jī)器人運(yùn)動(dòng)狀態(tài)Fig.1 Motion state of the variable structure land-air robot
平臺(tái)采用Intel RealSense Depth Camera D415相機(jī)完成障礙物檢測(cè),采用NVIDIA Jetson TX2核心模塊搭載RTSO-9003超小型載板作為機(jī)載數(shù)據(jù)處理單元,飛行采用Pixhawk 2.4.8進(jìn)行位姿控制. 6S Li-Po電池直接為地面移動(dòng)和飛行部分提供穩(wěn)定可靠的電壓,電池通過(guò)一塊電源模塊、DC-DC降壓模塊將電壓轉(zhuǎn)為12 V、8.4 V之后,分別為舵機(jī)、NVIDIA Jetson TX2供電. 變結(jié)構(gòu)陸空機(jī)器人自主跨域越障系統(tǒng)硬件框圖如圖2所示.
圖2 變結(jié)構(gòu)陸空機(jī)器人自主跨域越障系統(tǒng)硬件框圖Fig.2 Autonomous cross-domain obstacle negotiation system of the variable structure land-air robot
在Linux Ubuntu 16.04操作系統(tǒng)上實(shí)現(xiàn)自主跨域越障功能,主要基于ROS開源機(jī)器人系統(tǒng)使用C++進(jìn)行編程. mavros作為Pixhawk 2.4.8在ROS下的信息交互接口,其主要完成PX4固件與TX2的通信工作,mavros已經(jīng)封裝mavlink消息流,通過(guò)ROS底層UDP協(xié)議在PX4固件與TX2之間進(jìn)行轉(zhuǎn)發(fā). 在ROS中運(yùn)行mavros節(jié)點(diǎn),mavros能夠訂閱和發(fā)布話題,發(fā)布的話題主要包括當(dāng)前時(shí)刻的飛行速度、全局和局部位姿等信息,訂閱的話題主要包括外部定位信息、下一時(shí)刻位置和速度、加速度等信息.
為了使變結(jié)構(gòu)陸空機(jī)器人更好地適應(yīng)環(huán)境及方便實(shí)際應(yīng)用中對(duì)機(jī)器人進(jìn)行越障控制,需要明確變結(jié)構(gòu)陸空機(jī)器人地面移動(dòng)模式下的越障極限. 地面移動(dòng)時(shí)會(huì)遇到各種障礙物,其中跨越難度最大的障礙物類型是垂直障礙物,越過(guò)垂直類型障礙物的能力體現(xiàn)了變結(jié)構(gòu)陸空機(jī)器人地面移動(dòng)越障性能的好壞[14-16]. 以機(jī)器人地面移動(dòng)跨越臺(tái)階為例,僅對(duì)機(jī)器人驅(qū)動(dòng)輪越過(guò)垂直類型障礙物的情況進(jìn)行受力分析,驅(qū)動(dòng)輪與臺(tái)階面為點(diǎn)接觸,且假設(shè)驅(qū)動(dòng)輪與臺(tái)階任何點(diǎn)之間不發(fā)生相對(duì)滑動(dòng). 機(jī)器人可以越過(guò)臺(tái)階的條件是驅(qū)動(dòng)力矩克服車輪在臺(tái)階頂角處的摩擦力矩,機(jī)器人在緩慢勻速越障過(guò)程中接觸的地面為硬路面,忽略空氣阻力,將機(jī)器人越障過(guò)程簡(jiǎn)化為以下二維模型,靜力學(xué)分析如圖3所示.
圖3 地面移動(dòng)越障受力分析Fig.3 Force diagram of the obstacle negotiation
根據(jù)力學(xué)平衡條件,驅(qū)動(dòng)輪越障時(shí)有以下方程:
(1)
式中:N為地面對(duì)隨動(dòng)輪的支持力;N′為臺(tái)階對(duì)驅(qū)動(dòng)輪的支持力;μ為驅(qū)動(dòng)輪與臺(tái)階之間的摩擦因數(shù);Ff為地面對(duì)隨動(dòng)輪的摩擦阻力;F′f為驅(qū)動(dòng)輪在接觸點(diǎn)處受到的摩擦力;M為驅(qū)動(dòng)輪的驅(qū)動(dòng)力矩;h為臺(tái)階高度;R為齒圈半徑;m為機(jī)器人質(zhì)量(5 kg).
則變結(jié)構(gòu)陸空機(jī)器人地面移動(dòng)越障極限:
(2)
由于深度圖像的像素值僅與障礙物到深度相機(jī)的距離有關(guān),可以降低環(huán)境對(duì)障礙物檢測(cè)精度的影響且不易受障礙物陰影的影響. 深度圖像存在邊緣噪聲,對(duì)障礙物檢測(cè)造成干擾,首先通過(guò)雙邊濾波和中值濾波進(jìn)行降噪處理,修復(fù)深度值.
地面區(qū)域與障礙物區(qū)域的深度值十分接近,會(huì)被誤檢為障礙物區(qū)域,降低障礙物檢測(cè)的準(zhǔn)確率,本文基于幾何模型去除地面干擾區(qū)域. 設(shè)深度相機(jī)光心到地面的高度為H,像素點(diǎn)p對(duì)應(yīng)的三維空間點(diǎn)P的坐標(biāo)為(XP,YP,ZP). 設(shè)定閾值Δh,若點(diǎn)P距離地面的高度H-YP<Δh,則認(rèn)為像素點(diǎn)p位于地面干擾區(qū)域,直接將其去除.
在障礙物檢測(cè)時(shí),為提高準(zhǔn)確度,去除較遠(yuǎn)的背景,只對(duì)一定距離范圍內(nèi)的障礙物進(jìn)行檢測(cè). 設(shè)置障礙物最大檢測(cè)距離為Zmax,深度圖像中像素值大于Zmax的像素點(diǎn)全部去除.
深度圖像通過(guò)二值處理之后進(jìn)行輪廓提取,計(jì)算輪廓的像素面積,過(guò)濾噪聲形成的偽障礙物區(qū)域. 設(shè)置鄰域窗口為3×3,障礙物輪廓上的像素點(diǎn)p(x,y)像素值為255,背景像素值為0,則目標(biāo)像素點(diǎn)p(x,y)的8個(gè)鄰域像素值應(yīng)均為255,這樣可以得到輪廓點(diǎn)的集合,提取的障礙物輪廓如圖4所示.
計(jì)算每個(gè)輪廓的像素面積,根據(jù)面積閾值S進(jìn)行判斷,將像素面積小于S的輪廓作為偽障礙物區(qū)域去除.
圖4 障礙物輪廓Fig.4 Obstacle contour
障礙物檢測(cè)完成后,需要獲取障礙物的距離和高度信息. 深度圖像中障礙物經(jīng)凸包處理后邊界信息更加明確,但是獲得的凸包形狀可能是不規(guī)則的,其對(duì)應(yīng)的邊界信息不能有效地表示出障礙物的高度信息,這將影響后續(xù)的自主跨域越障控制,因此本文運(yùn)用最小矩形匹配法進(jìn)行障礙物建模,利用矩形邊界信息獲取障礙物的高度信息,如圖5所示.
圖5 最小矩形匹配法示意圖Fig. 5 Minimum enclosing rectangle diagram
與凸多邊形相比,矩形邊界具有標(biāo)準(zhǔn)規(guī)范、信息明確的特點(diǎn). 最小矩形匹配法的基本原理是尋找能夠完全將障礙物邊界包含在內(nèi)的最小矩形,將障礙物的邊界信息轉(zhuǎn)化為最小矩形的4個(gè)頂點(diǎn)信息,然后將邊界信息由像素坐標(biāo)轉(zhuǎn)化為世界坐標(biāo),進(jìn)而獲得障礙物的高度等物理信息,為變結(jié)構(gòu)陸空機(jī)器人的自主跨域越障策略提供數(shù)據(jù).
最小矩形匹配法建模步驟如下:
① 分別提取障礙物凸包的上邊界像素坐標(biāo)(x1,y1),左邊界像素坐標(biāo)(x2,y2),右邊界像素坐標(biāo)(x3,y3),下邊界像素坐標(biāo)(x4,y4);
② 根據(jù)4個(gè)邊界像素坐標(biāo),確定的障礙物區(qū)域外接矩形的左上角頂點(diǎn)坐標(biāo)(xleft,yleft)和右下角頂點(diǎn)坐標(biāo)(xright,yright),其中:
(3)
機(jī)器人自主運(yùn)動(dòng)存在兩種基本行為:趨向目標(biāo)點(diǎn)行為和自主越障行為. 運(yùn)用仲裁機(jī)制對(duì)這兩種基本行為進(jìn)行判斷,在仲裁機(jī)制中設(shè)定地面移動(dòng)越障極限高度h及安全距離d作為觸發(fā)自主越障行為的起始條件. 自主越障行為的優(yōu)先級(jí)高于趨向目標(biāo)點(diǎn)行為,一旦檢測(cè)到障礙物的距離在安全距離d內(nèi),機(jī)器人立即采取自主越障行為,當(dāng)障礙物距離大于安全距離時(shí)采取趨向目標(biāo)點(diǎn)行為.
對(duì)于趨向目標(biāo)點(diǎn)行為,根據(jù)機(jī)器人到目標(biāo)位置的距離D、機(jī)器人的移動(dòng)方向與目標(biāo)位置方向的夾角,對(duì)地面移動(dòng)速度和角速度進(jìn)行控制,飛行位姿的控制采用開源飛控Pixhawk 2.4.8中自帶的較成熟的PID控制方法. 此行為下,機(jī)器人逐步改變自身位置及移動(dòng)方向,以順利到達(dá)目標(biāo)點(diǎn).
對(duì)于自主越障行為,根據(jù)檢測(cè)到的障礙物高度H進(jìn)行自主越障模式選擇,根據(jù)檢測(cè)到的機(jī)器人到前方障礙物的距離D進(jìn)行判斷是否越障. 一旦發(fā)現(xiàn)障礙物高度H大于機(jī)器人地面移動(dòng)越障極限h且障礙物的距離D在設(shè)定的安全距離d范圍內(nèi),機(jī)器人停止地面移動(dòng),進(jìn)行陸空模式切換,以飛行模式進(jìn)行自主越障;若發(fā)現(xiàn)障礙物高度H小于機(jī)器人地面移動(dòng)越障極限h,則以地面移動(dòng)模式進(jìn)行自主越障.
開始運(yùn)行時(shí),首先設(shè)定目標(biāo)點(diǎn)位置,機(jī)器人轉(zhuǎn)向?qū)?zhǔn)目標(biāo)點(diǎn),控制單元不斷對(duì)采集到的視頻圖像進(jìn)行處理,檢查是否有障礙物出現(xiàn). 如果沒(méi)有障礙物出現(xiàn),機(jī)器人直接以地面移動(dòng)模式行駛至目標(biāo)點(diǎn)(到目標(biāo)位置的距離在設(shè)定的閾值范圍內(nèi)). 如果有障礙物出現(xiàn),根據(jù)檢測(cè)到的障礙物的高度H和機(jī)器人到障礙物的距離D,切換自主越障的模式:如果以地面移動(dòng)模式進(jìn)行越障,則根據(jù)定位信息獲取機(jī)器人的實(shí)時(shí)位置信息,判斷機(jī)器人是否到達(dá)目標(biāo)位置;如果采用飛行越障方式,需要進(jìn)行陸空模式切換至飛行模式,然后垂直起飛至安全高度(高于障礙物1.5 m),飛行至目標(biāo)點(diǎn)的正上方,最后垂直降落至目標(biāo)位置. 自主跨域越障策略的具體流程如圖6所示.
圖6 自主跨域越障流程Fig.6 Flowchart of autonomous cross-domain obstacle negotiation
為了驗(yàn)證本文提出的障礙物檢測(cè)算法是否有效,將深度相機(jī)安裝在變結(jié)構(gòu)陸空機(jī)器人上,在1 500~4 000 mm之間每隔500 mm對(duì)高649 mm、寬690 mm靜態(tài)障礙物的距離及高度進(jìn)行檢測(cè),為了方便觀察,將深度圖像檢測(cè)到的障礙物邊界信息經(jīng)坐標(biāo)變換轉(zhuǎn)換到彩色圖像上,圖7為障礙物距離4 000 mm處的試驗(yàn)場(chǎng)景及檢測(cè)結(jié)果,不同距離的障礙物檢測(cè)結(jié)果如表1所示.
試驗(yàn)結(jié)果顯示,本文提出的障礙物檢測(cè)算法可以成功地檢測(cè)出障礙物的距離及高度信息,能夠真實(shí)地反映障礙物的高度及距離信息. 對(duì)于分辨率為640×480的視頻圖像,處理速度平均可達(dá)到24幀/s,基本可以滿足機(jī)器人自主越障過(guò)程中對(duì)實(shí)時(shí)性的要求.
圖7 障礙物距離4 000 mm處的試驗(yàn)場(chǎng)景及檢測(cè)結(jié)果Fig.7 Experimental scenarios and detection result at 4 000 mm away from the obstacle
表1 不同距離的障礙物檢測(cè)結(jié)果Tab.1 Obstacle detection results
為了驗(yàn)證本文提出的變結(jié)構(gòu)陸空機(jī)器人自主跨域越障策略的有效性,在變結(jié)構(gòu)陸空機(jī)器人行駛航路上設(shè)置障礙物(高450 mm). 距離障礙物3 000 mm處的障礙物檢測(cè)結(jié)果如圖8所示,檢測(cè)結(jié)果(高462 mm,距離3 012 mm)較為準(zhǔn)確,障礙物的高度超過(guò)地面移動(dòng)越障極限,選擇自主飛行越障. 設(shè)定目標(biāo)位置為正前方8 000 mm處,起初機(jī)器人距離障礙物4 500 mm,機(jī)器人自主跨域越障過(guò)程如圖9所示:機(jī)器人地面移動(dòng)至距離障礙物1 500 mm處,地面移動(dòng)模式切換為飛行模式,垂直起飛至安全高度(高于障礙物1 500 mm),飛行至目標(biāo)點(diǎn)正上方、垂直降落至目標(biāo)點(diǎn).
圖8 距離3 000 mm處障礙物檢測(cè)結(jié)果Fig.8 Detection result at 3 000 mm away from the obstacle
圖9 自主跨域越障過(guò)程Fig.9 Process of autonomous cross-domain obstacle negotiation
試驗(yàn)結(jié)果顯示,機(jī)器人可以準(zhǔn)確檢測(cè)判斷出行駛前方障礙物的距離及高度信息并可以順利自主跨域越障,到達(dá)目標(biāo)點(diǎn),表明本文設(shè)計(jì)的自主跨域越障策略是有效的.
以研制的變結(jié)構(gòu)陸空機(jī)器人為平臺(tái),完成基于深度圖像的障礙物距離和高度信息的檢測(cè),根據(jù)檢測(cè)結(jié)果及機(jī)器人地面移動(dòng)越障極限,提出自主跨域越障策略. 試驗(yàn)結(jié)果表明,本文提出的障礙物檢測(cè)方法及自主跨域越障策略是有效的. 此外,本文提出的變結(jié)構(gòu)陸空機(jī)器人自主跨域越障策略,為機(jī)器人更好發(fā)揮跨域越障特性及多模態(tài)自主運(yùn)動(dòng)奠定了基礎(chǔ).