張 剛,馬強龍,馬 標,吳愛兵,楊 洋,2
(1.安徽農業大學工學院,安徽合肥 230036;2.合肥綜合性國家科學中心人工智能研究院(安徽省人工智能實驗室),安徽合肥 230036;3.農業農村部南京農業機械化研究所,江蘇南京 210014)
傳統的小麥收獲機在駕駛作業中,作業效果依賴于駕駛員的駕駛狀況,在進行長時間的直線作業時,很難達到高精度的作業要求,容易出現漏割等現象,造成效率的降低[1]。因此,開展小麥收獲機導航線自動識別系統的研制,有助于對小麥收獲機自動駕駛的效果提高,不僅可以提升小麥收獲機作業精準度,還可以提高農業生產效率、降低生產成本,減緩駕駛員作業疲勞程度。
目前,小麥導航線的提取主要使用視覺傳感器和二維激光雷達傳感器,曾宏偉[2]等采用相機獲取小麥收割圖像,并提出一種基于區域生長算法的聯合收獲機導航線提取算法,該方式導航線提取誤差較小,且不易受作物生長密度的干擾。丁幼春等[3]采用工業相機采集小麥圖像,根據Sobel算子和Canny算子進行邊緣檢測,然后通過Hongh變化擬合導航線,此方式單幀圖像處理時間50 ms,準確率較高。但圖像數據往往受光照的影響,例如強光照下成熟小麥已收割區域和未收割區域對比度低,收割邊界獲取難度大。偉利國等[4]采用二維激光雷達對小麥的邊界線進行在線識別,通過閾值法得出導航線,收獲邊界測量不超過12 cm。但二維激光雷達的掃描是一個二維平面,很難反映出小麥種植的整體效果。基于上述問題可知,本文設計了一種基于三維激光雷達的小麥導航線提取方法,具有受光照影響效果小,且獲取的點云數據很直觀的反映出小麥的導航線數據,該方法可可靠有效的提取出小麥收獲導航線。
為精確獲取被測小麥的輪廓信息,采用三維面掃描高性能激光雷(中國大疆固態激光雷達,型號:浩界 Horizon,量程:90 m @ 10% 反射率,數據率:240,000 點/秒),高點云密度及便于嵌入車體的小巧體積,價格合理,具備81.7°寬廣水平視場及25.1°的垂直視場,其獨特的矩形視場,更適合車輛及農機的L3/L4級的自動駕駛使用,激光雷達如圖1所示。

圖1 激光雷達實物圖
為獲取待收獲小麥點云數據,于2021年7月8日于安徽農業大學皖北宿州實驗站的一塊已成熟待收獲的試驗臺內進行采集,采集平臺為一臺搭載激光雷達的小麥收獲機,其在收獲機上的安裝位置示意圖如圖2所示,通過邊收割邊采集的方式來使得采集的數據更加便于處理實驗,其中點云數據采集過程中激光雷達積分時間設置為200 ms,小麥收獲機以1 m/s沿著小麥待收割區域邊界線進行作業。

圖2 激光雷達安裝示意圖
為使得激光雷達能夠較好的識別收割機前方的小麥待收獲區域,確保收獲機自動對行行駛的實時性,應盡量讓激光雷達采集的小麥點云靠近割臺位置,因此考慮雷達垂直視角及在收獲機上安裝的高度等因素,將雷達的安裝角度設置為:

式中,θ1為激光雷達的安裝角度;
θ2為激光雷達的垂直視角(25.1°);
l1為激光雷達與收割機割臺前端的水平距離;
l2為激光雷達的安裝高度。
試驗采集的小麥點云數據如圖3所示。點云處理的硬件環境為聯想的ThinkPad電腦,Intel Core i7-4800MQ處理器,主頻2.70 GHz,64位操作系統,運行內存16 G。軟件環境為Ubantu16.04操作系統下的ROS操作系統,采用C++與點云PCL庫編程,激光雷達與處理器采用網口直連通信。

圖3 小麥點云數據
在小麥收獲機收獲作業中,為保證效率及質量,需要要求收割機滿幅作業且不發生漏割和重割現象,因此需要對不同情況下的小麥進行準確快速的邊界線檢測。根據實際采集的小麥點云數據觀測發現,未收貨區域和待收貨區域的小麥存在較明顯的高度差,因此根據此特點設計了基ROI區域下閾值迭代法的小麥收獲邊界線提取方法,具體流程如圖4所示。

