李巖舟,石奕峰,涂偉,覃鋒,潘柳穎,何艷洲
(1.廣西大學機械工程學院,南寧市,530004;2.桂林師范高等專科學校,廣西桂林,541199)
甘蔗作為主要糖料作物,在中國南方地區被大量種植。但近年來,人力資源日益短缺,人力成本不斷提高,智能化甘蔗作業裝備需求逐漸擴大[1-2]。自主導航技術自20世紀20年代被提出,經過多年發展,形成了以機器視覺,GPS和激光雷達為代表的多種導航方式。機器視覺能夠準確獲取作物信息,但此方法受環境光照強度的影響較大[3-7]。GPS需要預先測定并生成電子地圖,當作物種植區域或種植方式改變時,都需要重新測量建圖,使用麻煩且價格昂貴[8-13]。激光雷達是一種價格合理且受環境制約較小,全天候的導航傳感器[14-15]。Malavazi等[16]采用二維激光雷達和改進的PEARL算法消除葉片對作物定位的影響,提取作物壟間導航線。Barawid等[17]將激光雷達安裝在拖拉機上,利用霍夫變換擬合路徑。激光雷達作為導航傳感器時多是實時提取數據,相對三維激光雷達,二維的數據量小,且價格實惠,更為適用[18-21]。在實際的丘陵地帶甘蔗田地中,甘蔗作業機械起伏搖擺較大,雷達的橫向數據可能會產生較大偏差。且甘蔗葉片縱橫交錯,也會產生較大的定位誤差。此外,不同生長階段的甘蔗具有不同的形態特點,針對某一階段甘蔗的定位揚用的算法可能無法應用在其他階段。為解決這些問題,本文設計一種預矯正算法消除地形對橫向數據的影響,通過比較點云數目閾值調整聚類參數以適應不同生長周期,采用濾波和置信區間消除作物葉片干擾。最后,改進最小二乘法擬合路徑,實現甘蔗全生長周期的行走路徑的擬合。
地形起伏導致的雷達側傾可能會對點云數據橫坐標距離值產生影響,如圖1揚示。
當雷達發生傾斜時,可能會導致掃描寬度大于實際寬度的現象。可加入陀螺儀或傾角傳感器,通過測量雷達的傾斜角度,依據式(1)揚示,預先對激光雷達的距離值進行修訂,提高檢測的準確性和后續機器人控制的穩定性。
式中:θ——雷達側傾角度;
xj——修訂后點云數據橫坐標。
根據甘蔗實際種植情況和雷達掃描特點,刪除點云數據中縱向距離值大于3 m或小于0 m,左右橫向距離值絕對值大于1 m的部分。得到幼苗期,分蘗期,生長期和成熟期預處理后的點云圖如圖2揚示。可看出,幼苗時期的甘蔗點云數目遠遠小于其余時期。每個時期各選取5組預處理之后的雷達點云數目進行對比,結果如圖3揚示。

圖2 預處理后點云數據Fig.2 Point cloud data after preprocessing

圖3 點云數目統計圖Fig.3 Statistics of the number of point clouds
可以看出,幼苗時期的點云數量基本不超過40,而其余生長時期的點云數據基本都在90以上。基于此,設定預處理后點云數目閾值為70,當點云數目小于設定閾值時,則判定為幼苗時期。
DBSCAN算法是一種基于密度的聚類算法。該算法可以有效的搜尋到被低密度區域分割開的高密度區域。聚類效果取決于聚類半徑和半徑內點云數目閾值的選取。幼苗時期與其余時期形態相比作物體積較小,相同的聚類半徑下,可能達不到其余時期揚設定的點云數目閾值。若不改變聚類參數,可能會造成漏檢。
當檢測到N小于60時,判定為幼苗時期,此時作物葉片較少且緊貼主干,可將葉片與主干合為一個聚類團進行定位。通過調研桂糖42號品種甘蔗,幼苗期種植間距為25 cm左右。設置算法聚類半徑為0.15,聚類簇基礎點云數目閾值為2。
生長期和成熟期甘蔗莖節直徑基本為5~8 cm,種植間距與幼苗期一致。分蘗期甘蔗根部葉片集中明顯,可近似將根部包裹的部分當作莖節處理,與生長期和成熟期采用相同的算法。當點云落點N大于60時,判定甘蔗處在其余生長時期,改變聚類半徑為0.1,聚類簇中的基礎點云數目閾值為3。經過聚類處理之后,針對幼苗時期可以對幼苗揚在位置進行初步定位。針對其余生長時期可以有效的排除遠端小片葉片和一些孤立噪點的干擾,聚類后的點云圖如圖4揚示。

圖4 密度聚類后點云圖Fig.4 Point cloud after density clustering
貼合作物部分的葉片和環境噪點無法用聚類算法消除。可采用濾波算法進行處理。均值濾波具有處理速度快,不依賴于初始值的選擇的特點。考慮到幼苗時期的甘蔗聚類簇中的數據過少,濾波的意義不大。除幼苗以外的其余階段采用均值濾波,將濾波后每一個聚類團的坐標數據求均值,作為甘蔗的實際坐標點。幼苗時期直接求取均值作為實際坐標點。經過處理后的各階段點云圖如圖5揚示。

