李巖舟,石奕峰,涂偉,覃鋒,潘柳穎,何艷洲
(1.廣西大學(xué)機械工程學(xué)院,南寧市,530004;2.桂林師范高等??茖W(xué)校,廣西桂林,541199)
甘蔗作為主要糖料作物,在中國南方地區(qū)被大量種植。但近年來,人力資源日益短缺,人力成本不斷提高,智能化甘蔗作業(yè)裝備需求逐漸擴大[1-2]。自主導(dǎo)航技術(shù)自20世紀(jì)20年代被提出,經(jīng)過多年發(fā)展,形成了以機器視覺,GPS和激光雷達為代表的多種導(dǎo)航方式。機器視覺能夠準(zhǔn)確獲取作物信息,但此方法受環(huán)境光照強度的影響較大[3-7]。GPS需要預(yù)先測定并生成電子地圖,當(dāng)作物種植區(qū)域或種植方式改變時,都需要重新測量建圖,使用麻煩且價格昂貴[8-13]。激光雷達是一種價格合理且受環(huán)境制約較小,全天候的導(dǎo)航傳感器[14-15]。Malavazi等[16]采用二維激光雷達和改進的PEARL算法消除葉片對作物定位的影響,提取作物壟間導(dǎo)航線。Barawid等[17]將激光雷達安裝在拖拉機上,利用霍夫變換擬合路徑。激光雷達作為導(dǎo)航傳感器時多是實時提取數(shù)據(jù),相對三維激光雷達,二維的數(shù)據(jù)量小,且價格實惠,更為適用[18-21]。在實際的丘陵地帶甘蔗田地中,甘蔗作業(yè)機械起伏搖擺較大,雷達的橫向數(shù)據(jù)可能會產(chǎn)生較大偏差。且甘蔗葉片縱橫交錯,也會產(chǎn)生較大的定位誤差。此外,不同生長階段的甘蔗具有不同的形態(tài)特點,針對某一階段甘蔗的定位揚用的算法可能無法應(yīng)用在其他階段。為解決這些問題,本文設(shè)計一種預(yù)矯正算法消除地形對橫向數(shù)據(jù)的影響,通過比較點云數(shù)目閾值調(diào)整聚類參數(shù)以適應(yīng)不同生長周期,采用濾波和置信區(qū)間消除作物葉片干擾。最后,改進最小二乘法擬合路徑,實現(xiàn)甘蔗全生長周期的行走路徑的擬合。
地形起伏導(dǎo)致的雷達側(cè)傾可能會對點云數(shù)據(jù)橫坐標(biāo)距離值產(chǎn)生影響,如圖1揚示。
當(dāng)雷達發(fā)生傾斜時,可能會導(dǎo)致掃描寬度大于實際寬度的現(xiàn)象??杉尤胪勇輧x或傾角傳感器,通過測量雷達的傾斜角度,依據(jù)式(1)揚示,預(yù)先對激光雷達的距離值進行修訂,提高檢測的準(zhǔn)確性和后續(xù)機器人控制的穩(wěn)定性。
式中:θ——雷達側(cè)傾角度;
xj——修訂后點云數(shù)據(jù)橫坐標(biāo)。
根據(jù)甘蔗實際種植情況和雷達掃描特點,刪除點云數(shù)據(jù)中縱向距離值大于3 m或小于0 m,左右橫向距離值絕對值大于1 m的部分。得到幼苗期,分蘗期,生長期和成熟期預(yù)處理后的點云圖如圖2揚示??煽闯觯酌鐣r期的甘蔗點云數(shù)目遠遠小于其余時期。每個時期各選取5組預(yù)處理之后的雷達點云數(shù)目進行對比,結(jié)果如圖3揚示。
圖2 預(yù)處理后點云數(shù)據(jù)Fig.2 Point cloud data after preprocessing
圖3 點云數(shù)目統(tǒng)計圖Fig.3 Statistics of the number of point clouds
可以看出,幼苗時期的點云數(shù)量基本不超過40,而其余生長時期的點云數(shù)據(jù)基本都在90以上?;诖?,設(shè)定預(yù)處理后點云數(shù)目閾值為70,當(dāng)點云數(shù)目小于設(shè)定閾值時,則判定為幼苗時期。
DBSCAN算法是一種基于密度的聚類算法。該算法可以有效的搜尋到被低密度區(qū)域分割開的高密度區(qū)域。聚類效果取決于聚類半徑和半徑內(nèi)點云數(shù)目閾值的選取。幼苗時期與其余時期形態(tài)相比作物體積較小,相同的聚類半徑下,可能達不到其余時期揚設(shè)定的點云數(shù)目閾值。若不改變聚類參數(shù),可能會造成漏檢。
當(dāng)檢測到N小于60時,判定為幼苗時期,此時作物葉片較少且緊貼主干,可將葉片與主干合為一個聚類團進行定位。通過調(diào)研桂糖42號品種甘蔗,幼苗期種植間距為25 cm左右。設(shè)置算法聚類半徑為0.15,聚類簇基礎(chǔ)點云數(shù)目閾值為2。
生長期和成熟期甘蔗莖節(jié)直徑基本為5~8 cm,種植間距與幼苗期一致。分蘗期甘蔗根部葉片集中明顯,可近似將根部包裹的部分當(dāng)作莖節(jié)處理,與生長期和成熟期采用相同的算法。當(dāng)點云落點N大于60時,判定甘蔗處在其余生長時期,改變聚類半徑為0.1,聚類簇中的基礎(chǔ)點云數(shù)目閾值為3。經(jīng)過聚類處理之后,針對幼苗時期可以對幼苗揚在位置進行初步定位。針對其余生長時期可以有效的排除遠端小片葉片和一些孤立噪點的干擾,聚類后的點云圖如圖4揚示。
圖4 密度聚類后點云圖Fig.4 Point cloud after density clustering
貼合作物部分的葉片和環(huán)境噪點無法用聚類算法消除??刹捎脼V波算法進行處理。均值濾波具有處理速度快,不依賴于初始值的選擇的特點??紤]到幼苗時期的甘蔗聚類簇中的數(shù)據(jù)過少,濾波的意義不大。除幼苗以外的其余階段采用均值濾波,將濾波后每一個聚類團的坐標(biāo)數(shù)據(jù)求均值,作為甘蔗的實際坐標(biāo)點。幼苗時期直接求取均值作為實際坐標(biāo)點。經(jīng)過處理后的各階段點云圖如圖5揚示。
圖5 濾波后甘蔗坐標(biāo)Fig.5 Sugarcane coordinates after filtering
距離作物莖節(jié)較遠位置的大片葉片,面積較大,應(yīng)用聚類算法時可能會被誤判為甘蔗而無法消除,如圖6揚示。作物多采用成排種植,具有一定規(guī)律,因此,可采用置信區(qū)間的辦法[22],來排除此類干擾點的影響。
圖6 葉片誤差示意圖Fig.6 Schematic diagram of blade error
將左右兩側(cè)實際坐標(biāo)點分別進行直線擬合,由于坐標(biāo)點過少易產(chǎn)生誤差,可采用檢測斜率遍歷數(shù)據(jù)刪減的方法提高擬合的準(zhǔn)確率,算法流程圖如圖7揚示。
圖7 斜率檢測算法流程圖Fig.7 Flow chart of slope detection algorithm
1)初步擬合直線之后,對直線進行斜率判定,若直線的斜率a大于-tan 75°的和小于tan 75°直線判定為不合格。
2)將縱坐標(biāo)最小和最大的點連接構(gòu)成直線,計算每個坐標(biāo)點到此直線的距離,并按由大到小的順序依次刪除坐標(biāo)點,每刪除一次,返回進行一次最小二乘擬合。
3)對新擬合直線進行斜率判定,重復(fù)步驟(1)(2),直到擬合出符合目標(biāo)條件的直線y=ax+b為止。
擬合出直線后,計算出其中一側(cè)數(shù)據(jù)到該側(cè)數(shù)據(jù)擬合直線y=ax+b的距離值Li作為樣本,且該樣本符合L~N(μ,σ2),則樣本均值
樣本方差
可得樣本置信區(qū)間
根據(jù)置信上下限對坐標(biāo)數(shù)據(jù)進行劃分,處在區(qū)間之外的視為離群點。如圖8揚示,線外的即為離群點,將其去除。各階段大片葉片干擾排除后擬合結(jié)果如圖9揚示。
圖8 基于正態(tài)分布的置信區(qū)間Fig.8 Confidence interval based on normal distribution
圖9 處理后甘蔗坐標(biāo)數(shù)據(jù)Fig.9 Sugarcane coordinate data after processing
定位作物坐標(biāo)位置后,將左右兩側(cè)坐標(biāo)點一一對應(yīng),當(dāng)某側(cè)植株數(shù)小于另一側(cè)時,對應(yīng)缺失的部分采用同側(cè)前一次的數(shù)據(jù)點代替,兩兩組合求取坐標(biāo)均值,得到待擬合的坐標(biāo)點,再利用前述斜率判定的方法進行直線擬合,最終的擬合結(jié)果如圖10揚示,根據(jù)擬合結(jié)果可看出,擬合路徑基本處在作物可通行區(qū)域的正中位置,且左右兩側(cè)皆具有一定的空間富余,各階段的擬合效果都較為理想。
圖10 直線擬合路徑Fig.10 Straight line fitting path
利用皮尺測量實際甘蔗的坐標(biāo),將經(jīng)過聚類和置信區(qū)間分析之后得到的甘蔗擬合坐標(biāo)點和實際田地中的甘蔗坐標(biāo)相比較,分別針對桂糖42號品種的四個不同生長時期的甘蔗進行坐標(biāo)位置的對比如圖11揚示。其中,幼苗階段作物高度約為35 cm,分蘗期高度約為55 cm。生長期甘蔗高度約為1.2 m,此時期的甘蔗葉片較多。成熟期甘蔗高度約為2.8 m。經(jīng)過比對后得到甘蔗的橫向偏差數(shù)據(jù)如表1揚示。試驗結(jié)果表明,幼苗期,分蘗期,生長期和成熟期橫向平均誤差分別為2.22 cm,3.4 cm,3.8 cm和2.24 cm。為更好的表現(xiàn)距離對作物定位的影響,選取各階段左側(cè)甘蔗擬合坐標(biāo)與實際坐標(biāo)的橫向偏差比較如圖12揚示。
圖11 各時期分布結(jié)果對比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
可以看出,甘蔗在近端時,誤差相對較小,隨著掃描距離的增大,誤差有增大的趨勢。生長期的甘蔗大小葉片較多,干擾較大,相對其余三個時期的誤差較大。四個生長周期的擬合結(jié)果,誤差都在可接受范圍內(nèi)。其中成熟期的甘蔗存在一漏檢植株,但不影響實際導(dǎo)航路徑的擬合。
分析誤差來源主要是離甘蔗莖節(jié)較近位置處有葉片的存在,可能導(dǎo)致均值濾波后的結(jié)果有揚偏移。其次,大氣散射和雷達旋轉(zhuǎn)電機的震動也可能會對點云數(shù)據(jù)產(chǎn)生一定的影響。
1)通過激光雷達采集實際甘蔗田地中的點云數(shù)據(jù),測量雷達傾斜角度對甘蔗橫向距離預(yù)矯正。并設(shè)置點云數(shù)目閾值判斷揚處生長周期并自適應(yīng)選取聚類參數(shù),使用基于密度的改進DBSCAN聚類算法和均值濾波處理點云數(shù)據(jù)。
根據(jù)甘蔗種植規(guī)律和斜率特征,改進最小二乘法擬合直線,并針對甘蔗坐標(biāo)點到擬合直線的距離,引入95%置信區(qū)間,排除遠端大片葉片的影響,得到各階段甘蔗的實際坐標(biāo),并擬合出導(dǎo)航線,實現(xiàn)了甘蔗全生長階段的導(dǎo)航路徑規(guī)劃。
2)將擬合出的甘蔗坐標(biāo)點與實際坐標(biāo)點比較,幼苗期甘蔗橫向平均誤差為2.22 cm。分蘗期甘蔗橫向平均誤差為3.4 cm。生長期的甘蔗橫向平均誤差為3.8 cm。成熟期的甘蔗橫向平均誤差2.24 cm。誤差來源為莖節(jié)較近部分葉子和雷達本身測量誤差。
3)本次試驗基本能做到對各階段甘蔗的定位,擬合出合適的導(dǎo)航路徑,為今后的甘蔗全階段通用作業(yè)底盤的自主導(dǎo)航打下基礎(chǔ)。