武錦龍
(山西農(nóng)業(yè)大學(xué) 信息科學(xué)與工程學(xué)院,山西 太谷 030801)
隨著國內(nèi)精準(zhǔn)農(nóng)業(yè)、食品安全等領(lǐng)域的不斷發(fā)展,農(nóng)用航空領(lǐng)域發(fā)展極其迅速,無人機(jī)已經(jīng)廣泛應(yīng)用至農(nóng)田的遙感監(jiān)測、施肥施藥等領(lǐng)域[1]。植保無人機(jī)具有飛行高度低,尺寸小、可懸停、受周圍環(huán)境限制影響較少等優(yōu)點(diǎn),在實(shí)際農(nóng)業(yè)應(yīng)用領(lǐng)域有較大的發(fā)展前景。但是,目前已經(jīng)投入使用的植保無人機(jī),大部分仍然是依賴人工去遙控的,無人機(jī)操控技術(shù)相對較難,會偏移路線,造成藥劑、化肥的重復(fù)噴灑和漏噴現(xiàn)象,實(shí)際工作效果并不理想。為了降低人工成本,減輕植保無人機(jī)操控人員的工作強(qiáng)度,同時使植保作業(yè)更加精準(zhǔn)、節(jié)能,在作業(yè)前如何根據(jù)實(shí)際地形進(jìn)行作業(yè)路徑規(guī)劃,已經(jīng)是當(dāng)前植保無人機(jī)實(shí)際作業(yè)時需要解決的一個重要難題。
目前,無人機(jī)的航跡研究大多規(guī)劃出的是最優(yōu)或滿意的飛行航跡。唐必偉等[2]研究了基于蟻群算法的無人機(jī)二維航跡規(guī)劃。方徐博等[3,4]等分別針對單個和多個不規(guī)則區(qū)域提出了單個作業(yè)區(qū)域的航線規(guī)劃和多作業(yè)區(qū)域航線的全局規(guī)劃。王宇等[5]提出基于Grid-GSA算法的植保無人機(jī)路徑規(guī)劃。張仁鵬等[6]研究了基于改進(jìn)粒子群算法的在線航跡重規(guī)劃。而針對植保無人機(jī)的路徑規(guī)劃問題,國內(nèi)才處于起步階段。本文針對多個規(guī)則作業(yè)區(qū)域情況,提出了一種基于粒子群算法的全局作業(yè)路徑,不僅能夠完成各區(qū)域內(nèi)部的作業(yè)路徑規(guī)劃,而且能夠?qū)崿F(xiàn)區(qū)域間的最優(yōu)航線規(guī)劃,實(shí)現(xiàn)障礙物躲避,最終實(shí)現(xiàn)植保無人機(jī)的全局航線規(guī)劃。
對于規(guī)則區(qū)域的傳統(tǒng)地面作業(yè)方式,常用的方式為牛耕往復(fù)法和內(nèi)外螺旋法。由于無人機(jī)的機(jī)械特性,在轉(zhuǎn)彎的時候無法進(jìn)行噴藥作業(yè),所以對于植保無人機(jī)的作業(yè)形式,本文根據(jù)文獻(xiàn)[3]選擇了轉(zhuǎn)彎相對較少,噴藥覆蓋率相對較高的牛耕往復(fù)回轉(zhuǎn)法,具體作業(yè)方式如圖1所示,其中d為植保無人機(jī)的噴藥工作半徑,工作區(qū)域?yàn)長*H的規(guī)則矩形。
圖1 牛耕往復(fù)法示意圖
在無人機(jī)航跡規(guī)劃中,常用的簡化的航跡代價計(jì)算公式為:
(1)
將航跡代價函數(shù)[9]可以作為粒子群算法的適應(yīng)度函數(shù),其中J為無人機(jī)航跡代價值,s為分析過程中將一個完整飛行航跡分成的段數(shù),Li表示航跡中第i段的飛行長度,Hi為航跡中第i段的平均高度,Ti表示的是航跡中第i段的平均威脅指數(shù)。k1、k2、k3分別為長度、高度、威脅指數(shù)所占的權(quán)重。同時,粒子適應(yīng)度函數(shù)中的飛行距離L、飛行高度H、威脅指數(shù)T需要滿足無人機(jī)實(shí)際飛行過程中的約束條件,比如最大轉(zhuǎn)彎角、最大爬升高度等等。
PSO算法的工作原理如下:包含N個粒子的粒子群,在D維優(yōu)化空間中不斷修正自身位置信息尋找最優(yōu)解。每個粒子都表示問題的一個解,第i個粒子的位置信息可以表示為Xi={xi1,xi2,…,xiD},第i個粒子的速度信息為Vi={vi1,vi2,…,viD}。粒子不停修正自身位置信息能夠找到經(jīng)過的最優(yōu)的位置,其中第i個粒子經(jīng)過的最好位置可以表示為Pibest={pi1,pi2,…,piD},為一個局部最優(yōu)值,整個種群所經(jīng)歷的最好位置可以表示為Pgbest={pg1,pg2,…,pgD},為全局最優(yōu)值。通過如下公式進(jìn)行更新:
(2)
植保無人機(jī)工作路徑可解析為粒子群可以識別并優(yōu)化的模型。其編碼方式[12]如下:將出發(fā)點(diǎn)和目標(biāo)點(diǎn)在x軸方向上進(jìn)行n等分,然后在y軸方向上隨機(jī)生成n-1個數(shù)值作為初始值,可作為一個粒子的粒子編碼。所以,第i個粒子的初始坐標(biāo)信息可通過如下公式得到:
xij=xstart+j·(xgoat-xstart)/(n-1)
yij=ystart+rand()·(ygoat-ystart)
(3)
其中,(xstart,ystart),(xgoat,ygoat)分別為無人機(jī)飛行航跡的起始點(diǎn)和目標(biāo)點(diǎn),rand函數(shù)能夠生成區(qū)間[0,1]上的隨機(jī)數(shù)。通過該公式即可得到一系列的點(diǎn)坐標(biāo)值:(xstart,ystart)、(xi1,yi1)、(xi2,yi2)…(xgoat,ygoat)。將坐標(biāo)值進(jìn)行連接,則是第i個粒子代表的初始路徑,其起始點(diǎn)和目標(biāo)點(diǎn)的位置始終不變,如圖2所示。
圖2 粒子編碼示意圖
植保無人機(jī)路徑規(guī)劃的步驟如下:
Step1:將需要進(jìn)行植保作業(yè)的d塊區(qū)域進(jìn)行輸入,采用牛耕往復(fù)法求解每個區(qū)域作業(yè)的開始點(diǎn)和截止點(diǎn)。
Step2:初始化粒子種群,初始化N個粒子的初始位置(xi1,yi1)和初始速度vij等相關(guān)參數(shù)。初始化路徑需要經(jīng)過每一區(qū)域的開始點(diǎn)和截止點(diǎn),保證位置信息不變。
Step3:計(jì)算粒子的適應(yīng)度值,將每個粒子的局部最優(yōu)解pibest初始化為當(dāng)前粒子,并初始化全局最優(yōu)值pgbest=pibest。
Step4:根據(jù)式,更新粒子的位置與速度,令i=0,j=0。
Step5:j=j+1,如果j>n轉(zhuǎn)到setp6,否則,轉(zhuǎn)到setp4。
Step6:i=i+1,如果i>N,轉(zhuǎn)到setp7,否則,轉(zhuǎn)到setp4。
Setp7:當(dāng)粒子適應(yīng)度函數(shù)值大于局部最優(yōu)值時,更新局部最優(yōu)值,同理當(dāng)局部最優(yōu)值大于全局最優(yōu)值時,更新全局最優(yōu)值。
Setp8:判斷是否滿足迭代結(jié)束條件,滿足則轉(zhuǎn)到setp9,否則繼續(xù)進(jìn)行迭代。
Setp9:迭代結(jié)束,全局最優(yōu)值pgbest中的所含的路徑即為最優(yōu)路徑,結(jié)合牛耕往復(fù)法,即可得到全局最優(yōu)路徑。
仿真實(shí)驗(yàn)場景設(shè)置在1200m*700m的工作區(qū)域,區(qū)域內(nèi)部分布著三個規(guī)則作業(yè)區(qū)域(農(nóng)田),五個障礙物。農(nóng)田具體分布情況如表1所示。航跡過程中的障礙物可以簡化建模為圓形障礙物,其具體分布情況如表2所示。
表1 農(nóng)田(矩形)分布情況
表2 障礙物(圓形)分布情況
針對仿真實(shí)驗(yàn)場景,進(jìn)行全局植保無人機(jī)航線規(guī)劃,全局航跡應(yīng)完成噴灑任務(wù)和障礙物躲避,到達(dá)目標(biāo)農(nóng)田。實(shí)驗(yàn)過程中,粒子群算法的參數(shù)設(shè)置為,粒子群數(shù)量:30;最大迭代次數(shù):200;學(xué)習(xí)因子:c1、c2均為1.5,航跡規(guī)劃結(jié)果如圖3所示。航跡適應(yīng)度函數(shù)的收斂曲線如圖4所示,發(fā)現(xiàn)該航跡規(guī)劃在迭代30次左右就收斂于最優(yōu)航跡。
圖3 航跡規(guī)劃結(jié)果
圖4 粒子群算法收斂曲線圖
本文提出的基于粒子群算法的植保無人機(jī)路徑規(guī)劃,基于植保無人機(jī)的實(shí)際需求,將多塊區(qū)域作業(yè)路徑問題轉(zhuǎn)化為粒子群算法的優(yōu)化模型。路徑規(guī)劃是非常繁雜的優(yōu)化問題,理論上不存在絕對的最優(yōu)解,只能得到向最優(yōu)解逼近的近似最優(yōu)解。相對于原來的手工作業(yè),提高了路徑的精確性和穩(wěn)定性。本文提出的粒子群算法的植保無人機(jī)路徑規(guī)劃算法,較好找到植保無人機(jī)在實(shí)際植保作業(yè)的近似最優(yōu)路徑。
[1] 張東彥,蘭玉彬,陳立平,等.中國農(nóng)業(yè)航空施藥技術(shù)研究進(jìn)展與展望[J].農(nóng)業(yè)機(jī)械學(xué)報,2014,45(10):53-59.
[2] 唐必偉,方群,朱戰(zhàn)霞,等.基于改進(jìn)蟻群算法的無人飛行器二維航跡規(guī)劃[J].西北工業(yè)大學(xué)學(xué)報,2013,31(5):683-688.
[3] 徐博,陳立平,譚彧,等.基于無人機(jī)航向的不規(guī)則區(qū)域作業(yè)航線規(guī)劃算法與驗(yàn)證[J].農(nóng)業(yè)工程學(xué)報,2015(23):173-178.
[4] 徐博,陳立平,徐旻,等.多作業(yè)區(qū)域植保無人機(jī)航線規(guī)劃算法[J].農(nóng)業(yè)機(jī)械學(xué)報,2017,48(2):75-81.
[5] 王宇,陳海濤,李煜,等.基于Grid-GSA算法的植保無人機(jī)路徑規(guī)劃方法[J].農(nóng)業(yè)機(jī)械學(xué)報,2017,48(7):29-37.
[6] 張仁鵬,楊金孝,潘佳華,等.基于改進(jìn)粒子群算法的無人機(jī)三維航跡規(guī)劃[J].計(jì)算機(jī)仿真,2014,31(3):65-69.
[7] 徐博,陳立平,譚彧,等.多架次作業(yè)植保無人機(jī)最小能耗航跡規(guī)劃算法研究[J].農(nóng)業(yè)機(jī)械學(xué)報,2015,46(11):36-42.
[8] 張仁鵬,楊金孝,潘佳華,等.基于改進(jìn)粒子群算法的無人機(jī)三維航跡規(guī)劃[J].計(jì)算機(jī)仿真,2014,31(3):65-69.
[9] 方群,徐青.基于改進(jìn)粒子群算法的無人機(jī)三維航跡規(guī)劃[J].西北工業(yè)大學(xué)學(xué)報,2017,35(1):66-73.
[10] 黃太安,生佳根,徐紅洋,等.一種改進(jìn)的簡化粒子群算法[J].計(jì)算機(jī)仿真,2013,30(2):327-330.
[11] 胡旺,李志蜀.一種更簡化而高效的粒子群優(yōu)化算法[J].軟件學(xué)報,2007,18(4):861-868.
[12] 張建南,劉以安,王剛.基于優(yōu)化粒子群算法的無人機(jī)航路規(guī)劃[J].傳感器與微系統(tǒng),2017,36(3):58-61.