李亞碩,賈曉峰,伏偉浩,趙 博,王瑞雪,蘇仁忠,徐名漢,龐在溪
(1.中國農業(yè)機械化科學研究院集團有限公司,北京 100083; 2.土壤植物機器系統(tǒng)技術國家重點實驗室,北京100083;3.中機建工有限公司,北京100083; 4.湖北省農業(yè)機械化技術推廣總站,湖北 武漢 430017)
隨著國內農機化水平的提高和農機規(guī)模的擴大,田間作業(yè)全過程已基本實現(xiàn)機械化。農機作業(yè)面積是補貼發(fā)放、費用收取、效率評估、工資發(fā)放等的依據,精準有效的作業(yè)面積計算是農機管理部門和農機合作社管理人員的迫切所需。
在農機上安裝機載定位設備可以記錄作業(yè)軌跡信息,每隔幾秒向平臺發(fā)送一次數(shù)據,利用北斗定位信息提取行駛軌跡點[1-2]。如何利用這些散點還原農機真實行駛軌跡,并計算出真實作業(yè)面積,是值得關注和需要解決的問題。魯植雄等[3]利用圖像處理方法計算作業(yè)面積,同時標注重耕、漏耕區(qū)域,但該方法受軌跡點密集度和分辨率影響較大。有學者使用柵格法通過計算軌跡覆蓋區(qū)域,減去空白區(qū)域和重疊區(qū)域統(tǒng)計作業(yè)面積[4-6]。但柵格大小不好確定,占用內存空間較大,并且邊界會有毛刺。傳統(tǒng)距離測量法是簡單易行的作業(yè)面積計算方法,將軌跡點連成折線,計算折線總長度,根據農機作業(yè)軌跡長度和幅寬計算。當農機沿直線行駛時,該方法計算面積誤差不大。當農機出現(xiàn)轉向或角度發(fā)生變化時,轉向處用折線計算會產生誤差。有研究采用矢量緩沖區(qū)算法,將拐角處用圓弧代替,減少了拐角誤差[7-8]。緩沖區(qū)法以幅寬作為轉角直徑不能真實代表所有轉向幅度,對行駛過程中偶然轉向有效,當?shù)貕K是弧形時,緩沖區(qū)法仍將兩點間軌跡用直線代替。
本研究基于農機運行軌跡特點及作業(yè)地塊不確定性,將農機軌跡用弧線表示,代替?zhèn)鹘y(tǒng)直線法計算,更能反映農機行駛的真實情況。本研究設計了基于三次樣條插值的作業(yè)面積計算方法,對軌跡點進行插值,計算得到的軌跡曲線長度,結合作業(yè)幅寬得到作業(yè)面積,準確率較緩沖區(qū)法和距離測量法都有提高。
農機作業(yè)軌跡分道路行駛、田間行駛和原點停留,有效的作業(yè)面積為田間行駛軌跡,如圖1所示。農機在田間作業(yè)多采用往返作業(yè)形式,即到地塊邊界后掉頭反向作業(yè)。因此,計算作業(yè)面積時,除了意外停車軌跡點,也應將掉頭轉向點去除。保留的軌跡點為連續(xù)單向的線段,將這些線段分別插值計算再累加。

圖1 農機作業(yè)軌跡Fig.1 Operation track of agricultural machinery
機載設備在開機情況下,會定時發(fā)送定位信息。有一些特殊點會影響作業(yè)面積計算,應提前去除。
(1)農機停止散點。農機在停止時,軌跡點不是集中在一個點,而是散落在農機附近小范圍內,稱為農機停止散點,速度為0或者很小值,如圖2所示,將這些軌跡點直接去除。

圖2 停止散點和軌跡漂移點Fig.2 Dwell scatter point and trajectory drift point
(2)斷點。由于設備故障問題,兩點之間時間間隔會大于正常時間間隔,稱為數(shù)據點丟失。將前一斷點作為前段軌跡的終點,后一斷點作為后段軌跡的起點。
(3)漂移點。由于定位精度原因,個別軌跡點與前后兩點距離遠大于正常距離間隔,稱該點為漂移點。去除該漂移點,將漂移點前一點作為前段軌跡的終點,后一點作為后段軌跡的起點。
(4)農機在田間作業(yè)一般是往返行駛,到地塊邊界后會掉頭行駛,地塊邊界轉向部分不屬于作業(yè)面積。某軌跡點與前一軌跡點和后一軌跡點分別連成直線,兩直線夾角范圍為0°~180°。當夾角大于一定閾值時,認為該軌跡點處于地塊邊界調轉,將該點去除。
所有田間異常點處理后,農機田間作業(yè)軌跡被劃分為多條沿地壟的單向獨立軌跡,如圖3所示。圖3a為原始軌跡點圖,圖3b為根據軌跡點速度和轉向角度,將地塊轉向軌跡點與田間行駛軌跡點標記為不同類型。按照時間序列,計算每條作業(yè)行地頭之間作業(yè)軌跡點的長度,雖然由于信號問題導致個別軌跡點丟失,不影響整體軌跡長度計算。將計算得到的各段軌跡累加,得到所有軌跡總長度。