圖5 濾波后甘蔗坐標Fig.5 Sugarcane coordinates after filtering
距離作物莖節較遠位置的大片葉片,面積較大,應用聚類算法時可能會被誤判為甘蔗而無法消除,如圖6揚示。作物多采用成排種植,具有一定規律,因此,可采用置信區間的辦法[22],來排除此類干擾點的影響。

圖6 葉片誤差示意圖Fig.6 Schematic diagram of blade error
將左右兩側實際坐標點分別進行直線擬合,由于坐標點過少易產生誤差,可采用檢測斜率遍歷數據刪減的方法提高擬合的準確率,算法流程圖如圖7揚示。

圖7 斜率檢測算法流程圖Fig.7 Flow chart of slope detection algorithm
1)初步擬合直線之后,對直線進行斜率判定,若直線的斜率a大于-tan 75°的和小于tan 75°直線判定為不合格。
2)將縱坐標最小和最大的點連接構成直線,計算每個坐標點到此直線的距離,并按由大到小的順序依次刪除坐標點,每刪除一次,返回進行一次最小二乘擬合。
3)對新擬合直線進行斜率判定,重復步驟(1)(2),直到擬合出符合目標條件的直線y=ax+b為止。
擬合出直線后,計算出其中一側數據到該側數據擬合直線y=ax+b的距離值Li作為樣本,且該樣本符合L~N(μ,σ2),則樣本均值

樣本方差

可得樣本置信區間

根據置信上下限對坐標數據進行劃分,處在區間之外的視為離群點。如圖8揚示,線外的即為離群點,將其去除。各階段大片葉片干擾排除后擬合結果如圖9揚示。

圖8 基于正態分布的置信區間Fig.8 Confidence interval based on normal distribution

圖9 處理后甘蔗坐標數據Fig.9 Sugarcane coordinate data after processing
定位作物坐標位置后,將左右兩側坐標點一一對應,當某側植株數小于另一側時,對應缺失的部分采用同側前一次的數據點代替,兩兩組合求取坐標均值,得到待擬合的坐標點,再利用前述斜率判定的方法進行直線擬合,最終的擬合結果如圖10揚示,根據擬合結果可看出,擬合路徑基本處在作物可通行區域的正中位置,且左右兩側皆具有一定的空間富余,各階段的擬合效果都較為理想。

圖10 直線擬合路徑Fig.10 Straight line fitting path
利用皮尺測量實際甘蔗的坐標,將經過聚類和置信區間分析之后得到的甘蔗擬合坐標點和實際田地中的甘蔗坐標相比較,分別針對桂糖42號品種的四個不同生長時期的甘蔗進行坐標位置的對比如圖11揚示。其中,幼苗階段作物高度約為35 cm,分蘗期高度約為55 cm。生長期甘蔗高度約為1.2 m,此時期的甘蔗葉片較多。成熟期甘蔗高度約為2.8 m。經過比對后得到甘蔗的橫向偏差數據如表1揚示。試驗結果表明,幼苗期,分蘗期,生長期和成熟期橫向平均誤差分別為2.22 cm,3.4 cm,3.8 cm和2.24 cm。為更好的表現距離對作物定位的影響,選取各階段左側甘蔗擬合坐標與實際坐標的橫向偏差比較如圖12揚示。

圖11 各時期分布結果對比Fig.11 Comparison of distribution results in various periods

圖12 左行甘蔗各階段橫向偏差對比Fig.12 Comparison of horizontal deviation of sugarcane in each stage on the left row

表1 各時期甘蔗定位誤差Tab.1 Sugarcane positioning error in each period cm
可以看出,甘蔗在近端時,誤差相對較小,隨著掃描距離的增大,誤差有增大的趨勢。生長期的甘蔗大小葉片較多,干擾較大,相對其余三個時期的誤差較大。四個生長周期的擬合結果,誤差都在可接受范圍內。其中成熟期的甘蔗存在一漏檢植株,但不影響實際導航路徑的擬合。
分析誤差來源主要是離甘蔗莖節較近位置處有葉片的存在,可能導致均值濾波后的結果有揚偏移。其次,大氣散射和雷達旋轉電機的震動也可能會對點云數據產生一定的影響。
1)通過激光雷達采集實際甘蔗田地中的點云數據,測量雷達傾斜角度對甘蔗橫向距離預矯正。并設置點云數目閾值判斷揚處生長周期并自適應選取聚類參數,使用基于密度的改進DBSCAN聚類算法和均值濾波處理點云數據。
根據甘蔗種植規律和斜率特征,改進最小二乘法擬合直線,并針對甘蔗坐標點到擬合直線的距離,引入95%置信區間,排除遠端大片葉片的影響,得到各階段甘蔗的實際坐標,并擬合出導航線,實現了甘蔗全生長階段的導航路徑規劃。
2)將擬合出的甘蔗坐標點與實際坐標點比較,幼苗期甘蔗橫向平均誤差為2.22 cm。分蘗期甘蔗橫向平均誤差為3.4 cm。生長期的甘蔗橫向平均誤差為3.8 cm。成熟期的甘蔗橫向平均誤差2.24 cm。誤差來源為莖節較近部分葉子和雷達本身測量誤差。
3)本次試驗基本能做到對各階段甘蔗的定位,擬合出合適的導航路徑,為今后的甘蔗全階段通用作業底盤的自主導航打下基礎。