宮金良 王 偉 張彥斐 蘭玉彬
(1.山東理工大學機械工程學院,淄博 255000;2.山東理工大學農業工程與食品科學學院,淄博 255000)
數字生態循環農業農場以其生態化保護、無人化作業、精準化種養、智能化決策的特點將成為未來農業發展的主流方向[1]。一個數字生態循環農業農場將涉及耕、種、管、運等方面至少30類以上由農場云平臺提供智能算法服務的農業機器人,即農業Agent。由于缺乏統一的協同管理調度[2-4],農業Agent使用效率和生產效能將受到極大限制,數字生態循環農業農場中多Agent的任務分配問題[5-7]亟待解決。
合同網算法是任務分配方式中最重要的一種[8-11]。針對傳統合同網模型招標階段通信量大的問題[12-15],文獻[16]采用基于任務熟人集和信任度的方式對候選 Agent進行篩選,該方案受首次任務分配結果影響較大,可提高任務分配效率,但難以得到任務分配的最優解;文獻[17]在傳統合同網協議的基礎上通過引入信任度與懲罰機制來減少通信量。以上通過信任度限制投標Agent的數量容易引起Agent的過度損耗。針對復雜多變環境中Agent任務分配效率低的問題,文獻[18]將代價最小、效能最大作為任務分配的目標,并限制了允許分配的最大任務數,以減小計算的復雜度,該方案可優化任務分配的效能與系統計算復雜度,但并未優化任務分配粒度的選擇依據;文獻[19]通過將承諾期限加入合同網來適應任務環境的動態變化;文獻[20]從協商目標、協商協議、協商策略和協商處理4個方面建立擴展的合同網模型理論。以上方案增加了Agent群任務分配的靈活性與魯棒性,但并未考慮采用合同網算法進行任務分配時通信量對系統負載的影響。
本文建立分層混合式Agent群體系架構,將蟻群算法的刺激響應模型與傳統合同網算法相結合,建立自適應招標策略,并改進刺激響應模型中的響應閾值設計方法與刺激量動態更新函數,以減少合同網算法任務分配時對系統的通信負載,提高Agent群任務分配的整體效益。
數字生態循環農業農場中農業Agent的多元異構傳感信息融合、避障導航、路徑規劃等復雜功能均被轉移到云平臺與邊緣服務器,農業Agent只需配備簡單的網絡設備和基本的傳感器就可以完成復雜的服務任務。數字生態循環農業即以云邊協同計算系統驅動農業Agent工作以實現自動化運轉和智能化調節。
本文將集中式任務分配算法與分布式任務分配算法優勢互補,在傳統合同網算法的基礎上建立基于云邊協同計算系統的分層混合式Agent群體系架構,如圖1所示。
在本架構中,農場工作人員通過云平臺人機交互界面下達耕、種、管、收、貯、運等工作任務的任務工作量與任務農田工作區域等信息,云平臺繼而將某一工作屬性的系統級工作量均分至各邊緣服務器。
邊緣服務器在數字生態循環農業農場中的部署位置相比云平臺更靠近Agent端,故邊緣服務器控制Agent群開展農情信息監測、農田全區域覆蓋等工作時具有更實時的信息傳輸速度。在異質農業Agent群任務分配的過程中各邊緣服務器作為管理者負責向Agent端中的Agent發布招標信息以集中式架構形成工作小組以及根據收到的招標信息做出中標決策,并與云平臺同步記錄及更新Agent熟人網,包括Agent的工作效率、能耗、故障率、服務質量、歷史任務量等數據。Agent端中各Agent作為合同者向上發送投標信息。
Agent群在農場工作過程中若出現Agent機械故障,或農場工作人員臨時增加/取消農田工作區域與臨時增加/縮短工作時限要求等問題時,可基于本文局部集中、全局分布的分層混合式Agent群體系架構采用工作小組內部調整、管理者間發布求助信息、云平臺重新規劃任務量等方式靈活地完成任務重分配過程。
基于蟻群算法的刺激響應模型[21-23]設置自適應招標策略以限制投標Agent的數量、減少系統的通信壓力。

(1)
管理者通過熟人網計算各合同者的響應閾值,要求工作量Wd未被滿足之前不斷迭代增加刺激量強度,向響應閾值小于刺激量的合同者發布招標信息。
出于對農場中可能出現惡劣天氣以及防止延誤農作物農時的考慮,數字生態循環農業農場中發布的工作任務通常具有任務時限要求H,而農業Agent在農場中時剩余電量使用時間te也動態變化,故合同者i在收到招標信息之后,向管理者發送即時投標信息,即te,管理者接收到投標信息之后根據H以及熟人網記錄的合同者i的工作效率Ei,計算合同者i的理論工作量Wi為
(2)

