本發(fā)明屬農(nóng)業(yè)自動(dòng)化測(cè)量技術(shù)領(lǐng)域,特別是涉及一種機(jī)耕面積自動(dòng)測(cè)算方法、裝置及系統(tǒng)。
背景技術(shù):
農(nóng)業(yè)自動(dòng)化與精細(xì)農(nóng)業(yè)是農(nóng)業(yè)發(fā)展的方向。在這個(gè)發(fā)展的過程中,需要將大量新技術(shù)應(yīng)用其中,包括GNSS(全球衛(wèi)星導(dǎo)航系統(tǒng))技術(shù),測(cè)量技術(shù)等。而大多數(shù)的農(nóng)業(yè)自動(dòng)化和精細(xì)農(nóng)業(yè)都需要機(jī)耕面積的測(cè)算。根據(jù)實(shí)際情況,機(jī)耕面積測(cè)算的方式一般有兩種,分別是輪廓圍繞方式和軌跡方式。
輪廓圍繞方式即圍繞所需測(cè)量的地塊一周,即可得到地塊的面積。軌跡方式即跟隨機(jī)耕設(shè)備的軌跡,根據(jù)機(jī)械的工作寬度和工作軌跡計(jì)算耕作面積。輪廓圍繞方式的算法相對(duì)來說已經(jīng)比較成熟,其測(cè)量精度主要和GNSS定位精度有關(guān),而軌跡方式目前的測(cè)量精度普遍較低,除了和GNSS定位精度有關(guān)外,由于機(jī)耕手的駕駛誤差,導(dǎo)致有漏耕和交叉重復(fù)耕作的現(xiàn)象發(fā)生,而目前的軌跡方式面積測(cè)算方法難以消除交叉重復(fù)面積,這也影響了最終的測(cè)算精度。
技術(shù)實(shí)現(xiàn)要素:
為了解決以上方法中存在的問題,本發(fā)明提供了一種新型機(jī)耕面積自動(dòng)測(cè)算方法、裝置及系統(tǒng)。
本發(fā)明技術(shù)方案提供一種機(jī)耕面積自動(dòng)測(cè)算方法,包括以下步驟,
步驟1,設(shè)機(jī)耕工作寬度為W,GNSS接收機(jī)天線安裝于耕具中心位置,隨耕作機(jī)械運(yùn)動(dòng),記錄經(jīng)過的軌跡坐標(biāo);
步驟2,確定軌跡坐標(biāo)中X的最大值Xmax、X的最小值Xmin、Y的最大值Ymax和Y的最小值Ymin;則地塊的X方向最大寬度為Xmax-Xmin,Y方向最大寬度為Ymax-Ymin;根據(jù)預(yù)設(shè)的整數(shù)D值,初始化一個(gè)二維的數(shù)組M,第一維的大小比地塊的X最大寬度大D,第二維的大小比地塊的Y最大寬度大D;數(shù)組M中各元素初始值為0;
步驟3,按照記錄的軌跡坐標(biāo)時(shí)間順序,取兩個(gè)相鄰的坐標(biāo)連線作為中線,長(zhǎng)度記為L(zhǎng),以已知的機(jī)耕工作寬度W為寬度,生成一個(gè)矩形;
設(shè)上一個(gè)記錄的軌跡坐標(biāo)為(X0,Y0),當(dāng)前記錄的軌跡坐標(biāo)為(X1,Y1),則
軌跡長(zhǎng)度
軌跡方向角度α=arctg(Y1-Y0)/(X1-X0)
該軌跡的耕作范圍形成一個(gè)矩形,四個(gè)頂點(diǎn)分別為A,B,C,D,坐標(biāo)(XA,YA)、(XB,YB)、(XC,YC)、(XD,YD)分別如下,
步驟4,連接A,B,C,D四個(gè)點(diǎn),得到矩形的四個(gè)邊;將該矩形的四個(gè)邊的X坐標(biāo)減去(Xmin-D/2),Y坐標(biāo)減去(Ymin-D/2),進(jìn)行平移;然后將X、Y坐標(biāo)值轉(zhuǎn)換成數(shù)組M的第一維和第二維編號(hào),置入數(shù)組M;
步驟5,將數(shù)組M中該矩形所包圍的形狀之內(nèi)的各個(gè)元素值加一;
步驟6,取下一軌跡坐標(biāo)作為新的當(dāng)前記錄的軌跡坐標(biāo)(X1,Y1),返回步驟3,依次處理,直到軌跡中所有坐標(biāo)處理完畢,進(jìn)入步驟7;
步驟7,令當(dāng)前數(shù)組M內(nèi)的元素值代表相應(yīng)被耕作過幾次,統(tǒng)計(jì)數(shù)組M中大于0的元素的個(gè)數(shù),然后乘以單位面積,得到耕作的有效面積準(zhǔn)確值;統(tǒng)計(jì)數(shù)組M中大于1的元素的個(gè)數(shù),然后乘以單位面積,得到交叉重復(fù)耕作的面積;
步驟8,用數(shù)組M中的第一維編號(hào)作為X坐標(biāo),第二維編號(hào)作為Y坐標(biāo),根據(jù)元素值表示耕作情況。
而且,長(zhǎng)度單位為分米,面積單位為平方分米。
本發(fā)明相應(yīng)提供一種機(jī)耕面積自動(dòng)測(cè)算裝置,包括微處理器、存儲(chǔ)器、顯示模塊、通訊模塊、GNSS接收機(jī)和GNSS天線,微處理器分別連接GNSS接收機(jī)、存儲(chǔ)器、顯示模塊和通訊模塊,GNSS接收機(jī)連接GNSS天線。
而且,耕作機(jī)械運(yùn)作起來以后,微處理器控制通訊模塊獲取差分?jǐn)?shù)據(jù),并送給GNSS接收機(jī),GNSS接收機(jī)將經(jīng)過差分之后的坐標(biāo)數(shù)據(jù)傳輸給微處理器,微處理器按照時(shí)間順序?qū)④壽E坐標(biāo)數(shù)據(jù)存入存儲(chǔ)器中;微處理器根據(jù)存儲(chǔ)的軌跡坐標(biāo)數(shù)據(jù)進(jìn)行處理。
所述機(jī)耕面積自動(dòng)測(cè)算裝置,用于執(zhí)行上述機(jī)耕面積自動(dòng)測(cè)算方法。
本發(fā)明還相應(yīng)提供一種機(jī)耕面積自動(dòng)測(cè)算系統(tǒng),包括以下單元,
第一單元,用于設(shè)機(jī)耕工作寬度為W,GNSS接收機(jī)天線安裝于耕具中心位置,隨耕作機(jī)械運(yùn)動(dòng),記錄經(jīng)過的軌跡坐標(biāo);
第二單元,用于確定軌跡坐標(biāo)中X的最大值Xmax、X的最小值Xmin、Y的最大值Ymax和Y的最小值Ymin;則地塊的X方向最大寬度為Xmax-Xmin,Y方向最大寬度為Ymax-Ymin;根據(jù)預(yù)設(shè)的整數(shù)D值,初始化一個(gè)二維的數(shù)組M,第一維的大小比地塊的X最大寬度大D,第二維的大小比地塊的Y最大寬度大D;數(shù)組M中各元素初始值為0;
第三單元,用于按照記錄的軌跡坐標(biāo)時(shí)間順序,取兩個(gè)相鄰的坐標(biāo)連線作為中線,長(zhǎng)度記為L(zhǎng),以已知的機(jī)耕工作寬度W為寬度,生成一個(gè)矩形;
設(shè)上一個(gè)記錄的軌跡坐標(biāo)為(X0,Y0),當(dāng)前記錄的軌跡坐標(biāo)為(X1,Y1),則
軌跡長(zhǎng)度
軌跡方向角度α=arctg(Y1-Y0)/(X1-X0)
該軌跡的耕作范圍形成一個(gè)矩形,四個(gè)頂點(diǎn)分別為A,B,C,D,坐標(biāo)(XA,YA)、(XB,YB)、(XC,YC)、(XD,YD)分別如下,
第四單元,用于連接A,B,C,D四個(gè)點(diǎn),得到矩形的四個(gè)邊;將該矩形的四個(gè)邊的X坐標(biāo)減去(Xmin-D/2),Y坐標(biāo)減去(Ymin-D/2),進(jìn)行平移;然后將X、Y坐標(biāo)值轉(zhuǎn)換成數(shù)組M的第一維和第二維編號(hào),置入數(shù)組M;
第五單元,用于將數(shù)組M中該矩形所包圍的形狀之內(nèi)的各個(gè)元素值加一;
第六單元,用于取下一軌跡坐標(biāo)作為新的當(dāng)前記錄的軌跡坐標(biāo)(X1,Y1),命令第三單元工作,依次處理,直到軌跡中所有坐標(biāo)處理完畢,命令第七單元工作;
第七單元,用于令當(dāng)前數(shù)組M內(nèi)的元素值代表相應(yīng)被耕作過幾次,統(tǒng)計(jì)數(shù)組M中大于0的元素的個(gè)數(shù),然后乘以單位面積,得到耕作的有效面積準(zhǔn)確值;統(tǒng)計(jì)數(shù)組M中大于1的元素的個(gè)數(shù),然后乘以單位面積,得到交叉重復(fù)耕作的面積;
第八單元,用于用數(shù)組M中的第一維編號(hào)作為X坐標(biāo),第二維編號(hào)作為Y坐標(biāo),根據(jù)元素值表示耕作情況。
而且,長(zhǎng)度單位為分米,面積單位為平方分米。
本發(fā)明采用一種新穎的填充式面積測(cè)算技術(shù)方案,結(jié)合GNSS接收機(jī)差分(可以使用實(shí)時(shí)動(dòng)態(tài)差分法RTK或者連續(xù)運(yùn)行衛(wèi)星定位服務(wù)綜合系統(tǒng)CORS等手段)方式,消除了傳統(tǒng)方法無法處理交叉重復(fù)耕作的誤差,提高了軌跡方式測(cè)算面積的精度,并可以直觀顯示漏耕和交叉重復(fù)耕作的具體位置,對(duì)機(jī)耕質(zhì)量提高也有幫助。本發(fā)明實(shí)現(xiàn)簡(jiǎn)單,成本低廉,同時(shí)能夠提高測(cè)算結(jié)果精度,對(duì)于我國(guó)的農(nóng)業(yè)自動(dòng)化發(fā)展有重要作用,具有重大的市場(chǎng)價(jià)值。
附圖說明
圖1為本發(fā)明實(shí)施例中用相鄰的軌跡坐標(biāo)和耕作寬度形成耕作矩形的示意圖;
圖2為本發(fā)明實(shí)施例中數(shù)組M與實(shí)際耕作情況的關(guān)系示意圖;
圖3為本發(fā)明實(shí)施例中的裝置結(jié)構(gòu)框圖。
具體實(shí)施方式
以下結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案作進(jìn)一步具體的說明。
本發(fā)明實(shí)施例提供的填充式面積測(cè)算方法包括以下步驟:
設(shè)以下長(zhǎng)度單位均為分米,面積單位為平方分米。為了在精度和占用資源之間取得一個(gè)平衡,并考慮GNSS定位的實(shí)際精度,長(zhǎng)度單位取整數(shù)分米,具體實(shí)施也可采用其他單位。為了能夠方便數(shù)組的建立,一般應(yīng)取整數(shù)。
1,設(shè)機(jī)耕工作寬度為W,GNSS接收機(jī)天線安裝于耕具中心位置,隨耕作機(jī)械運(yùn)動(dòng),記錄經(jīng)過的軌跡坐標(biāo)。
實(shí)施例將坐標(biāo)系轉(zhuǎn)換為局部平面直角坐標(biāo)系,東西向?yàn)閄,東向?yàn)檎媳毕驗(yàn)閅,北為正。
2,求得軌跡坐標(biāo)中X的最大值Xmax,X的最小值Xmin,Y的最大值Ymax,Y的最小值Ymin。則地塊的X方向最大寬度為Xmax-Xmin,Y方向最大寬度為Ymax-Ymin。初始化一個(gè)二維的數(shù)組M,第一維的大小比地塊的X最大寬度(以分米計(jì))大D,D為一個(gè)整數(shù),例如D=50,第二維的大小比地塊的Y最大寬度(以分米計(jì))也大D,目的是容納耕作寬度,一般的耕作寬度不會(huì)超過10米。數(shù)組M中各元素初始值為0。
3,將記錄的軌跡坐標(biāo)按照時(shí)間順序,以每?jī)蓚€(gè)相鄰的坐標(biāo)連線作為中線,相應(yīng)長(zhǎng)度記為L(zhǎng),以已知的機(jī)耕工作寬度W為寬度,生成一個(gè)矩形。
參見圖1,假定上一個(gè)記錄的軌跡坐標(biāo)為(X0,Y0),當(dāng)前記錄的軌跡坐標(biāo)為(X1,Y1),則:
軌跡長(zhǎng)度
軌跡方向角度α=arctg(Y1-Y0)/(X1-X0) 公式2
該軌跡的耕作范圍形成一個(gè)矩形,其四個(gè)頂點(diǎn)分別為A,B,C,D,其坐標(biāo)(XA,YA)、(XB,YB)、(XC,YC)、(XD,YD)分別為:
4,連接A,B,C,D四個(gè)點(diǎn),得到矩形的四個(gè)邊。將該矩形的四個(gè)邊的X坐標(biāo)減去(Xmin-D/2),例如D=50,則需要將X坐標(biāo)減去(Xmin-25),Y坐標(biāo)也同樣減去(Ymin-D/2),即進(jìn)行平移,目的是落入數(shù)組M的范圍。然后將X,Y坐標(biāo)值轉(zhuǎn)換成數(shù)組M的第一維和第二維編號(hào),置入數(shù)組M(具體實(shí)施時(shí)用通用的計(jì)算機(jī)圖形學(xué)方法即可實(shí)現(xiàn),本發(fā)明不予贅述)。
5,將數(shù)組M中該矩形所包圍的形狀之內(nèi)的各個(gè)元素值加一,也就是進(jìn)行一次填充(具體實(shí)施時(shí)用通用的計(jì)算機(jī)圖形學(xué)方法即可實(shí)現(xiàn),本發(fā)明不予贅述)。
6,將當(dāng)前記錄的軌跡坐標(biāo)(X1,Y1)作為新的(X0,Y0),取下一軌跡坐標(biāo)作為新的當(dāng)前記錄的軌跡坐標(biāo)(X1,Y1),返回步驟3,依次將時(shí)間上相鄰的軌跡坐標(biāo)按照上述的方法處理,直到軌跡中所有坐標(biāo)處理完畢,進(jìn)入步驟7。
7,此時(shí),數(shù)組M內(nèi)的元素值代表了耕地內(nèi)的耕作狀況。元素值為0的,表示未被耕作,元素值大于0的,表示被耕作過,元素值等于幾,就表示被耕作過幾次。參見圖2,空白處未被耕作,M中元素值為初始值0,耕作過一次對(duì)應(yīng)的元素為1,耕作過兩次對(duì)應(yīng)的元素為2。
統(tǒng)計(jì)數(shù)組M中大于0的元素的個(gè)數(shù),然后乘以單位面積(由于此處每格的長(zhǎng)度為1分米,因此單位面積為平方分米),即得到耕作的有效面積準(zhǔn)確值。進(jìn)一步地,可以統(tǒng)計(jì)數(shù)組M中大于1的元素的個(gè)數(shù),然后乘以單位面積(由于此處每格的長(zhǎng)度為1分米,因此單位面積為平方分米),即得到交叉重復(fù)耕作的面積。
8,用數(shù)組M中的第一維編號(hào)作為X坐標(biāo),第二維編號(hào)作為Y坐標(biāo),并以不同顏色代表不同元素值,可直觀表示正常耕作、重復(fù)耕作、漏耕等耕作情況。
具體實(shí)施時(shí),以上流程可基于軟件方式實(shí)現(xiàn)自動(dòng)運(yùn)行流程。進(jìn)一步地,本發(fā)明提供了從采集、存儲(chǔ)到處理的全套裝置,包括微處理器、存儲(chǔ)器、顯示模塊、通訊模塊、GNSS接收機(jī)和GNSS天線,微處理器可采用MCU,存儲(chǔ)器可采用FLASH。參見圖3,本發(fā)明填充式面積測(cè)算方法可采用以下裝置實(shí)現(xiàn):
1,帶有載波相位差分功能的GNSS接收機(jī)(可以是RTK方式或者是CORS方式)以及配套天線。實(shí)施例使用Hemisphere的ECLIPSE P203單頻低成本GNSS接收機(jī)。
2,微處理器MCU,實(shí)施例使用STM32F105
3,存儲(chǔ)器FLASH,實(shí)施例使用了W25Q32
4,通訊模塊,用于和CORS服務(wù)器通信,實(shí)施例使用MC75i
5,顯示裝置,實(shí)施例使用320240E LCD模塊
微處理器MCU分別連接GNSS接收機(jī)、存儲(chǔ)器FLASH、顯示模塊和通訊模塊,GNSS接收機(jī)連接GNSS天線。
基于以上裝置,運(yùn)行實(shí)施實(shí)施例所提供流程的工作過程舉例如下:
假設(shè)耕作寬度W為40分米,該值是公式3中的必要參數(shù),直接影響計(jì)算出的矩形坐標(biāo)的四個(gè)角的坐標(biāo)。
1,耕作機(jī)械運(yùn)作起來以后,微處理器MCU控制通訊模塊從CORS獲取差分?jǐn)?shù)據(jù),并送給GNSS接收機(jī),GNSS接收機(jī)將經(jīng)過差分之后的坐標(biāo)數(shù)據(jù)傳輸給微處理器MCU,微處理器MCU按照時(shí)間順序?qū)④壽E坐標(biāo)數(shù)據(jù)存入FLASH中;
2,整個(gè)地塊耕作完畢后,MCU做從本步驟到步驟8的工作。將FLASH中所有的坐標(biāo)進(jìn)行比較,得到該地塊的X,Y方向最大值和最小值,單位使用分米,以確定數(shù)組M的大小。方法是,
例如,假設(shè)該地塊X方向最大值為Xmax=500分米,最小值為Xmin=150分米,Y方向最大值為Ymax=400分米,最小值Ymin=20分米,則X方向長(zhǎng)度為Xmax-Xmin=350分米,Y方向長(zhǎng)度為Ymax-Ymin=380分米,數(shù)組M的第一維大小設(shè)置為350+50=400,第二維大小設(shè)置為380+50=430,即可將該地塊分割成1分米乘以1分米的單位面積,每個(gè)元素對(duì)應(yīng)一個(gè)單位面積,并可容納因?yàn)楦鲗挾仍斐傻倪吔鐢U(kuò)大。
初始化數(shù)組M,元素值全部置零。
3,將軌跡坐標(biāo)順序取出,將相鄰的兩個(gè)坐標(biāo)作為矩形的中線生成矩形,然后將X坐標(biāo)減去Xmin,Y坐標(biāo)減去Ymin.
例如,取出的兩個(gè)坐標(biāo)為(480,300),(495,305),則根據(jù)公式2和公式3,可以得到生成的矩形的四個(gè)角坐標(biāo)為:
(474,319),(489,324),(501,286),(486,281)
4,由于四個(gè)點(diǎn)的X或者Y坐標(biāo)可能超出數(shù)組M的大小,因此,將矩形的四個(gè)角的X坐標(biāo)減去(Xmin-25),Y坐標(biāo)減去(Ymin-25),平移進(jìn)數(shù)組M的范圍內(nèi)。
例如針對(duì)剛才的一組坐標(biāo)數(shù)據(jù)處理,X坐標(biāo)超出數(shù)組M的大小(474>400,489>400,501>400,486>400)平移之后的矩形四個(gè)角坐標(biāo):
(349,324),(364,329),(376,291),(361,286)
現(xiàn)在四個(gè)角的坐標(biāo)都在數(shù)組M的大小范圍內(nèi)。
5,填充平移后的矩形,將數(shù)組M中,元素位置位于步驟5中四個(gè)坐標(biāo)圍成的矩形的內(nèi)部的元素值加1。
例如針對(duì)步驟5中的示例坐標(biāo),數(shù)組M中值為1的元素形成了一個(gè)以M(349,324),M(364,329),M(376,291),M(361,286)為頂點(diǎn)的矩形。該矩形中的元素個(gè)數(shù)就是以軌跡(480,300),(495,305)的耕作面積。
6,返回步驟3,重復(fù)步驟3-6,直到軌跡坐標(biāo)數(shù)據(jù)全部處理完。此時(shí),數(shù)組M中的元素有的仍然為零,有的是1,有的可能大于1。
7,統(tǒng)計(jì)數(shù)組M中大于零的元素個(gè)數(shù),即為已經(jīng)耕作過的面積(單位是平方分米)。統(tǒng)計(jì)數(shù)組M中大于1的元素個(gè)數(shù),即為重復(fù)耕作的面積(單位是平方分米)。
8,將數(shù)組M按照元素值繪制成平面圖,不同顏色代表不同的值,可清晰看到重復(fù)耕作以及漏耕位置的情況。具體實(shí)施時(shí),可從MCU輸出到顯示模塊實(shí)現(xiàn)展示。
具體實(shí)施時(shí),還可以采用模塊化方式實(shí)現(xiàn)本發(fā)明的流程。本發(fā)明實(shí)施例還相應(yīng)提供一種機(jī)耕面積自動(dòng)測(cè)算系統(tǒng),包括以下單元,
第一單元,用于設(shè)機(jī)耕工作寬度為W,GNSS接收機(jī)天線安裝于耕具中心位置,隨耕作機(jī)械運(yùn)動(dòng),記錄經(jīng)過的軌跡坐標(biāo);
第二單元,用于確定軌跡坐標(biāo)中X的最大值Xmax、X的最小值Xmin、Y的最大值Ymax和Y的最小值Ymin;則地塊的X方向最大寬度為Xmax-Xmin,Y方向最大寬度為Ymax-Ymin;根據(jù)預(yù)設(shè)的整數(shù)D值,初始化一個(gè)二維的數(shù)組M,第一維的大小比地塊的X最大寬度大D,第二維的大小比地塊的Y最大寬度大D;數(shù)組M中各元素初始值為0;
第三單元,用于按照記錄的軌跡坐標(biāo)時(shí)間順序,取兩個(gè)相鄰的坐標(biāo)連線作為中線,長(zhǎng)度記為L(zhǎng),以已知的機(jī)耕工作寬度W為寬度,生成一個(gè)矩形;
設(shè)上一個(gè)記錄的軌跡坐標(biāo)為(X0,Y0),當(dāng)前記錄的軌跡坐標(biāo)為(X1,Y1),則
軌跡長(zhǎng)度
軌跡方向角度α=arctg(Y1-Y0)/(X1-X0)
該軌跡的耕作范圍形成一個(gè)矩形,四個(gè)頂點(diǎn)分別為A,B,C,D,坐標(biāo)(XA,YA)、(XB,YB)、(XC,YC)、(XD,YD)分別如下,
第四單元,用于連接A,B,C,D四個(gè)點(diǎn),得到矩形的四個(gè)邊;將該矩形的四個(gè)邊的X坐標(biāo)減去(Xmin-D/2),Y坐標(biāo)減去(Ymin-D/2),進(jìn)行平移;然后將X、Y坐標(biāo)值轉(zhuǎn)換成數(shù)組M的第一維和第二維編號(hào),置入數(shù)組M;
第五單元,用于將數(shù)組M中該矩形所包圍的形狀之內(nèi)的各個(gè)元素值加一;
第六單元,用于取下一軌跡坐標(biāo)作為新的當(dāng)前記錄的軌跡坐標(biāo)(X1,Y1),命令第三單元工作,依次處理,直到軌跡中所有坐標(biāo)處理完畢,命令第七單元工作;
第七單元,用于令當(dāng)前數(shù)組M內(nèi)的元素值代表相應(yīng)被耕作過幾次,統(tǒng)計(jì)數(shù)組M中大于0的元素的個(gè)數(shù),然后乘以單位面積,得到耕作的有效面積準(zhǔn)確值;統(tǒng)計(jì)數(shù)組M中大于1的元素的個(gè)數(shù),然后乘以單位面積,得到交叉重復(fù)耕作的面積;
第八單元,用于用數(shù)組M中的第一維編號(hào)作為X坐標(biāo),第二維編號(hào)作為Y坐標(biāo),根據(jù)元素值表示耕作情況。
需要強(qiáng)調(diào)的是,本發(fā)明所述的實(shí)施例是說明性的,而不是限定性的。因此本發(fā)明包括并不限于具體實(shí)施方式中所述的實(shí)施例,凡是由本領(lǐng)域技術(shù)人員根據(jù)本發(fā)明的技術(shù)方案得出的其他實(shí)施方式,同樣屬于本發(fā)明保護(hù)的范圍。