圖4 小麥導航線提取流程圖
主要流程為:首先對采集的點云進行預處理,對預處理后的點云進行ROI區域提取,然后計算點云的高度直方圖,以便直觀的觀測到點云的高度分布數據,通過純閾值法求出導航點,最后根據導航點擬合出導航線路徑。
2.1.1 點云變換。激光雷達采集的點云坐標受到安裝位置及角度的影響,由于本實驗中激光雷達的傾斜安裝導致采集的點云數據是傾斜的,不便于觀測和處理,因此需要將采集到的點云經過x,y,z三軸進行點云旋轉和平移,得到方便觀測處理的點云數據,點云的旋轉和平移都是剛體運動,則構造點云旋轉矩陣:

式中,α為x軸旋轉的角度;
β為y軸旋轉的角度;
γ為z軸旋轉的角度。
構造點云平移向量:

式中,kx為沿x軸平移的距離;
ky為眼y軸平移的距離;
kz為沿z軸平移的距離。
帶入式3即得目標點云數據:

式中,P^為目標點云數據;
P為原始點云數據。
點云變換前后的數據如圖4所示。

圖4 小麥點云變換圖
2.1.2 點云濾波。在獲取小麥點云數據時,由于被測小麥不是絕對靜止狀態,且小麥收獲過程中存在大量粉碎屑,導致點云數據不可避免的存在一定的噪聲點及離群點,因此需要對點云進行濾波處理,濾波處理的效果往往對后續點云處理的影響很大。采用半徑濾波對點云進行濾波,濾波后的點云如圖5所示。

圖5 濾波后的點云圖
由于雷達的采集的視場幅寬很大,容易照射到其他非小麥物體上,照成數據處理復雜,不確定因素高,且整幅點云數據量大,激光雷達處理耗時高,因此對整幅點云進行裁剪,使得只關注雷達采集的正前方一塊小麥區域,如圖6a。裁剪的面積為H*W,根據收獲機的割符合雷達視場的長度,H和W分別取5 m和2.4 m,然后基于裁剪后的ROI區域經行點云處理,如圖6b所示。

圖6 ROI區域裁剪
2.3.1 條帶法提取導航點。由于小麥種植密集,雷達無法穿透小麥冠層射入地面,且行與行間錯綜復雜,常見的利用玉米植株壟線較明顯的方式來規劃導航線方式無法使用,但小麥已收獲區域和待收獲區域的高度差明顯具有差異,利用這一特點規劃小麥的導航線。為直觀的觀測小麥的高度變化情況,將ROI區域水平劃分為不同的水平點云條帶,觀測每一個條帶內小麥點云高度的數據變化,然后提取一個條帶內的導航點。未倒伏小麥的高度數據如圖7。

圖7 未倒伏小麥水平點云高度數據
由圖7可看出,未倒伏小麥的點云數據的未收獲區域與帶收獲區域高度差異區別明顯,高度數據也可看出,已收獲區域高度為0 m左右,而未收獲區域的小麥高度未0.7 m左右。根據這一特性,可設計基于純高度閾值的小麥待收獲導航線提取算法,首先設定一個高度閾值x,利用順序遍歷法判斷當下一點云的高度值大于該閾值時,即為該條帶的導航點。根據這一算法得出的導航點如圖8。

圖8 導航點提取
圖8中白色點即為純閾值算法下的小麥待收獲區域邊界線的導航點,由圖8可看出導航點的提取效果較好,基本上與邊界線相切合,滿足當前小麥收獲機無人駕駛下的自動導航控制。
2.3.2 導航線擬合。導航線的擬合采用做小二乘法擬合直線公式[5],最小二乘法的原理是使得所有已知的點到這條直線的歐式距離的和最小也就是點到直線的誤差平方和最小,具體公式為:

式中,yi為Y軸的點坐標;
xi為X軸的點坐標;
k為所求直線點的斜率;
b為所求直線點的截距。
分別對此公式關于k和b求導,得出待擬合直線的方程。擬合出的導航線如圖9所示。
由圖9可知,最小二乘法擬合的導航線效果較好,與導航點具有一致性,且在小麥的點云數據中可看出導航線的方向與小麥收獲的邊界線基本貼合,反映了此雷達擬合小麥導航線算法的有效性,并基本上滿足當下小麥收獲機田間收獲輔助駕駛功能。

圖9 導航線擬合
本文以小麥為研究對象,設計了一種基于三維激光雷達的小麥收獲機導航線提取方法,該算法通過點云變換、點云濾波對點云進行預處理,然后提出基于ROI區域的導航線識別算法。通過區域裁剪使得計算機只關注于ROI區域,減少了計算機的計算量和計算時間。通過將ROI區域劃分為不同的水平條帶,然后對每一條帶使用純閾值算法確定小麥的導航點,最后使用最小二乘法擬合導航點。數據表面,該方式擬合的導航線和小麥真實的邊界線幾乎一致,很好的反映了小麥邊界線的情況,能夠滿足小麥收獲機田間無人收獲作業的要求。