(3)
式中o——第k次刺激量迭代中響應閾值小于當前刺激量的合同者
b——第k次刺激量迭代中響應閾值小于當前刺激量的第1個合同者
r——第k次刺激量迭代中響應閾值小于當前刺激量的最后1個合同者
Wo——合同者o的工作量
則當前工作量偏差e(k)為
(4)

(5)


(6)
農業Agent在農場中的長期工作將導致Agent某些機械結構耗損累積,隨之帶來其能耗的增加與服務質量的下降,故合同者在早期工作中的能耗與服務質量數據會很快過時。為保證管理者進行中標決策時合理評估以上2種數據的可靠性,在邊緣服務器與云平臺的熟人網中建立合同者i工作次數為n(n∈[q,z])的時間矩陣
(7)
Vi——時間矩陣
用以記錄合同者i歷次為管理者a工作的時間節點,在此基礎上引入時變系數ω(n)的概念
(8)
4組參數取值范圍差異較大,為方便調節4個參數的權重,引入參加過管理者a的任務的全部合同者ρ(ρ∈[l,m])的工作數據,將除故障率之外的3組參數的值控制在0~1,則更新后的合同者i參加管理者a的任務的收益與代價為
(9)
(10)
(11)
(12)

(13)
其中
φ1+φ2+φ3+φ4=1
式中φ1、φ2、φ3、φ4——權重因子

(14)

(15)
其中
λ1+λ2=1
式中λ1、λ2——權重因子

(16)
刺激量的增加會引起WN的增加,但二者之間并無準確的函數映射關系。刺激量增長速度過快則容易引起WN的嚴重超調,意味著更多農業Agent參加工作,導致Agent資源的浪費并增加了后期Agent群協同作業時多Agent全區域覆蓋、協同避碰的復雜度;刺激量增長速度過慢則降低算法的工作效率。本文通過引入PID算法自動控制的思想[25-27]設置刺激量的動態變化模型。
PID算法的工作流程圖如圖2所示。
其中以迭代次數k與迭代周期T的乘積代表連續時間t,S(t)表示經過PID控制算法調整之后的刺激量輸出值,Wd與WN分別表示PID算法的給定值與測量值,刺激量更新公式為
(17)
式中T1——積分時間常數
TD——微分時間常數
Kp——比例增益
將式(17)離散化,其中積分作用通過偏差累積求和的形式代替,微分作用通過差分的形式代替,比例作用不變,即
(18)
(19)
離散化的刺激量更新公式為
S(k)=


(20)
其中
Ki=KpT/T1Kd=KpTD/T
式中Ki——積分增益Kd——微分增益
位置式PID算法的積分作用可以實現偏差累積用以消除穩態誤差,而本系統中不會存在穩態誤差,且積分作用太強會使系統超調加大。所以本文采用增量式PID算法,增量式PID算法的刺激量增量ΔS(k)只與前2次迭代的偏差有關,故不存在偏差累積。
ΔS(k)=S(k)-S(k-1)
(21)
ΔS(k)=Kp(e(k)-e(k-1))+Kie(k)+
Kd(e(k)-2e(k-1)+e(k-2))
(22)
為避免超調量過大,設置積分項開關系數β,使得
ΔS(k)=Kp(e(k)-e(k-1))+βe(k)+
Kd(e(k)-2e(k-1)+e(k-2))
(23)
其中
(24)
式中ε——積分分離閾值
為方便調節PID算法的3個參數,在式(23)的基礎上增加變量R=0.1/Wd,令KP=KpR、KI=KiR、KD=KdR。則更新后的刺激量增量為
ΔS(k)=KP(e(k)-e(k-1))+βe(k)+
KD(e(k)-2e(k-1)+e(k-2))
(25)
其中
(26)
本文設置分別包含20、40、100個Agent的3組Agent團隊,給定不同團隊規模下要求工作量(hm2)、任務時限要求(min)、各Agent參加任務的故障率(取值范圍:[0,1])、工作效率(hm2/h)、能耗(W)、服務質量指標(取值范圍:[0,100])、歷史任務量(hm2)等歷史數據以及剩余電量使用時間(min)。
算法仿真運行操作系統為Win10 1903,處理器為Intel(R)Pentium(R)CPU G2030 @ 3.00 GHz,采用Matlab軟件進行仿真實驗。
針對3.1節中定義的效能公式,選擇Agent群團隊為40個與100個時比較改進的合同網算法與傳統合同網算法的效能差異。
4種性能參數權重因子均取0.25,直接信任度與基于推薦的信任度權重因子均取0.5。每種團隊規模下要求工作量分別取該Agent團隊總理論工作量的75%、50%,即40個Agent時,要求工作量取26.1、17.4 hm2,100個Agent時,要求工作量取91.4、60.9 hm2。
定義任務分配結束后合同者s(s∈[g,?])的效能Us為
(27)
任務分配結束后的團隊整體效能U為
(28)
改進的合同網算法與傳統合同網算法在任務分配結束后整體效能如表1所示。

