本發明屬于農業控制機械,尤其涉及一種基于改進粒子群算法的不規則凸田塊全覆蓋路徑規劃算法。
背景技術:
1、農業機械導航路徑規劃是智慧農業中基礎且重要的支撐技術之一,結合農藝要求和機械性能生成的導航路徑,可著提升農業生產方式標準化和規范化,促進智慧農業的高效生產。實現播種、噴霧、耕作、收割和粉碎等農藝操作的主要挑戰之一是找到一條最適合覆蓋整個農田的路徑,這個過程通常被稱為完全覆蓋路徑規劃(ccpp)。作為農機自動導航駕駛作業的“使能技術”之一,全局覆蓋作業路徑規劃的路徑好壞很大程度上決定著機組的作業效率、作業質量和能耗。
2、規則邊界地塊全覆蓋路徑規劃通常有兩種方法:第一,基于基準線平移的方法,利用平行于地塊邊線(一般是較長的一邊)的基準線按作業幅寬等間距平移生成多條直線作業路徑直至覆蓋整個地塊,再根據實際作業情況,選擇合適的地頭轉彎策略,此方法只需要預先測量生成基準線的兩點坐標,計算過程簡單,但地頭轉彎處需利用傳感器進行地頭檢測或人工輔助轉彎。第二,采用局部坐標系法,預先測量地塊的4個頂點坐標,按照預定作業方式和地頭轉彎順序計算所有導航路徑特征點,再根據作業順序生成遍歷整個地塊的完整作業路徑。
3、粒子群優化算法(pso)是一種進化計算技術(evolutionary?computation),1995年由eberhart博士和kennedy博士提出,源于對鳥群捕食的行為研究。該算法最初是受到飛鳥集群活動的規律性啟發,進而利用群體智能建立的一個簡化模型。粒子群算法在對動物集群活動行為觀察基礎上,利用群體中的個體對信息的共享使整個群體的運動在問題求解空間中產生從無序到有序的演化過程,從而獲得最優解。pso算法的優勢在于簡單容易實現并且沒有許多參數的調節。目前已被廣泛應用于函數優化、神經網絡訓練、模糊系統控制以及其他遺傳算法的應用領域。
技術實現思路
1、基于以上分析,本文提出一種基于改進粒子群算法的不規則凸田塊全覆蓋路徑規劃算法,同時,基于不規則凸型田塊建立環境仿真模型,確切地得到田塊的邊界數據和面積數據,提高了算法的普適性,對于實際田塊的仿真結果表明,該算法能夠減少無人農機的行駛距離,減少能源燃料的消耗,得到良好的路徑規劃結果。
2、本發明的技術方案為:
3、一種基于粒子群算法的不規則凸田塊下高地隙噴霧機全覆蓋路徑規劃方法,包括以下步驟:
4、步驟1:根據高地隙噴霧機的轉向結構,建立阿克曼轉向模型;
5、步驟2:建立高地隙噴霧機的運動學模型;
6、步驟3:采集農田邊界數據并整理,將數據進行坐標行的轉換后,建立不規則田塊邊界仿真圖;
7、步驟4:基于農田邊界特征,根據田塊的邊界行與無人農機行駛的作業行的夾角大小,選擇合適的作業行路徑銜接策略;
8、步驟5:調用不規則凸田塊全覆蓋規劃算法生成初始作業行;
9、步驟6:基于步驟5生成的初始作業行的方向角,對粒子群算法的慣性權重和學習因子改進,修改新的適應度函數,得到最短路徑,最少能源消耗的作業行方向角,生成最優全覆蓋規劃路徑。
10、進一步,步驟1所述的阿克曼轉向模型為:
11、
12、式中,v是噴霧機車速,v1:v4是噴霧機四個輪胎的速度,w是車身懸架寬度,α、β分別是前、后輪轉向角,a、b分別是前、后車身長度。
13、進一步,步驟2中所述高地隙噴霧機的運動學模型具體表現為:
14、
15、式中,x,y為高地隙噴霧機在全局坐標系下的縱向位置與橫向位置,為高地隙噴霧機的航向角,vx為高地隙噴霧機的縱向速度,δf為高地隙噴霧機的前輪轉角,l為高地隙噴霧機車身長度。
16、進一步,所述步驟3中的不規則田塊農田邊界建模流程如下:
17、選擇幾何法作為建模方法,該方法既能夠準確描述現實環境,又能夠滿足全覆蓋路徑規劃的需要;首先,通過gis系統采集作業區域的數據資料,包括不規則凸田塊的邊界經緯度坐標,將其按田塊序號歸類存儲;其次,對存儲的數據進行線性擴展,此時數據為大地坐標系下的經緯度坐標,將其轉化為地心坐標系下的笛卡爾坐標后,引入首位數據為邊界起點,將笛卡爾坐標轉化為局部東北天坐標系,最后,通過存儲在列表中的坐標數據創建多邊形對象,擬合出不規則凸田塊的仿真圖,通過上述流程實現不規則凸田塊的仿真建模。
18、進一步,所述步驟4中的作業行路徑銜接策略具體包括:
19、預留的地頭轉彎區域與作業行線延伸方向有夾角,即車輛行駛作業行所在直線與地頭轉彎區域邊界直線有一定的角度;om方向為農機在作業行區域的行駛方向,mn方向既表示農機在地頭轉彎區域的行駛方向,也表示地塊邊界的延伸方向;
20、(1):當與的夾角γ為90°時,作業行之間的銜接路徑為地頭的預留距離r,式中|p1p2|=(s*l)-2*r,om方向為農機在作業行區域的行駛方向,mn方向既表示農機在地頭轉彎區域的行駛方向,也表示地塊邊界的延伸方向;γ為om與mn直線的夾角;為第一段圓弧轉彎路徑,|p1p2|為地頭轉彎時直線路徑,為第二段圓弧轉彎路徑,r為無人農機最小轉彎半徑,s為跨越的田塊數,l為作業行的寬度;
21、(2):當與的夾角γ小于90°時,此時作業行之間的銜接路徑為式中|p5p1|=2rtanγ,式中r+rsinγ+|p2p3|cosγ+r-rsinγ=l1,地頭的預留距離為|r+rsinγ|,式中l1為兩作業行相隔的距離,可得|p2p3|=(l1-2r)/cosγ,|p5p1|為第一段直線路徑,為第一段圓弧路徑,|p2p3|為第二段直線路徑,為第二段圓弧路徑;
22、(3):當與的夾角γ大于90°時,此時作業行之間的銜接路徑為式中|p2p3|=(l1-2r)/cosγ,|p4p5|=|2rtanγ|;|p4p5|為第二段直線路徑,式中s為跨越的田塊數,上述涉及的角度均為弧度制。
23、進一步,所述步驟5具體如下:
24、在得到不規則凸田塊的環境仿真模型后,調用不規則凸田塊全覆蓋規劃算法為作業行生成方向角,運行粒子群算法運行中對粒子進行初始化時,會隨機產生粒子的pos值,即代表作業行方向角的k值;當指定經過不規則凸區域中心點p0(x0,y0)的直線的k后,經過p0點的直線方程可以表示為:
25、y-y0=k0(x-x0)???????????(1)
26、y-y0=ki(x-x0),i∈(1,2,3,...,n)????????(2)
27、式中n為粒子的數量,k0為p0點的作業行方向與水平方向夾角的正切值;ki為作業行方向與水平方向夾角的正切值,且-90°<arctan(k)<90°。
28、進一步,所述步驟6具體包括:
29、使用基于改進的粒子群算法優化作業行方向角;對于不規則凸田塊的單一作業區域,基于改進pso算法的無人農機全覆蓋路徑規劃遍歷模型求解如下:
30、(1)輸入不規則凸田塊作業區域參數和無人農機作業參數,進行環境建模;
31、(2)設置算法參數,生成并初始化搜索群體,隨機產生粒子群初始位置和速度,生成作業行初始方向角;
32、(3)計算群體中各個粒子的目標函數值:①計算每次無人農機全覆蓋遍歷的路徑總長度(總目標函數);②若粒子的目標函數值小于該粒子的個體極值,則將個體極值設置為該粒子的位置,然后再更新群體的全局極值;
33、(4)更新維度間邊界點的變化速度:設置慣性權值和學習因子隨迭代次數的增加而非線性減小,有利于減少算法優化時間,有效兼顧算法全局搜索程度和精細搜索程度;
34、(5)將更新后各粒子位置的適應度值與其訪問過的最佳位置的適應度值進行比較,若當前位置的適應度值更小,則保留其為最佳位置;更新整個粒子群體的最佳位置;
35、(6)判斷當前迭代次數是否達到最大迭代次數;若是,算法終止運行,得到最優的k值,即為最優作業行方向角,輸出最優作業路徑;否則轉至步驟(4);
36、傳統的pso算法難以限制粒子的大小,使用粒子群算法優化作業行方向角容易陷入局部最優,規劃結果較差;對此改進如下:
37、1):改進慣性權重
38、慣性權重w反映上一代粒子對當代粒子的速度的影響程度,是pso算法的重要參數;為找到全局最優解,與靜態值相比,動態變化的w尋優效果更好,使用一種基于非線性遞減慣性權重,隨著迭代次數的增加,慣性權重w不斷減小,從而使粒子在后期具有較強的局部收斂能力,表達式為:
39、
40、式中tmax為算法的最大迭代次數,k為當前迭代次數;式中w為慣性權重,反映了粒子當前速度對下一步更新的影響程度;wmax為慣性權重的最大值,wmin為慣性權重的最小值;cos()為余弦函數;tan()為正切函數;tmax為算法的最大迭代次數;k為當前迭代次數;
41、2):改進學習因子
42、學習因子決定了粒子向自身及群體訪問過的最佳位置靠近的概率,算法設置學習因子為所提出的非線性遞減慣性權重的三角函數,表達式為:
43、c1=sinw??????????(10)
44、c2=1-sinw?????????(11)
45、式中w為慣性權重,反映了粒子當前速度對下一步更新的影響程度;c1為個體加速因子,反映了粒子對自身歷史最佳位置的依賴程度;c2為社會加速因子,反映了粒子對群體最佳位置的依賴程度,體現了群體效應;sin為正弦函數。
46、本發明具有以下技術效果:
47、通過仿真試驗驗證了算法的可行性,與傳統走法相比,本文提出的算法以全覆蓋遍歷路徑間距穩定,覆蓋范圍精準,減少了轉彎次數,極大減少了能源消耗。在四種不同規模的實際田塊中,較于傳統走法,本發明走法在田塊1、3、4中的總遍歷距離減少了9.01m、23.25m、8.71m和14.32m,轉彎次數減少率分別減少了5.3%~61.5%,額外覆蓋比減少了0.45%~2.56%,有效減少重復和遺漏現象。因此,不規則凸田塊全覆蓋遍歷路徑規劃算法能在保證作業全覆蓋的前提下,有效減少能量損耗,增加無人農機的可持續作業時間。
48、本研究的算法適用于大部分不規則凸田塊包括矩形田塊和凸多邊形邊界田塊,但在少數凸田塊中,本發明算法依舊需要改進,例如在田塊3中,路徑總長度減少了23.25m,但額外覆蓋比有所增加,同時對于不規則凹邊界田塊,則還需要進一步深入研究。