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

圖1 激光雷達(dá)實(shí)物圖
為獲取待收獲小麥點(diǎn)云數(shù)據(jù),于2021年7月8日于安徽農(nóng)業(yè)大學(xué)皖北宿州實(shí)驗(yàn)站的一塊已成熟待收獲的試驗(yàn)臺(tái)內(nèi)進(jìn)行采集,采集平臺(tái)為一臺(tái)搭載激光雷達(dá)的小麥?zhǔn)斋@機(jī),其在收獲機(jī)上的安裝位置示意圖如圖2所示,通過(guò)邊收割邊采集的方式來(lái)使得采集的數(shù)據(jù)更加便于處理實(shí)驗(yàn),其中點(diǎn)云數(shù)據(jù)采集過(guò)程中激光雷達(dá)積分時(shí)間設(shè)置為200 ms,小麥?zhǔn)斋@機(jī)以1 m/s沿著小麥待收割區(qū)域邊界線進(jìn)行作業(yè)。

圖2 激光雷達(dá)安裝示意圖
為使得激光雷達(dá)能夠較好的識(shí)別收割機(jī)前方的小麥待收獲區(qū)域,確保收獲機(jī)自動(dòng)對(duì)行行駛的實(shí)時(shí)性,應(yīng)盡量讓激光雷達(dá)采集的小麥點(diǎn)云靠近割臺(tái)位置,因此考慮雷達(dá)垂直視角及在收獲機(jī)上安裝的高度等因素,將雷達(dá)的安裝角度設(shè)置為:

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

圖3 小麥點(diǎn)云數(shù)據(jù)
在小麥?zhǔn)斋@機(jī)收獲作業(yè)中,為保證效率及質(zhì)量,需要要求收割機(jī)滿幅作業(yè)且不發(fā)生漏割和重割現(xiàn)象,因此需要對(duì)不同情況下的小麥進(jìn)行準(zhǔn)確快速的邊界線檢測(cè)。根據(jù)實(shí)際采集的小麥點(diǎn)云數(shù)據(jù)觀測(cè)發(fā)現(xiàn),未收貨區(qū)域和待收貨區(qū)域的小麥存在較明顯的高度差,因此根據(jù)此特點(diǎn)設(shè)計(jì)了基ROI區(qū)域下閾值迭代法的小麥?zhǔn)斋@邊界線提取方法,具體流程如圖4所示。

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

式中,α為x軸旋轉(zhuǎn)的角度;
β為y軸旋轉(zhuǎn)的角度;
γ為z軸旋轉(zhuǎn)的角度。
構(gòu)造點(diǎn)云平移向量:

式中,kx為沿x軸平移的距離;
ky為眼y軸平移的距離;
kz為沿z軸平移的距離。
帶入式3即得目標(biāo)點(diǎn)云數(shù)據(jù):

式中,P^為目標(biāo)點(diǎn)云數(shù)據(jù);
P為原始點(diǎn)云數(shù)據(jù)。
點(diǎn)云變換前后的數(shù)據(jù)如圖4所示。

圖4 小麥點(diǎn)云變換圖
2.1.2 點(diǎn)云濾波。在獲取小麥點(diǎn)云數(shù)據(jù)時(shí),由于被測(cè)小麥不是絕對(duì)靜止?fàn)顟B(tài),且小麥?zhǔn)斋@過(guò)程中存在大量粉碎屑,導(dǎo)致點(diǎn)云數(shù)據(jù)不可避免的存在一定的噪聲點(diǎn)及離群點(diǎn),因此需要對(duì)點(diǎn)云進(jìn)行濾波處理,濾波處理的效果往往對(duì)后續(xù)點(diǎn)云處理的影響很大。采用半徑濾波對(duì)點(diǎn)云進(jìn)行濾波,濾波后的點(diǎn)云如圖5所示。

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

圖6 ROI區(qū)域裁剪
2.3.1 條帶法提取導(dǎo)航點(diǎn)。由于小麥種植密集,雷達(dá)無(wú)法穿透小麥冠層射入地面,且行與行間錯(cuò)綜復(fù)雜,常見(jiàn)的利用玉米植株壟線較明顯的方式來(lái)規(guī)劃導(dǎo)航線方式無(wú)法使用,但小麥已收獲區(qū)域和待收獲區(qū)域的高度差明顯具有差異,利用這一特點(diǎn)規(guī)劃小麥的導(dǎo)航線。為直觀的觀測(cè)小麥的高度變化情況,將ROI區(qū)域水平劃分為不同的水平點(diǎn)云條帶,觀測(cè)每一個(gè)條帶內(nèi)小麥點(diǎn)云高度的數(shù)據(jù)變化,然后提取一個(gè)條帶內(nèi)的導(dǎo)航點(diǎn)。未倒伏小麥的高度數(shù)據(jù)如圖7。

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

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

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

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