表1 不同Agent團隊規模與工作量下兩種算法的整體效能
由表1可以看出,Agent群團隊規模為40、要求工作量為團隊總理論工作量的75%時,改進的合同網算法相比傳統合同網算法的整體效能提高了21.5%,而在要求工作量為總工作量的50%時,整體效能則提高了41.1%,證明更低的要求工作量代表需要更少的Agent參與工作,本文設置的改進算法以及全局分布、局部集中的Agent架構更能發揮尋找最優解的優勢。
在團隊規模為100個、要求工作量為團隊總理論工作量的75%時,改進算法相比傳統算法的整體效能提高了55.5%,而在要求工作量為總理論工作量的50%時,則提高了83.1%。兩組數據均高于團隊規模為40個時的21.5%與41.1%,證明在Agent規模逐漸增大時本文設置的算法改進方案具有更佳的尋優能力。
選擇Agent團隊規模為40個,要求工作量設置為26.7 hm2,迭代次數為500。通過調試不同的PID參數,觀察一個管理者進行招標時團隊工作量變化曲線,選擇收斂性最好、超調量最低的PID參數。將第1組PID參數設置為:KP=0.1,KI=0.1,KD=0.1;第2組PID參數:KP=1,KI=1,KD=1;第3組PID參數:KP=1,KI=2,KD=1。Agent團隊的工作量變化曲線如圖3所示,積分作用過高導致第3組參數出現超調的現象,故降低積分作用,將第4組PID參數設置為KP=1,KI=1.5,KD=1,此時的工作量曲線在迭代前收斂,收斂性能較第2組曲線提高了50%,且未出現超調的現象。
如圖4所示,將PID參數分別設置為1、3、1,則出現工作量超調的現象,此時引入積分分離閾值,設ε=20,則工作量曲線在第37次迭代時提前收斂,Agent團隊總工作量未達到工作量要求;將ε設置為工作量的1/5,即ε=8,此時工作量未出現超調現象,且在第73次迭代時即收斂。
選擇Agent團隊規模為100個,將要求工作量設置為46.7 hm2,PID參數KP、KI、KD分別為1、3、1,積分分離閾值同樣為工作量的1/5,即ε=14,工作量變化曲線如圖4所示,工作量超調量與迭代速度均為理想效果,證明本文設置的PID參數以及積分分離閾值設計方法對于不同Agent團隊規模以及要求工作量具有普遍適應性。
圖4中ε=8時Matlab程序運行時間為0.059 s,以此運行時間為準,額外設置3組簡單的刺激量更新函數,對比其自動控制效果與PID控制算法的優劣。3組函數的設置方法為S1(k)=S1(k-1)+0.1,S2(k)=1.5S2(k-1)+0.1,S3(k)=S3(k-1)+2Re(k),工作量變化曲線如圖5所示。


表2 4種刺激量更新函數的比較
由表2可以看出,本文設置的基于PID控制算法的刺激量動態更新函數在超調量方面均優于另外3組函數,且收斂時的迭代次數分別比額外設置的第1組函數與第3組函數降低了84.3%與84.8%,第2組函數雖收斂速度很快,但超調量與通信量皆是4組函數中最高的。此外,多次調節3組函數的系數效果均不理想。
給定3種Agent群團隊規模下系統要求工作量分別為7.0、26.7、46.7 hm2,在改進的合同網算法中設置7個管理者A~G。
以算法運行時間一致來制定改進的合同網算法與傳統合同網算法的各種參數,2種算法Agent團隊通信量如表3所示。