圖3 作業(yè)軌跡預處理效果Fig.3 Effect of job track preprocessing
兩個點確定一條直線,最簡單的方法就是每兩個點之間連一條線,最后得到一種折線圖。但是,這種方法顯然具有很明顯的缺陷:曲線不夠光滑,連接點處的斜率變化過大。
如圖4所示,將折線連接處用弧形代替,雖然解決了拐角處誤差,但對于其余折線P1P2、Pn-1Pn、PnPn+1等處,若地塊形狀如圖所示為弧形,用直線來代替弧形計算軌跡長度,也會產生誤差。

圖4 折線連接處用弧線代替Fig.4 Broken line connection is replaced by an arc
如圖5所示,用折線P1P2+P2P3+P3P4+P4P5代替弧P1P5,必然會出現(xiàn)計算誤差。因此需要盡可能還原出農機作業(yè)的真實軌跡,才能更準確計算行駛距離和作業(yè)面積。

圖5 兩點之間直線與弧線對比Fig.5 Comparison of straight line and arc between two points
如圖6所示,離散的坐標點為軌跡點,穿過每個軌跡點的平滑曲線為基于三次樣條插值得到的弧線,未完全經過每個軌跡點的弧形線為最小二乘法擬合出的曲線。計算農機作業(yè)面積,首先要計算農機軌跡線長度,每個采集的軌跡點都是真實點,數(shù)據點擬合曲線只能統(tǒng)計軌跡點趨勢和規(guī)律,不能保證所有點都在統(tǒng)計內,因此三次樣條插值算法得到的弧線更代表農機真實軌跡[9-11]。通過插值細分線段,將兩點之間的線段平滑,得到的弧線作為作業(yè)軌跡線。

圖6 擬合和插值方法效果對比Fig.6 Comparison of fitting and interpolation methods
對于區(qū)間[a,b],每個點坐標為[xi,yi],i=0,1,…,n。將區(qū)間分成x0=a S0(x)=y0+b0(x-x0)+c0(x-x0)2+d0(x-x0)3 (1) …… Sn(x)=yn+bn(x-xn)+cn(x-xn)2+dn(x-xn)3 其中,S0(x)在區(qū)間[x0,x1]上,S1(x)在區(qū)間[x1,x2]上,……,Sn(x)在區(qū)間[xn-1,xn]上。函數(shù)S(x)若為區(qū)間[a,b]上的三次樣條插值函數(shù),需滿足以下條件。 (1)在每個子區(qū)間[xi-1,xi]上S(x)是三次多項式。 (2)S(xi)=yi,i=0,1,…,n。 (3)在區(qū)間[a,b]上S(xi)的二階導數(shù)S″(xi)連續(xù)。 Si(x)=aix3+bix2+cix+di,i=0,1,…,n (2) S(xi)=yi,S(xi-0)=S(xi+0),i=0,1,…,n (3) S′(xi-0)=S′(xi+0) (4) S″(xi-0)=S″(xi+0),i=0,1,…,n (5) 式(2)中的ai、bi、ci、di待定,需滿足式(3)、式(4)和式(5)。 式(3)、式(4)和式(5)共給出4n-6個條件,需要待定4(n-1)個系數(shù),因此要唯一確定三次插值函數(shù),還要附加2個邊界條件。 S′(x0)=y1′,S′(xn)=yn′ (6) S″(x0)=y1″,S″(xn)=yn″ (7) 試驗采用弧形地塊農機作業(yè)數(shù)據作為數(shù)據集,地塊內作業(yè)面積為122 544 m2。在農機上安裝采集設備,每5 s采集一次作業(yè)點數(shù)據,通過無線發(fā)送至后端服務器。每個軌跡點包含農機作業(yè)點經緯度、車輛行駛速度等信息。通過三次樣條插值方法計算農機作業(yè)軌跡長度,乘以農機幅寬得到農機作業(yè)面積。對比試驗為采用折線累加、矢量緩沖區(qū)算法和最小二乘法擬合算法3種方法計算作業(yè)軌跡長度。 試驗步驟如下。 (1)軌跡點預處理。 (2)利用三次樣條插值法獲取農機作業(yè)軌跡線。 (3)計算單條軌跡線長度。 (4)累計軌跡線總長度,乘以幅寬,得到總作業(yè)面積。 準確率計算方式為 (8) 式中S——真實測量面積,m2 S0——計算面積,m2 采用不同算法計算的作業(yè)面積結果如表1所示。本文提出的三次樣條插值法在該地塊的作業(yè)面積計算中準確率高于其他幾種方法。作業(yè)緩沖區(qū)算法在處理有轉向弧度的作業(yè)軌跡時,準確率要優(yōu)于折線累加法,而曲線擬合方法準確率低于折線累加法。 表1 不同算法計算作業(yè)面積結果Tab.1 Calculation results of working area by different algorithms 針對農機在弧形地塊作業(yè)時,作業(yè)面積依靠軌跡點連成折線方式計算誤差較大的問題,提出了利用三次樣條插值法對軌跡點進行插值,將軌跡線用弧線表示。該方法既能保證計算涵蓋所有軌跡點,也根據已有軌跡點信息還原真實農機運行軌跡。試驗結果表明,本文方法面積計算準確率為97.83%,高于其他面積計算方法。
S1(x)=y1+b1(x-x1)+c1(x-x1)2+d1(x-x1)32 試驗及結果分析

3 結論