杜芳芳,巨玉祥,李 卓,王苗苗,常娜娜
(1.蘭州資源環(huán)境職業(yè)技術(shù)學(xué)院,甘肅 蘭州 730000;2.蘭州交通大學(xué),甘肅 蘭州 730070)
隨著我國(guó)農(nóng)業(yè)生產(chǎn)模式由傳統(tǒng)的手工作業(yè)向高科技精準(zhǔn)農(nóng)業(yè)轉(zhuǎn)變,作業(yè)模式呈現(xiàn)出農(nóng)業(yè)智能化、機(jī)械化等特征,而無(wú)人機(jī)以其機(jī)動(dòng)靈活、生產(chǎn)作業(yè)效率高、綜合應(yīng)用成本低等特性在高科技精準(zhǔn)農(nóng)業(yè)中得到了廣泛的應(yīng)用[1-2]。尤其在農(nóng)作物精準(zhǔn)播種、實(shí)時(shí)監(jiān)測(cè)、災(zāi)害治理、農(nóng)藥噴灑、產(chǎn)量預(yù)估等各個(gè)方面更是大顯身手[3]。應(yīng)用植保無(wú)人機(jī)噴灑農(nóng)藥不僅提升工作效率,減少浪費(fèi),還極大地避免了農(nóng)藥對(duì)人體的傷害[4]。無(wú)人機(jī)的農(nóng)藥噴灑作業(yè)過(guò)程,是采用無(wú)人機(jī)在規(guī)定的農(nóng)田區(qū)域范圍內(nèi)進(jìn)行覆蓋式噴灑,并在最短的時(shí)間內(nèi)實(shí)現(xiàn)效益最大化[5]。圖1為經(jīng)典的無(wú)人機(jī)區(qū)域全覆蓋式農(nóng)藥噴灑方式示意圖,其中:r為無(wú)人機(jī)農(nóng)藥噴灑航線半距,d為航線平距。此種方式大大增加了無(wú)人機(jī)的作業(yè)效率,減少了無(wú)人機(jī)作業(yè)航線的交叉[6]。
圖1 無(wú)人機(jī)覆蓋式噴灑農(nóng)藥圖
無(wú)人機(jī)航線規(guī)劃就是通過(guò)設(shè)計(jì)一種最優(yōu)航線,進(jìn)而使無(wú)人機(jī)避免遭遇障礙、威脅的問(wèn)題[7]。無(wú)人機(jī)在軍事戰(zhàn)爭(zhēng)應(yīng)用方面,通過(guò)航線規(guī)劃,有效躲避障礙威脅,提高軍用無(wú)人機(jī)的生存及作戰(zhàn)能力[8]。李檸[9]等提出基于改進(jìn)的遺傳算法,有效解決了多無(wú)人機(jī)協(xié)同航線規(guī)劃問(wèn)題。田偉[10]將遺傳算法與Dijkstra算法結(jié)合到蟻群算法中,使無(wú)人機(jī)以最小的發(fā)現(xiàn)概率和可接受的飛行距離到達(dá)目的地,提高了無(wú)人機(jī)的應(yīng)用能力?,F(xiàn)如今,無(wú)人機(jī)也逐漸應(yīng)用于精準(zhǔn)農(nóng)業(yè)領(lǐng)域,但無(wú)人機(jī)航線規(guī)劃在農(nóng)業(yè)領(lǐng)域的研究卻相對(duì)較少;徐博[11]等以植保無(wú)人機(jī)農(nóng)藥噴灑過(guò)程中作業(yè)架次最少為約束,工作能耗最小為目標(biāo),將工作區(qū)域利用柵格法進(jìn)行劃分,基于一種多架次返航路線規(guī)劃算法,合理規(guī)劃植保無(wú)人機(jī)農(nóng)藥噴灑路線,通過(guò)給出的算法規(guī)劃一塊210 m×200 m的矩形農(nóng)田農(nóng)藥噴灑無(wú)人機(jī)航線,工作能耗節(jié)省明顯,且作業(yè)區(qū)域越大,優(yōu)勢(shì)越明顯;徐正偉[12]基于改進(jìn)的遺傳算法,以作業(yè)時(shí)間最小為目標(biāo),構(gòu)建多植保無(wú)人機(jī)任務(wù)分配模型;彭孝東,張鐵民[13]等以水稻田邊界為參照對(duì)象,基于GPS坐標(biāo)定位,進(jìn)行植保無(wú)人機(jī)噴霧航線規(guī)劃飛行試驗(yàn),試驗(yàn)結(jié)果表明,理想情況下無(wú)人機(jī)作業(yè)遺漏率、重復(fù)率較大,區(qū)域外浪費(fèi)較為嚴(yán)重,并提出以GPS導(dǎo)航為主,在規(guī)定區(qū)域內(nèi)進(jìn)行無(wú)人機(jī)航線規(guī)劃是精準(zhǔn)農(nóng)業(yè)發(fā)展的主流方向。
既有研究表明,植保無(wú)人機(jī)農(nóng)藥噴灑航線規(guī)劃具有非常重要的意義,但目前研究只針對(duì)某個(gè)固定區(qū)域內(nèi)部無(wú)人機(jī)航線進(jìn)行規(guī)劃,以期得到最優(yōu)飛行航線。而實(shí)際當(dāng)中,農(nóng)作物種植并不都以一大整塊農(nóng)田為主,有些作物以小面積分散種植?;诖耍Y(jié)合既有研究,考慮多塊農(nóng)田之間噴灑次序不同所造成的資源浪費(fèi)問(wèn)題,借鑒科學(xué)成熟的無(wú)人機(jī)任務(wù)分配方式及航線規(guī)劃方法,并結(jié)合具體情況,規(guī)劃無(wú)人機(jī)農(nóng)藥噴灑過(guò)程中的作業(yè)任務(wù)分配有著十分重要的意義。
我國(guó)幅員遼闊,地形復(fù)雜,很多地區(qū)的農(nóng)作物種植以小面積分散種植為主。基于此,在多個(gè)小面積農(nóng)作物種植區(qū)域,植保無(wú)人機(jī)農(nóng)藥噴灑線路規(guī)劃不僅包含每個(gè)農(nóng)田內(nèi)部的線路走向,還包含每個(gè)作業(yè)區(qū)域之間的作業(yè)次序規(guī)劃。具體而言,即可歸結(jié)為T(mén)SP問(wèn)題,本文僅考慮每個(gè)作業(yè)區(qū)域之間的次序選擇,對(duì)于區(qū)域內(nèi)部的具體線路規(guī)劃不予考慮,使得植保無(wú)人機(jī)在滿(mǎn)足每個(gè)區(qū)域需求的同時(shí),總飛行里程最短。
要解決的問(wèn)題及基本假設(shè):
1)無(wú)人機(jī)從物資補(bǔ)給中心出發(fā),完成任務(wù)后返回補(bǔ)給中心;
2)每片農(nóng)田僅由一架無(wú)人機(jī)訪問(wèn)且只能被訪問(wèn)一次,其農(nóng)藥需求量不能超過(guò)飛機(jī)載重量;
3)無(wú)人機(jī)為相同機(jī)型且攜帶農(nóng)藥總量不能超出中心農(nóng)藥擁有量;
4)每片農(nóng)田的坐標(biāo)、農(nóng)藥噴灑量和噴灑持續(xù)時(shí)間已知。
1.2.1 模型參數(shù)
表1 模型參數(shù)及變量
1.2.2 模型構(gòu)建
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
Tik+sti+tijk≤Tjk+C(1-xijk),
?i,j∈V0,k∈K,
(9)
xijk∈{0,1}?i,j∈V,k∈K,
(10)
Qk,qi,sti>0i∈V0,k∈K.
(11)
式(1)表示最小化里程的目標(biāo)函數(shù);式(2)、式(3)表示每片農(nóng)田僅被1架無(wú)人機(jī)服務(wù)且僅訪問(wèn)1次;式(4)為子回路消去約束;式(5)表示無(wú)人機(jī)從中心出發(fā)最終返回補(bǔ)給中心;式(6)為節(jié)點(diǎn)平衡約束;式(7)為無(wú)人機(jī)載重約束;式(8)為無(wú)人機(jī)續(xù)航時(shí)間約束;式(9)表示無(wú)人機(jī)從結(jié)束上片農(nóng)田到訪問(wèn)下一片農(nóng)田所要滿(mǎn)足的時(shí)間條件;式(10)、式(11)為決策變量和參數(shù)約束。
因任務(wù)分配問(wèn)題的求解規(guī)模較大,精確算法無(wú)法在可接受的計(jì)算時(shí)間內(nèi)得到最優(yōu)解。傳統(tǒng)啟發(fā)式算法求解大規(guī)模問(wèn)題已得到廣泛應(yīng)用,如遺傳算法、禁忌搜索算法和模擬退火算法等均表現(xiàn)出良好的求解效果。因此,本文將蟻群算法應(yīng)用于模型的求解,用染色體代表一個(gè)可行解,通過(guò)交叉、變異等操作對(duì)種群進(jìn)行更新,經(jīng)過(guò)若干次迭代在可接受的時(shí)間內(nèi)得到一個(gè)滿(mǎn)意解。
(12)
式中:α為信息素重要度因子;β為啟發(fā)式信息重要度因子;alloweds=V/{tabus}為螞蟻s下一步允許訪問(wèn)的節(jié)點(diǎn)集合;tabus為螞蟻s訪問(wèn)過(guò)的節(jié)點(diǎn)集合,即路徑禁忌表。
啟發(fā)式函數(shù)ηij(t)越大,螞蟻選擇節(jié)點(diǎn)j的概率越大。隨著迭代次數(shù)的增加,路徑(i,j)的信息素濃度τij不斷疊加,同時(shí)殘留的信息素將持續(xù)揮發(fā),則(t+1)時(shí)刻路徑(i,j)的信息素τij(t+1)濃度更新規(guī)則為:
(13)
(14)
式中:ρ為信息素?fù)]發(fā)系數(shù);Q為全局信息素常量;固本文模型目標(biāo)是成本最小,則cost(i,j)為路徑(i,j)上的成本。
通過(guò)交叉完成配送序列的更新。分別對(duì)個(gè)體pi和個(gè)體pj隨機(jī)選擇一個(gè)交叉序列、交換序列內(nèi)的染色體,形成新的個(gè)體,如圖2。
圖2 交叉操作
通過(guò)變異操作搜索配送序列的鄰域。對(duì)個(gè)體pk選擇兩個(gè)插入點(diǎn),交換插入點(diǎn)的元素個(gè)體。如圖3。
圖3 變異操作
算例的試驗(yàn)數(shù)據(jù)通過(guò)Matlab軟件隨機(jī)生成1個(gè)植保無(wú)人機(jī)物資給予調(diào)度中心和19個(gè)大小不同的農(nóng)田(面積在0.53~0.8 hm2之間),由于本文對(duì)于農(nóng)田內(nèi)部的植保無(wú)人機(jī)具體航線不予詳細(xì)考慮,因此對(duì)于每個(gè)農(nóng)田以其幾何中心為目標(biāo)點(diǎn)進(jìn)行簡(jiǎn)化,所有點(diǎn)隨機(jī)分布在(0,70 km2)的平面坐標(biāo)內(nèi),其具體信息見(jiàn)表2。植保無(wú)人機(jī)的具體參數(shù)配置情況見(jiàn)表3。
表2 植保無(wú)人機(jī)作業(yè)區(qū)域信息表
表3 無(wú)人機(jī)基本參數(shù)配置表
基于本文構(gòu)建的以最小化植保無(wú)人機(jī)作業(yè)里程最短為目標(biāo),通過(guò)Matlab軟件編寫(xiě)程序,對(duì)模型進(jìn)行100次循環(huán)迭代。
所有算法運(yùn)行迭代在一臺(tái)搭載2.4 GHz的Intel(R) Core(TM) i5處理器和8 GB內(nèi)存的計(jì)算機(jī)平臺(tái)上實(shí)現(xiàn),作業(yè)路徑優(yōu)化結(jié)果和算法收斂曲線見(jiàn)圖4、圖5所示。
圖4 最優(yōu)飛行路徑示意
圖5 算法收斂曲線
如圖4所示,本文模型和算法可以在可接受的計(jì)算時(shí)間內(nèi)有效求解無(wú)人機(jī)噴灑農(nóng)藥的任務(wù)調(diào)度工作??紤]到無(wú)人機(jī)連續(xù)飛行時(shí)間的限制和無(wú)人機(jī)的載重限制,即續(xù)航時(shí)間和所攜帶的農(nóng)藥質(zhì)量,在路徑求解中需要兼顧時(shí)間約束和載重約束,因此,在飛行工作一定時(shí)間或所攜帶藥量不足以滿(mǎn)足下一農(nóng)田噴灑任務(wù)時(shí),無(wú)人機(jī)需要返回物資補(bǔ)給點(diǎn),補(bǔ)給后再次起飛噴灑剩余農(nóng)田。依據(jù)本文模型及算法設(shè)定參數(shù),求得最短飛行里程為254.953 km,最短作業(yè)里程路徑為1-14-2-16-4-13-1-7-17-19-6-18-8-15-1-3-20-9-5-1-12-11-10-1。
如圖5所示,對(duì)模型進(jìn)行100代循環(huán)求解,可以看出算法收斂速度較快,下降趨勢(shì)明顯,在前20代求得近似最優(yōu)解,能夠有效解決本文路徑規(guī)劃問(wèn)題。
本文提出一種以飛行里程最短為目標(biāo)的無(wú)人機(jī)農(nóng)藥噴灑作業(yè)路徑調(diào)度模型,考慮了無(wú)人機(jī)續(xù)航時(shí)間的限制和飛行器載重量的限制,通過(guò)蟻群優(yōu)化算法求解模型。所求的路徑中包含多個(gè)子任務(wù)路徑,能夠?yàn)檗r(nóng)業(yè)部門(mén)的智慧農(nóng)業(yè)提供重要參考。
本文從宏觀上優(yōu)化了無(wú)人機(jī)的飛行路徑,而從更微觀角度考慮農(nóng)田內(nèi)飛行軌跡的整體路徑優(yōu)化將是下一步研究的重點(diǎn)。