表3 不同Agent團隊規模下2種算法的通信量
由表3可以看出,傳統合同網算法的通信量隨著Agent團隊規模的增大而急劇上升,改進的合同網算法的通信量在不同Agent團隊規模下分別比傳統合同網算法減少了49.1%、63.7%、72.4%,在Agent團隊規模2次增大的過程中,改進的合同網算法的通信量增長速度分別是傳統合同網算法的0.477倍與0.476倍,由此可見,改進的合同網算法在面對更大問題規模時系統通信量更少,通信量增長速度更慢。
在農場農業生產過程中,通過搭載RMONCAM HD600型紅外攝像頭的信息采集Agent在農田中遍歷,可采集農田中農作物不同生長階段的生長狀況與病蟲害信息。本文通過山東理工大學與淄博禾豐種業公司合作共建的數字生態循環農業農場中的農田信息采集農業Agent進行任務分配與實地全遍歷實驗,實驗地點為山東理工大學圖書館南側草坪。
本實驗的要求工作量為0.8 hm2,工作時限要求為30 min。通過改進的合同網算法從現有10臺信息采集Agent中選擇出4個Agent參加工作,任務分配4種性能參數權重因子均取0.25,直接信任度與基于推薦的信任度權重因子均取0.5;PID參數KP、KI、KD分別設置為1、3、1,積分分離閾值取8。改進的合同網算法與傳統合同網算法對本實驗的任務分配結果對比如表4所示。

表4 實驗任務分配結果對比
由表4可知,本次任務分配實驗中改進的合同網算法的通信量與工作量超調量較傳統合同網算法減少了70.0%與20.2%,整體效能相比傳統合同網算法增加了14.1%。
4個Agent工作效率分別為0.54、0.39、0.43、0.47 hm2/h,各Agent工作量與Agent團隊實時工作數據通過云平臺人機交互界面呈現,如圖6所示。
其中4個Agent的投標信息中剩余電量使用時間均大于本實驗的時限要求;各Agent均搭載工作視角為120°的攝像頭,因各Agent中攝像頭安裝高度不同,故本實驗通過調節攝像頭的安裝角保證4個Agent的對地工作范圍均為1 m。根據任務分配結果以及本團隊前期研究成果——復雜環境下異質農業機器人群全區域覆蓋方案劃分各Agent工作區域。
4個農田信息采集Agent的實地實驗如圖7所示,①~④對應Agent 1~4。
各Agent從起點(整體工作區域左下角頂點)出發,以最短的距離進入其工作區域,并在完成對其工作區域的全覆蓋之后以最短的距離駛出工作區域且返回至起點。通過各信息采集Agent實時回傳至云平臺的工作信息統計各Agent的實際遍歷面積、對原定工作區域的覆蓋率、面積重復率以及完成任務的實際工作時間如表5所示。其中實際遍歷面積表示Agent從進入草坪至駛出草坪全過程中遍歷的面積;覆蓋率表示Agent遍歷全過程中遍歷的區域對原定工作區域的覆蓋程度;面積重復率表示實際遍歷面積與原定工作量的重復程度;實際工作時間為Agent從起點至遍歷完其工作區域經歷的時間。

表5 各Agent工作數據統計
本文通過式(5)根據各Agent的理論工作量計算其實際工作量,則Agent實際工作量小于等于理論工作量,故各Agent遍歷時若無路徑重復或路徑重復率較低,則可能出現表5中實際工作時間小于時限要求的情況。由表5可以看出,參加工作的各Agent均能實現對各自工作區域的100%覆蓋,且均能在要求的工作時間內完成遍歷任務。
(1)通過建立Agent群團隊的收益與代價模型,將農業Agent在能耗、故障率、歷史任務量以及服務質量方面的差異映射到Agent動態信任度模型與響應閾值設計方法中,以實現團隊整體效能的最優。結果表明,在不同要求工作量下,團隊規模為40個時,改進的合同網算法相比傳統合同網算法的整體效能分別提高了21.5%、41.1%,在團隊規模為100個時,改進的合同網算法相比傳統合同網算法的整體效能分別提高了55.5%、83.1%。任務分配實驗結果表明,改進的合同網算法比傳統合同網算法的整體效能提高了14.1%。
(2)結合合同網招標過程定義增量式PID算法的輸出值、給定值與測量值,研究基于增量式PID算法的刺激量動態更新函數,并通過引入積分開關項系數與積分分離閾值降低工作量、超調量及收斂時的迭代次數。結果表明,本文設置的刺激量動態更新函數的綜合性能優于額外設置的3組函數,且改進的合同網算法的通信量在不同Agent團隊規模下分別比傳統合同網算法減少了49.1%、63.7%、72.4%。驗證實驗表明,改進的合同網算法比傳統合同網算法的通信量、工作量超調量分別減少了70.0%、20.2%。實地全遍歷實驗表明,Agent群能夠在規定的時限要求內完成對工作區域的100%覆蓋。