本發(fā)明涉及農(nóng)業(yè)技術(shù)領(lǐng)域,尤其涉及一種基于幾何方式統(tǒng)計(jì)農(nóng)機(jī)工作面積的方法。
背景技術(shù):
目前,在農(nóng)業(yè)工作中的自動(dòng)化比例越來(lái)越高,各種農(nóng)機(jī)也是越來(lái)越多,那么當(dāng)農(nóng)機(jī)在田地里作業(yè)的時(shí)候,它所真正工作覆蓋到的土地是農(nóng)戶最關(guān)心的內(nèi)容,比如是否有哪塊地漏噴了,這對(duì)作業(yè)的影響還是很大的。因?yàn)檗r(nóng)機(jī)所覆蓋的寬度是固定的,那么根據(jù)農(nóng)機(jī)所走過(guò)的軌跡,原則上就可以計(jì)算出這臺(tái)農(nóng)機(jī)實(shí)際上工作的區(qū)域。目前已有的一些計(jì)算方法都是基于網(wǎng)格化方式來(lái)進(jìn)行的,就是將田地劃分為1米或幾米見方的網(wǎng)格,當(dāng)農(nóng)機(jī)在網(wǎng)格上工作時(shí),就認(rèn)為這塊土地已經(jīng)被覆蓋了。這種方式在大型農(nóng)機(jī)工作的情況下問題不大,但隨著無(wú)人植保的發(fā)展,這種網(wǎng)格化的方式就顯得不夠精確了。
無(wú)人機(jī)與傳統(tǒng)拖拉機(jī)等農(nóng)機(jī)不同,它是飛行在空中,并且飛行速度遠(yuǎn)大于普通農(nóng)機(jī),受風(fēng)力和定位精度的影響較大,雖然可以應(yīng)用RTK等方式將定位精度提高到厘米級(jí)別。但飛機(jī)在飛行過(guò)程中,仍然會(huì)被其它一些因素干擾,無(wú)法按照原有的規(guī)劃飛出一條完美的軌跡。另外在一些復(fù)雜的環(huán)境下,自動(dòng)飛行的風(fēng)險(xiǎn)過(guò)大,比如障礙太多,無(wú)法自動(dòng)飛行,在這種條件下,仍需要飛手手動(dòng)控制無(wú)人機(jī)進(jìn)行作業(yè)。這樣一來(lái),無(wú)人機(jī)軌跡的變化就會(huì)就會(huì)更不準(zhǔn)確。這時(shí),網(wǎng)格化的統(tǒng)計(jì)方法就體現(xiàn)出不足了。因?yàn)榫W(wǎng)格化統(tǒng)計(jì)方式的精確度完全依賴于網(wǎng)格的精度,如果網(wǎng)格太大,那么就達(dá)不到精度要求;如果網(wǎng)格太小,精度雖然可以保證,但是網(wǎng)格數(shù)會(huì)以級(jí)數(shù)方式增長(zhǎng),在普通的便攜設(shè)備上處理這么大的數(shù)據(jù)就顯得力不從心了。
有鑒于此,研發(fā)設(shè)計(jì)出一種可避免網(wǎng)格化方式弊端的農(nóng)機(jī)工作面積統(tǒng)計(jì)方法是亟待解決的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,適應(yīng)現(xiàn)實(shí)需要,從而提供了一種基于幾何方式統(tǒng)計(jì)農(nóng)機(jī)工作面積的方法。
為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種基于幾何方式統(tǒng)計(jì)農(nóng)機(jī)工作面積的方法。該方法包括以下步驟:
1)將農(nóng)機(jī)上傳的定位點(diǎn)數(shù)據(jù)進(jìn)行過(guò)濾處理,然后將過(guò)濾處理后留下的點(diǎn)依次連接,形成多條連續(xù)直線段,所述定位點(diǎn)數(shù)據(jù)包括位置信息和工作狀態(tài)信息;
2)將簡(jiǎn)化的多條連續(xù)線段中的每條線段分別根據(jù)農(nóng)機(jī)作業(yè)的寬度W生成一個(gè)四邊形,每個(gè)四邊形的兩條對(duì)邊a和b與對(duì)應(yīng)的線段平行,未剔除點(diǎn)的起始點(diǎn)和結(jié)尾點(diǎn)的四邊形邊分別垂直于起始點(diǎn)與第二點(diǎn)所構(gòu)成的線段和結(jié)尾點(diǎn)與倒數(shù)第二點(diǎn)所構(gòu)成的線段;
3)將獲取的多個(gè)四邊形進(jìn)行邏輯運(yùn)算以獲取一個(gè)多邊形n,所述多邊形n即為農(nóng)機(jī)最終的工作的區(qū)域;
4)計(jì)算所述多邊形n的面積Sn。
進(jìn)一步地,所述步驟(1)將定位點(diǎn)數(shù)據(jù)進(jìn)行過(guò)濾處理具體包括以下步驟:
1.1)將農(nóng)機(jī)上傳的定位點(diǎn)數(shù)據(jù)中的停止位置點(diǎn)進(jìn)行剔除;
1.2)將完成步驟1.1)后的定位點(diǎn)數(shù)據(jù)中的非工作點(diǎn)進(jìn)行剔除;
1.3)將完成步驟1.2)后的定位點(diǎn)數(shù)據(jù)中的漂移點(diǎn)進(jìn)行剔除。
更進(jìn)一步地,所述步驟1.1)具體包括:將距離小于設(shè)定閾值的前后兩點(diǎn)合并為一個(gè)點(diǎn)。
更進(jìn)一步地,所述步驟1.2)具體包括:將農(nóng)機(jī)回傳的工作狀態(tài)下的定位點(diǎn)保留,未工作狀態(tài)下的定位點(diǎn)剔除。
更進(jìn)一步地,所述步驟1.3)具體包括:
1.3.1)將設(shè)定時(shí)間內(nèi)已剔除停止位置點(diǎn)和非工作點(diǎn)的農(nóng)機(jī)定位點(diǎn)中的首尾兩點(diǎn)連一條直線L,計(jì)算其間所有點(diǎn)到直線L的距離,并找到最大距離值Dmax,若Dmax<=D閾,則剔除中間所有點(diǎn),保留首尾兩點(diǎn);
1.3.2)若Dmax> D閾,則以Dmax點(diǎn)為界,將這組點(diǎn)分成兩部分,對(duì)每一部分重復(fù)步驟1.3.1)過(guò)程,直到所有點(diǎn)都滿足要求。
進(jìn)一步地,所述步驟2)中每個(gè)四邊形的邊a與對(duì)應(yīng)線段之間的距離D1大于或等于或小于邊b與對(duì)應(yīng)線段之間的距離D2,且D1+D2=W。
進(jìn)一步地,所述步驟3)具體包括:將獲取的多個(gè)四邊形進(jìn)行相并運(yùn)算以獲取一個(gè)多邊形n,所述多邊形n即為農(nóng)機(jī)最終的工作區(qū)域。
進(jìn)一步地,在所述步驟4)之后還包括獲取農(nóng)機(jī)未工作區(qū)域m的步驟5),所述步驟5)具體包括:將預(yù)先測(cè)得整個(gè)地塊形狀f與步驟3)中獲取的多邊形n進(jìn)行相減運(yùn)算。
進(jìn)一步地,還可以包括獲取農(nóng)機(jī)重復(fù)工作區(qū)域p的步驟6),所述步驟6)具體包括:將步驟(2)中獲取的所有四邊形進(jìn)行相交運(yùn)算。
進(jìn)一步地,所述步驟4)中Sn多通過(guò)下列公式獲得:
其中,Sn為多邊形計(jì)算出的面積,xk為多邊形第k個(gè)頂點(diǎn)的橫坐標(biāo)值,yk為多邊形第k個(gè)頂點(diǎn)的縱坐標(biāo)值,n為多邊形的頂點(diǎn)數(shù)。
本發(fā)明通過(guò)將定位點(diǎn)數(shù)據(jù)過(guò)濾后進(jìn)行多邊形分段擬合,然后再對(duì)多邊形進(jìn)行邏輯運(yùn)算以獲取各種統(tǒng)計(jì)數(shù)據(jù),采用該種幾何方式進(jìn)行農(nóng)機(jī)工作面積統(tǒng)計(jì),避免了采用網(wǎng)格化方式中網(wǎng)格太大帶來(lái)的精度低以及網(wǎng)格太小帶來(lái)的數(shù)量大計(jì)算繁瑣的問題,節(jié)省了計(jì)算時(shí)間和內(nèi)存空間,提高了精度和工作效率。
附圖說(shuō)明
圖1為本發(fā)明一種實(shí)施例的基于幾何方式統(tǒng)計(jì)農(nóng)機(jī)工作面積的方法流程圖;
圖2為本發(fā)明一種實(shí)施例的定位點(diǎn)數(shù)據(jù)過(guò)濾方法流程圖;
圖3為本發(fā)明一種實(shí)施例的定位漂移點(diǎn)的剔除方法流程圖;
圖4為本發(fā)明一種實(shí)施例的農(nóng)機(jī)上傳的定位點(diǎn)軌跡圖;
圖5為本發(fā)明一種實(shí)施例的農(nóng)機(jī)上傳的定位點(diǎn)經(jīng)過(guò)數(shù)據(jù)過(guò)濾后的軌跡圖;
圖6為本發(fā)明一種實(shí)施例的農(nóng)機(jī)上傳的定位點(diǎn)經(jīng)過(guò)數(shù)據(jù)過(guò)濾后的其中兩條連續(xù)線段軌跡生成的四邊形圖;
圖7為本發(fā)明另一種實(shí)施例的基于幾何方式統(tǒng)計(jì)農(nóng)機(jī)工作面積的方法流程圖;
圖8為本發(fā)明又一種實(shí)施例的基于幾何方式統(tǒng)計(jì)農(nóng)機(jī)工作面積的方法流程圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。需要說(shuō)明的是,附圖僅為示例性說(shuō)明,并未按照嚴(yán)格比例繪制,而且其中可能有為描述便利而進(jìn)行的局部放大、縮小,對(duì)于公知部分結(jié)構(gòu)亦可能有一定缺省。
圖1示意了本發(fā)明一種實(shí)施例的基于幾何方式統(tǒng)計(jì)農(nóng)機(jī)工作面積的方法流程,如圖1所示,該方法主要包括以下步驟:
在步驟101中,將農(nóng)機(jī)上傳的定位點(diǎn)數(shù)據(jù)進(jìn)行過(guò)濾處理,然后將過(guò)濾處理后留下的點(diǎn)依次連接,形成多條連續(xù)直線段。其中,定位點(diǎn)數(shù)據(jù)包括位置信息和工作狀態(tài)信息,農(nóng)機(jī)上傳的定位點(diǎn)軌跡可參見圖4,過(guò)濾處理后的定位點(diǎn)軌跡可參見圖5。
在步驟102中,將步驟101中簡(jiǎn)化的多條連續(xù)線段中的每條線段分別根據(jù)農(nóng)機(jī)作業(yè)的寬度W生成一個(gè)四邊形,每個(gè)四邊形的兩條對(duì)邊a和b與對(duì)應(yīng)的線段平行,未剔除點(diǎn)的起始點(diǎn)和結(jié)尾點(diǎn)的四邊形邊分別垂直于起始點(diǎn)與第二點(diǎn)所構(gòu)成的線段和結(jié)尾點(diǎn)與倒數(shù)第二點(diǎn)所構(gòu)成的線段。兩條線段中間的多邊形邊是兩條線段的角平分線。經(jīng)過(guò)分段擬合之后,就可得到多個(gè)代表農(nóng)機(jī)工作區(qū)域的四邊形,a1,a2,a3……,an。
在步驟103中,將步驟102中獲取的多個(gè)四邊形進(jìn)行邏輯運(yùn)算以獲取一個(gè)多邊形n,該多邊形n即為農(nóng)機(jī)最終的工作的區(qū)域。比如圖6所示的兩條連續(xù)線段分別形成一個(gè)四邊形,兩個(gè)四邊形構(gòu)成一個(gè)多邊形。
在步驟104中,計(jì)算步驟103中多邊形n的面積Sn。
其中,本發(fā)明實(shí)施例步驟102中每個(gè)四邊形的邊a與對(duì)應(yīng)線段之間的距離D1大于或等于或小于邊b與對(duì)應(yīng)線段之間的距離D2,且D1+D2=W。如圖6示意了D1= D2的情況。D1和D2的距離也可根據(jù)實(shí)際情況而定,也可以是左右不完全相同,而且與農(nóng)機(jī)前進(jìn)方向有關(guān)。
步驟103中具體可將獲取的多個(gè)代表農(nóng)機(jī)工作區(qū)域的四邊形a1,a2,a3……,an進(jìn)行并運(yùn)算,那么得到的最終的多邊形就是農(nóng)機(jī)所工作的形狀n, n=a1∪a2∪a3……∪an。
步驟104中計(jì)算多邊形n的面積Sn可通過(guò)下列公式獲得:
其中,Sn為多邊形計(jì)算出的面積,xk為多邊形第k個(gè)頂點(diǎn)的橫坐標(biāo)值,yk為多邊形第k個(gè)頂點(diǎn)的縱坐標(biāo)值,n為多邊形的頂點(diǎn)數(shù)。本發(fā)明實(shí)施例中的xk和yk都是直角坐標(biāo)系下的值,是由農(nóng)機(jī)上傳的經(jīng)緯度坐標(biāo)值進(jìn)一步轉(zhuǎn)化而來(lái)。地球是一個(gè)球面,可以把農(nóng)機(jī)工作的區(qū)域當(dāng)成一個(gè)平面來(lái)處理,在工作區(qū)域內(nèi)任意取一個(gè)點(diǎn)作為參考點(diǎn),設(shè)為原點(diǎn)(0,0),其它點(diǎn)相對(duì)改點(diǎn)的偏移(以米為單位)作為它的新坐標(biāo),就可得到一個(gè)以米為單位的新的坐標(biāo)系。
圖2示意了本發(fā)明實(shí)施例的定位點(diǎn)數(shù)據(jù)進(jìn)行過(guò)濾處理的方法流程,如圖2所示,步驟101中,將農(nóng)機(jī)上傳的定位點(diǎn)數(shù)據(jù)進(jìn)行過(guò)濾處理具體包括:
在步驟101-1中,將農(nóng)機(jī)上傳的定位點(diǎn)數(shù)據(jù)中的停止位置點(diǎn)進(jìn)行剔除。當(dāng)發(fā)現(xiàn)前后點(diǎn)的距離小于某一閾值(基本上就是定位精度)時(shí),就認(rèn)為此時(shí)農(nóng)機(jī)沒有移動(dòng),可以將兩點(diǎn)合并成一點(diǎn)。這樣也可減少后期對(duì)定位漂移數(shù)據(jù)進(jìn)行剔除的運(yùn)算量。
在步驟101-2中,將完成步驟101-1后的定位點(diǎn)數(shù)據(jù)中的非工作點(diǎn)進(jìn)行剔除。在農(nóng)機(jī)工作過(guò)程中,有些時(shí)候農(nóng)機(jī)的移動(dòng)并不伴隨著工作的進(jìn)行,比如無(wú)人機(jī)在換壟時(shí)是不噴灑的。那么在不工作的時(shí)候,無(wú)人機(jī)運(yùn)動(dòng)軌跡就可刪除。這要求農(nóng)機(jī)在每次回傳位置數(shù)據(jù)的同時(shí)也要回傳工作狀態(tài)信息(比如是否噴灑)。
在步驟101-3中,將完成步驟101-2后的定位點(diǎn)數(shù)據(jù)中的漂移點(diǎn)進(jìn)行剔除。在農(nóng)機(jī)工作過(guò)程中,農(nóng)機(jī)自身的定位(利用GPS或者北斗定位系統(tǒng))會(huì)受到各種影響,在沒有RTK的情況下,這個(gè)定位精度甚至可能會(huì)大于5米。因此必需要過(guò)濾這些點(diǎn)。因?yàn)檗r(nóng)機(jī)基本上都是采用直線方式來(lái)行進(jìn)的,因此本實(shí)施例可采用簡(jiǎn)單的直線擬合來(lái)對(duì)原始點(diǎn)進(jìn)行過(guò)濾,設(shè)定一個(gè)漂移的閾值。在某一個(gè)點(diǎn)集內(nèi),找出一條直線,使得所有點(diǎn)距離這條直線的距離都在設(shè)定閾值內(nèi)。這個(gè)點(diǎn)集的個(gè)數(shù)也不能太大,可以設(shè)置一個(gè)合適的范圍,比如5秒內(nèi)的定位點(diǎn)。
圖3示意了本發(fā)明實(shí)施例的定位漂移點(diǎn)剔除方法,該方法具體包括以下步驟:
在步驟103-3-1中,將設(shè)定時(shí)間內(nèi)已剔除停止位置點(diǎn)和非工作點(diǎn)的農(nóng)機(jī)定位點(diǎn)中的首尾兩點(diǎn)連一條直線L,計(jì)算其間所有點(diǎn)到直線L的距離,并找到最大距離值Dmax,若Dmax<=D閾,則剔除中間所有點(diǎn),保留首尾兩點(diǎn)。
在步驟103-3-2中,若Dmax> D閾,則以Dmax點(diǎn)為界,將這組點(diǎn)分成兩部分,對(duì)每一部分重復(fù)步驟103-3-1過(guò)程,直到所有點(diǎn)都滿足要求。
以一個(gè)具體實(shí)施例對(duì)本實(shí)施例中的定位漂移點(diǎn)剔除進(jìn)行說(shuō)明:假定5秒內(nèi)采集的點(diǎn)總共9個(gè)點(diǎn),第一點(diǎn)和第九點(diǎn)連接拉一條直線,第二點(diǎn)到第八點(diǎn)距離該條直線的距離值分別是:1.8,2.1,1.4,2.4,2.3,1.9,1.5。第五點(diǎn)為最大值 Dmax=2.4,設(shè)定閾值是2.5,Dmax<設(shè)定閾值是2.5,則將這9個(gè)點(diǎn)都保留。如果是第五點(diǎn)值是2.6,即Dmax=2.6,設(shè)定閾值是2.5,Dmax>設(shè)定閾值是2.5,則將第一點(diǎn)到第五點(diǎn)分為一組,第五點(diǎn)到第九點(diǎn)分為一組,第一點(diǎn)和第五點(diǎn)重新拉直線,第二點(diǎn)至第四點(diǎn)到該條直線的距離再與閾值2.5分別進(jìn)行比較,若都在閾值范圍內(nèi),則剔除第二點(diǎn)至第四個(gè)點(diǎn),只保留第一和第五點(diǎn);若不在,再按照上述方法重新拉線進(jìn)行剔除或保留,直到所有點(diǎn)都滿足要求。同樣,第五點(diǎn)和第九點(diǎn)拉直線,第六點(diǎn)至第八點(diǎn)到該直線的距離再與閾值2.5進(jìn)行比較,若都在閾值范圍內(nèi),則剔除第六點(diǎn)至第八點(diǎn),只保留第五點(diǎn)和第九點(diǎn),若不在,再按照上述方法重新拉線進(jìn)行剔除或保留,直到所有點(diǎn)都滿足要求。
另外本發(fā)明還可以做出其它變化,如圖7所示,在步驟104之后還可以包括獲取農(nóng)機(jī)未工作區(qū)域m的步驟105,步驟105具體包括:
將預(yù)先測(cè)得整個(gè)地塊形狀f與步驟103中獲取的多邊形n進(jìn)行布爾運(yùn)算中的相減運(yùn)算。那么得到幾何形狀就是農(nóng)機(jī)未工作區(qū)域的形狀m,m=f-n。同樣農(nóng)機(jī)未工作形狀m的面積Sm可通過(guò)上述多邊形面積計(jì)算公式獲得。
以及如圖8所示,在步驟104之后還可以包括獲取農(nóng)機(jī)重復(fù)工作區(qū)域p的步驟106,步驟106具體包括:將步驟102中獲取的四邊形進(jìn)行相交運(yùn)算。p=a1∩a2∩a3……∩an。同樣農(nóng)機(jī)重復(fù)工作的形狀p的面積Sp可通過(guò)上述多邊形面積計(jì)算公式獲得。
本發(fā)明上述方法可以在無(wú)人機(jī)的地面站,以及農(nóng)機(jī)的實(shí)時(shí)監(jiān)控軟件中實(shí)現(xiàn)。地面站軟件可以在收集農(nóng)機(jī)位置數(shù)據(jù)的同時(shí)進(jìn)行直線簡(jiǎn)化,這樣可以節(jié)省一部分時(shí)間。
以上所述的具體實(shí)施方式,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說(shuō)明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施方式而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。