張 剛,馬強龍,馬 標,吳愛兵,楊 洋,2
(1.安徽農(nóng)業(yè)大學(xué)工學(xué)院,安徽合肥 230036;2.合肥綜合性國家科學(xué)中心人工智能研究院(安徽省人工智能實驗室),安徽合肥 230036;3.農(nóng)業(yè)農(nóng)村部南京農(nóng)業(yè)機械化研究所,江蘇南京 210014)
傳統(tǒng)的小麥收獲機在駕駛作業(yè)中,作業(yè)效果依賴于駕駛員的駕駛狀況,在進行長時間的直線作業(yè)時,很難達到高精度的作業(yè)要求,容易出現(xiàn)漏割等現(xiàn)象,造成效率的降低[1]。因此,開展小麥收獲機導(dǎo)航線自動識別系統(tǒng)的研制,有助于對小麥收獲機自動駕駛的效果提高,不僅可以提升小麥收獲機作業(yè)精準度,還可以提高農(nóng)業(yè)生產(chǎn)效率、降低生產(chǎn)成本,減緩駕駛員作業(yè)疲勞程度。
目前,小麥導(dǎo)航線的提取主要使用視覺傳感器和二維激光雷達傳感器,曾宏偉[2]等采用相機獲取小麥收割圖像,并提出一種基于區(qū)域生長算法的聯(lián)合收獲機導(dǎo)航線提取算法,該方式導(dǎo)航線提取誤差較小,且不易受作物生長密度的干擾。丁幼春等[3]采用工業(yè)相機采集小麥圖像,根據(jù)Sobel算子和Canny算子進行邊緣檢測,然后通過Hongh變化擬合導(dǎo)航線,此方式單幀圖像處理時間50 ms,準確率較高。但圖像數(shù)據(jù)往往受光照的影響,例如強光照下成熟小麥已收割區(qū)域和未收割區(qū)域?qū)Ρ榷鹊?,收割邊界獲取難度大。偉利國等[4]采用二維激光雷達對小麥的邊界線進行在線識別,通過閾值法得出導(dǎo)航線,收獲邊界測量不超過12 cm。但二維激光雷達的掃描是一個二維平面,很難反映出小麥種植的整體效果?;谏鲜鰡栴}可知,本文設(shè)計了一種基于三維激光雷達的小麥導(dǎo)航線提取方法,具有受光照影響效果小,且獲取的點云數(shù)據(jù)很直觀的反映出小麥的導(dǎo)航線數(shù)據(jù),該方法可可靠有效的提取出小麥收獲導(dǎo)航線。
為精確獲取被測小麥的輪廓信息,采用三維面掃描高性能激光雷(中國大疆固態(tài)激光雷達,型號:浩界 Horizon,量程:90 m @ 10% 反射率,數(shù)據(jù)率:240,000 點/秒),高點云密度及便于嵌入車體的小巧體積,價格合理,具備81.7°寬廣水平視場及25.1°的垂直視場,其獨特的矩形視場,更適合車輛及農(nóng)機的L3/L4級的自動駕駛使用,激光雷達如圖1所示。
圖1 激光雷達實物圖
為獲取待收獲小麥點云數(shù)據(jù),于2021年7月8日于安徽農(nóng)業(yè)大學(xué)皖北宿州實驗站的一塊已成熟待收獲的試驗臺內(nèi)進行采集,采集平臺為一臺搭載激光雷達的小麥收獲機,其在收獲機上的安裝位置示意圖如圖2所示,通過邊收割邊采集的方式來使得采集的數(shù)據(jù)更加便于處理實驗,其中點云數(shù)據(jù)采集過程中激光雷達積分時間設(shè)置為200 ms,小麥收獲機以1 m/s沿著小麥待收割區(qū)域邊界線進行作業(yè)。
圖2 激光雷達安裝示意圖
為使得激光雷達能夠較好的識別收割機前方的小麥待收獲區(qū)域,確保收獲機自動對行行駛的實時性,應(yīng)盡量讓激光雷達采集的小麥點云靠近割臺位置,因此考慮雷達垂直視角及在收獲機上安裝的高度等因素,將雷達的安裝角度設(shè)置為:
式中,θ1為激光雷達的安裝角度;
θ2為激光雷達的垂直視角(25.1°);
l1為激光雷達與收割機割臺前端的水平距離;
l2為激光雷達的安裝高度。
試驗采集的小麥點云數(shù)據(jù)如圖3所示。點云處理的硬件環(huán)境為聯(lián)想的ThinkPad電腦,Intel Core i7-4800MQ處理器,主頻2.70 GHz,64位操作系統(tǒng),運行內(nèi)存16 G。軟件環(huán)境為Ubantu16.04操作系統(tǒng)下的ROS操作系統(tǒng),采用C++與點云PCL庫編程,激光雷達與處理器采用網(wǎng)口直連通信。
圖3 小麥點云數(shù)據(jù)
在小麥收獲機收獲作業(yè)中,為保證效率及質(zhì)量,需要要求收割機滿幅作業(yè)且不發(fā)生漏割和重割現(xiàn)象,因此需要對不同情況下的小麥進行準確快速的邊界線檢測。根據(jù)實際采集的小麥點云數(shù)據(jù)觀測發(fā)現(xiàn),未收貨區(qū)域和待收貨區(qū)域的小麥存在較明顯的高度差,因此根據(jù)此特點設(shè)計了基ROI區(qū)域下閾值迭代法的小麥收獲邊界線提取方法,具體流程如圖4所示。
圖4 小麥導(dǎo)航線提取流程圖
主要流程為:首先對采集的點云進行預(yù)處理,對預(yù)處理后的點云進行ROI區(qū)域提取,然后計算點云的高度直方圖,以便直觀的觀測到點云的高度分布數(shù)據(jù),通過純閾值法求出導(dǎo)航點,最后根據(jù)導(dǎo)航點擬合出導(dǎo)航線路徑。
2.1.1 點云變換。激光雷達采集的點云坐標受到安裝位置及角度的影響,由于本實驗中激光雷達的傾斜安裝導(dǎo)致采集的點云數(shù)據(jù)是傾斜的,不便于觀測和處理,因此需要將采集到的點云經(jīng)過x,y,z三軸進行點云旋轉(zhuǎn)和平移,得到方便觀測處理的點云數(shù)據(jù),點云的旋轉(zhuǎn)和平移都是剛體運動,則構(gòu)造點云旋轉(zhuǎn)矩陣:
式中,α為x軸旋轉(zhuǎn)的角度;
β為y軸旋轉(zhuǎn)的角度;
γ為z軸旋轉(zhuǎn)的角度。
構(gòu)造點云平移向量:
式中,kx為沿x軸平移的距離;
ky為眼y軸平移的距離;
kz為沿z軸平移的距離。
帶入式3即得目標點云數(shù)據(jù):
式中,P^為目標點云數(shù)據(jù);
P為原始點云數(shù)據(jù)。
點云變換前后的數(shù)據(jù)如圖4所示。
圖4 小麥點云變換圖
2.1.2 點云濾波。在獲取小麥點云數(shù)據(jù)時,由于被測小麥不是絕對靜止狀態(tài),且小麥收獲過程中存在大量粉碎屑,導(dǎo)致點云數(shù)據(jù)不可避免的存在一定的噪聲點及離群點,因此需要對點云進行濾波處理,濾波處理的效果往往對后續(xù)點云處理的影響很大。采用半徑濾波對點云進行濾波,濾波后的點云如圖5所示。
圖5 濾波后的點云圖
由于雷達的采集的視場幅寬很大,容易照射到其他非小麥物體上,照成數(shù)據(jù)處理復(fù)雜,不確定因素高,且整幅點云數(shù)據(jù)量大,激光雷達處理耗時高,因此對整幅點云進行裁剪,使得只關(guān)注雷達采集的正前方一塊小麥區(qū)域,如圖6a。裁剪的面積為H*W,根據(jù)收獲機的割符合雷達視場的長度,H和W分別取5 m和2.4 m,然后基于裁剪后的ROI區(qū)域經(jīng)行點云處理,如圖6b所示。
圖6 ROI區(qū)域裁剪
2.3.1 條帶法提取導(dǎo)航點。由于小麥種植密集,雷達無法穿透小麥冠層射入地面,且行與行間錯綜復(fù)雜,常見的利用玉米植株壟線較明顯的方式來規(guī)劃導(dǎo)航線方式無法使用,但小麥已收獲區(qū)域和待收獲區(qū)域的高度差明顯具有差異,利用這一特點規(guī)劃小麥的導(dǎo)航線。為直觀的觀測小麥的高度變化情況,將ROI區(qū)域水平劃分為不同的水平點云條帶,觀測每一個條帶內(nèi)小麥點云高度的數(shù)據(jù)變化,然后提取一個條帶內(nèi)的導(dǎo)航點。未倒伏小麥的高度數(shù)據(jù)如圖7。
圖7 未倒伏小麥水平點云高度數(shù)據(jù)
由圖7可看出,未倒伏小麥的點云數(shù)據(jù)的未收獲區(qū)域與帶收獲區(qū)域高度差異區(qū)別明顯,高度數(shù)據(jù)也可看出,已收獲區(qū)域高度為0 m左右,而未收獲區(qū)域的小麥高度未0.7 m左右。根據(jù)這一特性,可設(shè)計基于純高度閾值的小麥待收獲導(dǎo)航線提取算法,首先設(shè)定一個高度閾值x,利用順序遍歷法判斷當下一點云的高度值大于該閾值時,即為該條帶的導(dǎo)航點。根據(jù)這一算法得出的導(dǎo)航點如圖8。
圖8 導(dǎo)航點提取
圖8中白色點即為純閾值算法下的小麥待收獲區(qū)域邊界線的導(dǎo)航點,由圖8可看出導(dǎo)航點的提取效果較好,基本上與邊界線相切合,滿足當前小麥收獲機無人駕駛下的自動導(dǎo)航控制。
2.3.2 導(dǎo)航線擬合。導(dǎo)航線的擬合采用做小二乘法擬合直線公式[5],最小二乘法的原理是使得所有已知的點到這條直線的歐式距離的和最小也就是點到直線的誤差平方和最小,具體公式為:
式中,yi為Y軸的點坐標;
xi為X軸的點坐標;
k為所求直線點的斜率;
b為所求直線點的截距。
分別對此公式關(guān)于k和b求導(dǎo),得出待擬合直線的方程。擬合出的導(dǎo)航線如圖9所示。
由圖9可知,最小二乘法擬合的導(dǎo)航線效果較好,與導(dǎo)航點具有一致性,且在小麥的點云數(shù)據(jù)中可看出導(dǎo)航線的方向與小麥收獲的邊界線基本貼合,反映了此雷達擬合小麥導(dǎo)航線算法的有效性,并基本上滿足當下小麥收獲機田間收獲輔助駕駛功能。
圖9 導(dǎo)航線擬合
本文以小麥為研究對象,設(shè)計了一種基于三維激光雷達的小麥收獲機導(dǎo)航線提取方法,該算法通過點云變換、點云濾波對點云進行預(yù)處理,然后提出基于ROI區(qū)域的導(dǎo)航線識別算法。通過區(qū)域裁剪使得計算機只關(guān)注于ROI區(qū)域,減少了計算機的計算量和計算時間。通過將ROI區(qū)域劃分為不同的水平條帶,然后對每一條帶使用純閾值算法確定小麥的導(dǎo)航點,最后使用最小二乘法擬合導(dǎo)航點。數(shù)據(jù)表面,該方式擬合的導(dǎo)航線和小麥真實的邊界線幾乎一致,很好的反映了小麥邊界線的情況,能夠滿足小麥收獲機田間無人收獲作業(yè)的要求。