金 李, 高何璇, 高曉陽*, 李紅嶺, 楊 梅, 賈尚云 張 旭, 唐渲運
(1.甘肅農(nóng)業(yè)大學機電工程學院,甘肅 蘭州 730070;2.甘肅省葡萄與葡萄酒工程學重點實驗室,甘肅 蘭州 730070;3.甘肅省干旱生境作物學重點實驗室,甘肅 蘭州 730070;4.蘭州銀行網(wǎng)絡金融部,甘肅 蘭州 730000)
我國是園藝作物大國之一,水果生產(chǎn)具有良好的經(jīng)濟價值。目前大多數(shù)果園種植都使用人工巡檢,人力資源耗費巨大。目前農(nóng)村勞動力大量流失,研究開發(fā)果園監(jiān)控機器人就顯得十分必要[1,2]。隨著國家大力推動農(nóng)作物生產(chǎn)全程機械化,促進農(nóng)業(yè)裝備技術持續(xù)升級,迫切需要研究農(nóng)業(yè)機械的自動行駛以及導航技術,以提高農(nóng)業(yè)生產(chǎn)效率。
近年來世界各國在整地耕作、播種施肥、除草施藥、采摘收獲等作業(yè)領域的農(nóng)業(yè)機器人研究越來越多,其實現(xiàn)自動行駛的關鍵在于導航技術,其中全球定位系統(tǒng)(GPS)、機器視覺導航[3,4]、慣性導航、地磁導航以及激光雷達導航[5]等都已經(jīng)得到研究和應用。國外農(nóng)業(yè)機器人的研究起步較早,MKPatel[6]等開發(fā)了農(nóng)藥噴灑機器人,將實際生產(chǎn)環(huán)境通過建圖實現(xiàn)導航,完成機器人移動噴藥。Ball[7]等研究開發(fā)了田間機器人的障礙識別和導航系統(tǒng)。JM Bengochea-Guevara[8]等設計了一款監(jiān)控巡檢機器人,通過相關傳感器采集作物生長信息,采用導航技術對作業(yè)區(qū)域巡檢。在國內(nèi),劉婷婷[9]等提出將電渦流傳感器加入收割機的自動駕駛導航系統(tǒng),通過傳感器獲取距離,實現(xiàn)導航功能。邢永友[10]提出將GPS技術加入農(nóng)田導航,融合羅盤等傳感器達到精準導航。藥林桃[11]等設計了一款采用了RTK-GPS的自動導航系統(tǒng),可以在作業(yè)區(qū)域內(nèi)提供路徑規(guī)劃。趙榮陽[12]等設計了一種基于機器視覺的導航系統(tǒng),搭載的高清攝像頭采集工作區(qū)域數(shù)據(jù)建立地圖,實現(xiàn)全局路徑規(guī)劃以及定位導航。袁紅斌[13]等融合激光雷達與機器視覺技術,可準確識別障礙物并控制機器人跟蹤導航。薛金林[14]等采用融合基于激光雷達的導航模式,滿足果園田間機器人的運輸和避障導航要求。
本文研究開發(fā)了一款適用于果園道路的機器人自主行駛及視覺導航系統(tǒng),探索了自主行駛道路信息獲取和路經(jīng)規(guī)劃,進行了視覺圖像的分割識別和道路導航線的提取實驗,并進行了軟件仿真實驗。
果園監(jiān)控機器人平臺如圖1所示,其自主行駛及視覺導航系統(tǒng)包含Jeston nano主控制板、STM32底盤控制板、RPLIDAR S2激光雷達、Astra深度相機、慣性計量單元(IMU)等模塊,可實現(xiàn)道路信息采集、路徑規(guī)劃、運動系統(tǒng)控制以及建圖與導航避障功能。
圖1 監(jiān)控機器人平臺
考慮到果園道路相對平坦坑洼較少,開發(fā)的果園監(jiān)控機器人平臺的硬件參數(shù)如表1所示,以滿足在運行平穩(wěn)性、實際運行速度以及通過性等方面的實際要求。
表1 監(jiān)控機器人平臺的基本參數(shù)
機器人平臺的行駛動力來自于后輪搭載的兩個MD60直流有刷電機,減速器降低電機轉速增加扭矩驅(qū)動機器人運動。驅(qū)動系統(tǒng)由一塊22.2 V 20 000 mAh的電池提供電力。
機器人軟件系統(tǒng)采用了基于LINUX的ROS[15]操作系統(tǒng),PC端搭載Ubuntu系統(tǒng),選用Python和C++編程語言。ROS系統(tǒng)的分布式進程利于開發(fā)使用,眾多開發(fā)包可以實現(xiàn)田間機器人的自主行駛、路徑規(guī)劃以及導航避障功能。ROS系統(tǒng)支持分布式主從通信,以節(jié)點的方式運行,可以將實時定位以及導航等數(shù)據(jù)回傳到PC,利用PC端Ubuntu系統(tǒng)實現(xiàn)數(shù)據(jù)處理并顯示。
監(jiān)控機器人平臺的主控制器采用英偉達的Jeston nano開發(fā)板,搭載有NVIDIA Maxwell GPU,滿足機器人自動行駛時的數(shù)據(jù)處理需求。通過搭載的視覺傳感器采集道路信息,經(jīng)過圖像處理后提取出導航線實現(xiàn)機器人導航。依據(jù)搭載的激光雷達繪制的道路地圖對道路上障礙物做出及時躲避。田間監(jiān)控機器人總體框圖如圖2所示。
圖2 監(jiān)控機器人總體框圖
本文機器人是基于曲柄搖桿的阿克曼轉向結構,通過控制器發(fā)出偏轉角度的PWM信號驅(qū)動舵機帶動舵盤,舵盤再通過機械傳動控制兩個前輪進行轉向。
轉向系統(tǒng)包含轉向舵機,舵盤以及相應的機械傳動裝置。根據(jù)機器人實際運行要求,數(shù)字舵機的扭矩選為8 N·m。
機器人的自動導航選擇采用視覺導航與激光雷達[16]導航相結合的雙模式導航。由于全球衛(wèi)星導航系統(tǒng)(GNSS)造價昂貴,并且導航精度容易受到干擾,尤其不適用于偏遠地區(qū)。而機器視覺依靠色彩對比度來得到果園田間的邊界點和線等信息,使用圖像處理算法提取出機器人的導航線,更適用于路面信息相對簡單的果園道路導航作業(yè)。加之激光導航的測量精度高,距離遠,使用激光雷達可將周圍復雜的道路信息預先建圖保存,在機器視覺導航受到干擾的轉角等路段,利用保存的路網(wǎng)信息修正機器人定位及導航。
激光導航系統(tǒng)采用激光雷達,測量半徑達30 m,采樣頻率32 000次/s,精度誤差低于±5 cm。視覺導航采用Astra系列深度相機采集果園道路圖像,性能參數(shù)為1 280×720@30 FPS。
果園面積較大,植株間距集中,機器人進入作業(yè)環(huán)境,需要在運動過程中不斷提取周圍物體的特征,并且將其在地圖中繪制出來,在不斷獲取新地標的同時修正存儲的地圖模型,實現(xiàn)環(huán)境建圖以及同步確定自身定位。因此,監(jiān)控機器人首先采集道路地圖信息,進而對道路行駛做出全局路徑規(guī)劃。本研究選用手動控制機器人平臺在果園道路行進,利用配置的激光雷達以及視覺系統(tǒng)采用slam(Simultaneous Localization and Mapping,同步定位與地圖構建)算法采集田間道路信息并建圖保存。道路采集建圖過程中將道路的點云信息提取,獲得道路網(wǎng)絡結構,并儲存在控制系統(tǒng)。本文實驗地為甘肅武威市威龍有機莊園種植基地,研究區(qū)域的路面信息如圖3所示,該果園為典型的大面積果樹種植,田間行駛道路經(jīng)過人為修整,路面寬度2~2.5 m,坡度小于10°。
圖3 研究區(qū)域路面信息
slam算法通常包含信息獲取、前端、后端優(yōu)化以及建圖。后端優(yōu)化分為基于濾波器和基于圖優(yōu)化?;诹W訛V波的Gmapping算法是將建圖與定位分離,適用于面積較小且計算量較小的室內(nèi)。而基于圖優(yōu)化的Cartographer算法依靠激光雷達獲取數(shù)據(jù),支持在二維或者三維下建圖。Cartographer算法的原理框圖如圖4,包括數(shù)據(jù)獲取、前端的局部slam和后端的全局slam。體素濾波器的基本原理是調(diào)用體素濾波,如果體素濾波后點數(shù)大于閾值,則返回,如果小于閾值,則接著使用二分法進行體素濾波。
圖4 Cartographer原理框圖
如圖4所示,數(shù)據(jù)采集信息主要包括激光雷達信息、里程計信息、慣性測量單元信息等。激光雷達掃描點云數(shù)據(jù)通過體素濾波器降低采樣率,并提取出有用的物體特征。慣性測量單元(Inertial Measurement Unit)數(shù)據(jù)與里程計數(shù)據(jù)進入姿態(tài)外推器,對行駛路線做運算,推演位置信息,將數(shù)據(jù)傳輸?shù)綊呙杵ヅ洵h(huán)節(jié)匹配出最優(yōu)位置。體素濾波器的濾波公式1為:
(1)
前端即局部路徑規(guī)劃,數(shù)據(jù)經(jīng)過系列處理后進入前端,利用ceres庫對接收到的數(shù)據(jù)做掃描匹配,將眾多柵格點的概率進行雙三次樣條插值處理,建立如下公式2所示的方程,獲得具有最高概率的位置地點。
(2)
Msmooth(x)為一個柵格函數(shù)x由臨近的柵格值計算得到平滑函數(shù)值,hk代表包含激光掃描點的臨近柵格,Tξ為向量轉換矩陣,ξ為偏移向量(ξx,ξy,ξθ)T。通過前端優(yōu)化以及運動濾波器濾波后,建立最優(yōu)位置的子地圖。子地圖通過激光雷達逐幀掃描獲得,掃描柵格可能占用所建地圖中任一像素點。像素點更新公式如下式3和式4所示
(3)
其中p為發(fā)生的概率,odds(p)為比值。
Mnew(x)=clamp(odds-1(odds(Mold(x))
·odds(Phit)))
(4)
phit為未被觀察到的像素點的分配的擊中概率。采集的數(shù)據(jù)經(jīng)前端處理再經(jīng)回環(huán)檢測及后端處理后建成全局地圖。
機器人在果園道路自主行駛時,在建立的全局地圖范圍內(nèi),選取一定數(shù)量的位置點后就能依靠全局路徑規(guī)劃[17]獲取對應的行駛路線。機器人的路徑規(guī)劃使用ROS系統(tǒng)中的movebase功能包,該功能包包含傳感器數(shù)據(jù)采集、局部路徑規(guī)劃以及全局路經(jīng)規(guī)劃,總框圖如圖5所示。
圖5 Movebase框架圖
利用全局代價地圖來實現(xiàn)全局路徑規(guī)劃,本文采用耗時較少的深度優(yōu)先的Astar算法,推算出目標點與機器人間的路經(jīng),滿足機器人行進中的路徑規(guī)劃和不間斷運行。
由于田間道路無車道輔助線、路面邊界模糊,在圖像分割及導航線提取時,這些不規(guī)則的圖片將影響圖像處理效率,首先需要通過試驗挑選出符合實驗標準的道路圖片,對收集到的圖片做統(tǒng)一化處理,像素設置為800*600;并根據(jù)道路是否彎曲和是否有陰影干擾分為常規(guī)道路、彎曲道路、干擾道路三類數(shù)據(jù)。本文選用將聚類分割算法與HSV空間閾值分割算法相融合的果園道路識別[18]方法,并提取道路中心點進行擬合獲得機器人運動導航線。
RGB顏色空間[19]是最為常見的顏色空間模型,以紅、綠、藍三元色作為基礎,通過三種顏色疊加,形成豐富的顏色效果。為了能提高系統(tǒng)適應性,強化道路的特征信息,縮減圖像處理的數(shù)據(jù)量,以常規(guī)道路為例,采用MATLAB軟件將采集的道路圖像提取RGB顏色空間下R、G、B分量圖如圖6所示。HSV顏色空間是一種生活中常見的顏色系統(tǒng),包含色相(H)、飽和度(S)、色調(diào)(V)更加符合人們對于顏色的描述。
圖6 RGB空間分量
K-Means聚類算法[20],是一種常見的無監(jiān)督學習方法,它是將相似的對象歸到同一個簇中,使得同一個簇內(nèi)的數(shù)據(jù)對象的相似性盡可能大,同時不在同一個簇中的數(shù)據(jù)對象的差異性也盡可能地大。即聚類后同一類的數(shù)據(jù)盡可能聚集到一起,不同數(shù)據(jù)盡量分離。K-Means聚類算法的簇數(shù)k需要實驗確定,本研究針對常規(guī)道路、彎曲道路以及陰影道路進行不同k值試驗,結果如圖7所示,當K=4時對路面的分割效果最好。
圖7 K-Means聚類分割
利用聚類算法對道路信息進行分割,當聚類數(shù)K=4時,道路與周圍環(huán)境差距明顯,效果最好,但還未將有用的道路完全從圖中剝離。因此,將RGB顏色空間轉換為HSV顏色空間,通過閾值分割的方法將道路徹底分割。如圖8為HSV顏色空間下不同分量圖。
圖8 HSV顏色空間分量
通過HSV顏色空間不同分量所示,V分量中道路信息的區(qū)分度明顯高于H分量以及S分量。故本研究在對道路圖像分割時,先將RGB顏色空間轉成HSV顏色空間并提取其中V分量圖像。圖像閾值分割結果直觀且容易實現(xiàn),本文采用灰度閾值法獲得合適的分割閾值來實現(xiàn)路面的最終分割。
圖像閾值T的數(shù)學函數(shù)運算如下式:
T=T[x,y,p(x,y),f(x,y)]
(5)
x,y分別代表像素點的橫坐標和縱坐標,p(x,y)代表像素點的局部特性,f(x,y)代表像素點的灰度值。
經(jīng)過閾值化的圖像定義為:
(6)
通過對圖像中所有像素點進行掃描匹配,根據(jù)像素點與設定閾值T的大小比較,將其標記為目標或背景實現(xiàn)圖像的分割。道路圖像的V分量轉換成直方圖如圖9所示,利用雙峰法[21],當閾值K=30時,可實現(xiàn)完整分割,圖10為V分量閾值分割圖像。
圖9 灰度直方圖
圖10 V分量圖像
分割后的圖片仍存在噪點,需要對圖像進行形態(tài)學濾波[22]以及連通域處理,更好的把道路信息提取出來。形態(tài)學濾波中,使用7×7的結構元素一次對采集的道路信息進行開運算和閉運算。去除圖像信息中的小孔,修補斷裂的輪廓線。接著選擇4鄰接對圖像檢測標記,擬合描繪出大輪廓曲線,進而得到完整的道路圖像。如圖11為去噪后實際效果。
圖11 去噪效果圖
圖像分割處理獲得果園道路與環(huán)境背景分開的圖像,但機器人實際運行時需要可量化的行駛導航線來指導行駛。由于Hough檢測面對曲折道路時實時性差,本系統(tǒng)提出對機器人視覺攝像頭采集區(qū)域進行分塊處理,并求取中心點標記在圖像中作為導航點,如圖12所示。
圖12 導航點提取圖
xm=(∑mi,xi)/(∑mi)
(7)
ym=(∑mi,yi)/(∑mi)
(8)
其中:xi,yi是坐標點,m是坐標點數(shù)量。
為了提高實際研究開發(fā)效率,采用Gazebo仿真工具對所構建的機器人平臺進行試驗仿真。為使測試系統(tǒng)接近實際環(huán)境,通過Gazebo軟件建立仿真實驗,設置果園監(jiān)控機器人的URDF(統(tǒng)一機器人描述文件),并且設置對應的慣性參數(shù)及各種屬性,調(diào)節(jié)機器人平臺的傳動控制模型,調(diào)用軟件中控制器模塊。接著利用仿真軟件中Build editor插件手動生成機器人運動模型,調(diào)用基于圖優(yōu)化的Cartographer算法文件,通過信息采集得到用于驗證的地圖模型。對系統(tǒng)中move_base功能包節(jié)點關系進行配置,指定機器人的初始位姿以及目標點位姿,最后啟動系統(tǒng)。通過模擬傳感器采集信息,構建環(huán)境與障礙物地圖文件,實現(xiàn)路徑自動規(guī)劃與避障功能。仿真過程如圖13所示。
圖13 仿真過程
為了驗證道路導航中線提取的有效性以及分析與實際道路信息的偏差,將常規(guī)道路、彎曲道路以及陰影道路三類道路圖片傳入MATLAB軟件,在圖像中的路面上繪制同等間距的分割線,如圖14所示。通過中心點公式求取相應分割塊中心點的虛擬坐標,并且利用相機標定把中心點虛擬坐標轉變成實際屏幕坐標。將實際的道路中心點連成的線與軟件擬合成的虛擬導航線對比分析偏差,如表2所示。
圖14 路面分割圖
表2 道路中心點擬合坐標與實際坐標的誤差分析
續(xù)表2
由表2可知,擬合道路和實際道路偏差小于4%,精準度較好。
(1)本文使用英偉達公司的Jeston 開發(fā)板為機器人主控制器,通過RPLIDAR S2激光雷達、視覺攝像頭以及慣性測量單元采集信息,利用ROS分布式系統(tǒng)和基于圖優(yōu)化的Cartographer算法搭建了果園監(jiān)控機器人的自主行駛系統(tǒng)和基于機器視覺的行駛導航系統(tǒng)。對機器人進行建圖避障仿真及視覺道路導航線提取測試,結果表明該系統(tǒng)性能優(yōu)良,可實現(xiàn)果園道路行駛和導航功能。
(2)提出了聚類算法和HSV顏色空間閾值分割算法相結合的果園田間道路分割方法,并采用形態(tài)學濾波及連通域處理分割后的圖像噪點,獲得完整的道路圖像。
(3)通過機器視覺提取果園田間道路中心導航線。對攝像頭采集的道路圖像閾值分割后進行分塊操作并標記中心點,利用多項式操作對中心點擬合提取導航線,實驗仿真結果表明與實際道路信息偏差小于4%。