宮金良 王 偉 張彥斐 蘭玉彬
(1.山東理工大學(xué)機械工程學(xué)院,淄博 255000;2.山東理工大學(xué)農(nóng)業(yè)工程與食品科學(xué)學(xué)院,淄博 255000)
數(shù)字生態(tài)循環(huán)農(nóng)業(yè)農(nóng)場以其生態(tài)化保護、無人化作業(yè)、精準(zhǔn)化種養(yǎng)、智能化決策的特點將成為未來農(nóng)業(yè)發(fā)展的主流方向[1]。一個數(shù)字生態(tài)循環(huán)農(nóng)業(yè)農(nóng)場將涉及耕、種、管、運等方面至少30類以上由農(nóng)場云平臺提供智能算法服務(wù)的農(nóng)業(yè)機器人,即農(nóng)業(yè)Agent。由于缺乏統(tǒng)一的協(xié)同管理調(diào)度[2-4],農(nóng)業(yè)Agent使用效率和生產(chǎn)效能將受到極大限制,數(shù)字生態(tài)循環(huán)農(nóng)業(yè)農(nóng)場中多Agent的任務(wù)分配問題[5-7]亟待解決。
合同網(wǎng)算法是任務(wù)分配方式中最重要的一種[8-11]。針對傳統(tǒng)合同網(wǎng)模型招標(biāo)階段通信量大的問題[12-15],文獻[16]采用基于任務(wù)熟人集和信任度的方式對候選 Agent進行篩選,該方案受首次任務(wù)分配結(jié)果影響較大,可提高任務(wù)分配效率,但難以得到任務(wù)分配的最優(yōu)解;文獻[17]在傳統(tǒng)合同網(wǎng)協(xié)議的基礎(chǔ)上通過引入信任度與懲罰機制來減少通信量。以上通過信任度限制投標(biāo)Agent的數(shù)量容易引起Agent的過度損耗。針對復(fù)雜多變環(huán)境中Agent任務(wù)分配效率低的問題,文獻[18]將代價最小、效能最大作為任務(wù)分配的目標(biāo),并限制了允許分配的最大任務(wù)數(shù),以減小計算的復(fù)雜度,該方案可優(yōu)化任務(wù)分配的效能與系統(tǒng)計算復(fù)雜度,但并未優(yōu)化任務(wù)分配粒度的選擇依據(jù);文獻[19]通過將承諾期限加入合同網(wǎng)來適應(yīng)任務(wù)環(huán)境的動態(tài)變化;文獻[20]從協(xié)商目標(biāo)、協(xié)商協(xié)議、協(xié)商策略和協(xié)商處理4個方面建立擴展的合同網(wǎng)模型理論。以上方案增加了Agent群任務(wù)分配的靈活性與魯棒性,但并未考慮采用合同網(wǎng)算法進行任務(wù)分配時通信量對系統(tǒng)負載的影響。
本文建立分層混合式Agent群體系架構(gòu),將蟻群算法的刺激響應(yīng)模型與傳統(tǒng)合同網(wǎng)算法相結(jié)合,建立自適應(yīng)招標(biāo)策略,并改進刺激響應(yīng)模型中的響應(yīng)閾值設(shè)計方法與刺激量動態(tài)更新函數(shù),以減少合同網(wǎng)算法任務(wù)分配時對系統(tǒng)的通信負載,提高Agent群任務(wù)分配的整體效益。
數(shù)字生態(tài)循環(huán)農(nóng)業(yè)農(nóng)場中農(nóng)業(yè)Agent的多元異構(gòu)傳感信息融合、避障導(dǎo)航、路徑規(guī)劃等復(fù)雜功能均被轉(zhuǎn)移到云平臺與邊緣服務(wù)器,農(nóng)業(yè)Agent只需配備簡單的網(wǎng)絡(luò)設(shè)備和基本的傳感器就可以完成復(fù)雜的服務(wù)任務(wù)。數(shù)字生態(tài)循環(huán)農(nóng)業(yè)即以云邊協(xié)同計算系統(tǒng)驅(qū)動農(nóng)業(yè)Agent工作以實現(xiàn)自動化運轉(zhuǎn)和智能化調(diào)節(jié)。
本文將集中式任務(wù)分配算法與分布式任務(wù)分配算法優(yōu)勢互補,在傳統(tǒng)合同網(wǎng)算法的基礎(chǔ)上建立基于云邊協(xié)同計算系統(tǒng)的分層混合式Agent群體系架構(gòu),如圖1所示。
在本架構(gòu)中,農(nóng)場工作人員通過云平臺人機交互界面下達耕、種、管、收、貯、運等工作任務(wù)的任務(wù)工作量與任務(wù)農(nóng)田工作區(qū)域等信息,云平臺繼而將某一工作屬性的系統(tǒng)級工作量均分至各邊緣服務(wù)器。
邊緣服務(wù)器在數(shù)字生態(tài)循環(huán)農(nóng)業(yè)農(nóng)場中的部署位置相比云平臺更靠近Agent端,故邊緣服務(wù)器控制Agent群開展農(nóng)情信息監(jiān)測、農(nóng)田全區(qū)域覆蓋等工作時具有更實時的信息傳輸速度。在異質(zhì)農(nóng)業(yè)Agent群任務(wù)分配的過程中各邊緣服務(wù)器作為管理者負責(zé)向Agent端中的Agent發(fā)布招標(biāo)信息以集中式架構(gòu)形成工作小組以及根據(jù)收到的招標(biāo)信息做出中標(biāo)決策,并與云平臺同步記錄及更新Agent熟人網(wǎng),包括Agent的工作效率、能耗、故障率、服務(wù)質(zhì)量、歷史任務(wù)量等數(shù)據(jù)。Agent端中各Agent作為合同者向上發(fā)送投標(biāo)信息。
Agent群在農(nóng)場工作過程中若出現(xiàn)Agent機械故障,或農(nóng)場工作人員臨時增加/取消農(nóng)田工作區(qū)域與臨時增加/縮短工作時限要求等問題時,可基于本文局部集中、全局分布的分層混合式Agent群體系架構(gòu)采用工作小組內(nèi)部調(diào)整、管理者間發(fā)布求助信息、云平臺重新規(guī)劃任務(wù)量等方式靈活地完成任務(wù)重分配過程。
基于蟻群算法的刺激響應(yīng)模型[21-23]設(shè)置自適應(yīng)招標(biāo)策略以限制投標(biāo)Agent的數(shù)量、減少系統(tǒng)的通信壓力。
(1)
管理者通過熟人網(wǎng)計算各合同者的響應(yīng)閾值,要求工作量Wd未被滿足之前不斷迭代增加刺激量強度,向響應(yīng)閾值小于刺激量的合同者發(fā)布招標(biāo)信息。
出于對農(nóng)場中可能出現(xiàn)惡劣天氣以及防止延誤農(nóng)作物農(nóng)時的考慮,數(shù)字生態(tài)循環(huán)農(nóng)業(yè)農(nóng)場中發(fā)布的工作任務(wù)通常具有任務(wù)時限要求H,而農(nóng)業(yè)Agent在農(nóng)場中時剩余電量使用時間te也動態(tài)變化,故合同者i在收到招標(biāo)信息之后,向管理者發(fā)送即時投標(biāo)信息,即te,管理者接收到投標(biāo)信息之后根據(jù)H以及熟人網(wǎng)記錄的合同者i的工作效率Ei,計算合同者i的理論工作量Wi為
(2)
(3)
式中o——第k次刺激量迭代中響應(yīng)閾值小于當(dāng)前刺激量的合同者
b——第k次刺激量迭代中響應(yīng)閾值小于當(dāng)前刺激量的第1個合同者
r——第k次刺激量迭代中響應(yīng)閾值小于當(dāng)前刺激量的最后1個合同者
Wo——合同者o的工作量
則當(dāng)前工作量偏差e(k)為
(4)
(5)
(6)
農(nóng)業(yè)Agent在農(nóng)場中的長期工作將導(dǎo)致Agent某些機械結(jié)構(gòu)耗損累積,隨之帶來其能耗的增加與服務(wù)質(zhì)量的下降,故合同者在早期工作中的能耗與服務(wù)質(zhì)量數(shù)據(jù)會很快過時。為保證管理者進行中標(biāo)決策時合理評估以上2種數(shù)據(jù)的可靠性,在邊緣服務(wù)器與云平臺的熟人網(wǎng)中建立合同者i工作次數(shù)為n(n∈[q,z])的時間矩陣
(7)
Vi——時間矩陣
用以記錄合同者i歷次為管理者a工作的時間節(jié)點,在此基礎(chǔ)上引入時變系數(shù)ω(n)的概念
(8)
4組參數(shù)取值范圍差異較大,為方便調(diào)節(jié)4個參數(shù)的權(quán)重,引入?yún)⒓舆^管理者a的任務(wù)的全部合同者ρ(ρ∈[l,m])的工作數(shù)據(jù),將除故障率之外的3組參數(shù)的值控制在0~1,則更新后的合同者i參加管理者a的任務(wù)的收益與代價為
(9)
(10)
(11)
(12)
(13)
其中
φ1+φ2+φ3+φ4=1
式中φ1、φ2、φ3、φ4——權(quán)重因子
(14)
(15)
其中
λ1+λ2=1
式中λ1、λ2——權(quán)重因子
(16)
刺激量的增加會引起WN的增加,但二者之間并無準(zhǔn)確的函數(shù)映射關(guān)系。刺激量增長速度過快則容易引起WN的嚴(yán)重超調(diào),意味著更多農(nóng)業(yè)Agent參加工作,導(dǎo)致Agent資源的浪費并增加了后期Agent群協(xié)同作業(yè)時多Agent全區(qū)域覆蓋、協(xié)同避碰的復(fù)雜度;刺激量增長速度過慢則降低算法的工作效率。本文通過引入PID算法自動控制的思想[25-27]設(shè)置刺激量的動態(tài)變化模型。
PID算法的工作流程圖如圖2所示。
其中以迭代次數(shù)k與迭代周期T的乘積代表連續(xù)時間t,S(t)表示經(jīng)過PID控制算法調(diào)整之后的刺激量輸出值,Wd與WN分別表示PID算法的給定值與測量值,刺激量更新公式為
(17)
式中T1——積分時間常數(shù)
TD——微分時間常數(shù)
Kp——比例增益
將式(17)離散化,其中積分作用通過偏差累積求和的形式代替,微分作用通過差分的形式代替,比例作用不變,即
(18)
(19)
離散化的刺激量更新公式為
S(k)=
(20)
其中
Ki=KpT/T1Kd=KpTD/T
式中Ki——積分增益Kd——微分增益
位置式PID算法的積分作用可以實現(xiàn)偏差累積用以消除穩(wěn)態(tài)誤差,而本系統(tǒng)中不會存在穩(wěn)態(tài)誤差,且積分作用太強會使系統(tǒng)超調(diào)加大。所以本文采用增量式PID算法,增量式PID算法的刺激量增量ΔS(k)只與前2次迭代的偏差有關(guān),故不存在偏差累積。
Δ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)
為避免超調(diào)量過大,設(shè)置積分項開關(guān)系數(shù)β,使得
ΔS(k)=Kp(e(k)-e(k-1))+βe(k)+
Kd(e(k)-2e(k-1)+e(k-2))
(23)
其中
(24)
式中ε——積分分離閾值
為方便調(diào)節(jié)PID算法的3個參數(shù),在式(23)的基礎(chǔ)上增加變量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)
本文設(shè)置分別包含20、40、100個Agent的3組Agent團隊,給定不同團隊規(guī)模下要求工作量(hm2)、任務(wù)時限要求(min)、各Agent參加任務(wù)的故障率(取值范圍:[0,1])、工作效率(hm2/h)、能耗(W)、服務(wù)質(zhì)量指標(biāo)(取值范圍:[0,100])、歷史任務(wù)量(hm2)等歷史數(shù)據(jù)以及剩余電量使用時間(min)。
算法仿真運行操作系統(tǒng)為Win10 1903,處理器為Intel(R)Pentium(R)CPU G2030 @ 3.00 GHz,采用Matlab軟件進行仿真實驗。
針對3.1節(jié)中定義的效能公式,選擇Agent群團隊為40個與100個時比較改進的合同網(wǎng)算法與傳統(tǒng)合同網(wǎng)算法的效能差異。
4種性能參數(shù)權(quán)重因子均取0.25,直接信任度與基于推薦的信任度權(quán)重因子均取0.5。每種團隊規(guī)模下要求工作量分別取該Agent團隊總理論工作量的75%、50%,即40個Agent時,要求工作量取26.1、17.4 hm2,100個Agent時,要求工作量取91.4、60.9 hm2。
定義任務(wù)分配結(jié)束后合同者s(s∈[g,?])的效能Us為
(27)
任務(wù)分配結(jié)束后的團隊整體效能U為
(28)
改進的合同網(wǎng)算法與傳統(tǒng)合同網(wǎng)算法在任務(wù)分配結(jié)束后整體效能如表1所示。
表1 不同Agent團隊規(guī)模與工作量下兩種算法的整體效能
由表1可以看出,Agent群團隊規(guī)模為40、要求工作量為團隊總理論工作量的75%時,改進的合同網(wǎng)算法相比傳統(tǒng)合同網(wǎng)算法的整體效能提高了21.5%,而在要求工作量為總工作量的50%時,整體效能則提高了41.1%,證明更低的要求工作量代表需要更少的Agent參與工作,本文設(shè)置的改進算法以及全局分布、局部集中的Agent架構(gòu)更能發(fā)揮尋找最優(yōu)解的優(yōu)勢。
在團隊規(guī)模為100個、要求工作量為團隊總理論工作量的75%時,改進算法相比傳統(tǒng)算法的整體效能提高了55.5%,而在要求工作量為總理論工作量的50%時,則提高了83.1%。兩組數(shù)據(jù)均高于團隊規(guī)模為40個時的21.5%與41.1%,證明在Agent規(guī)模逐漸增大時本文設(shè)置的算法改進方案具有更佳的尋優(yōu)能力。
選擇Agent團隊規(guī)模為40個,要求工作量設(shè)置為26.7 hm2,迭代次數(shù)為500。通過調(diào)試不同的PID參數(shù),觀察一個管理者進行招標(biāo)時團隊工作量變化曲線,選擇收斂性最好、超調(diào)量最低的PID參數(shù)。將第1組PID參數(shù)設(shè)置為:KP=0.1,KI=0.1,KD=0.1;第2組PID參數(shù):KP=1,KI=1,KD=1;第3組PID參數(shù):KP=1,KI=2,KD=1。Agent團隊的工作量變化曲線如圖3所示,積分作用過高導(dǎo)致第3組參數(shù)出現(xiàn)超調(diào)的現(xiàn)象,故降低積分作用,將第4組PID參數(shù)設(shè)置為KP=1,KI=1.5,KD=1,此時的工作量曲線在迭代前收斂,收斂性能較第2組曲線提高了50%,且未出現(xiàn)超調(diào)的現(xiàn)象。
如圖4所示,將PID參數(shù)分別設(shè)置為1、3、1,則出現(xiàn)工作量超調(diào)的現(xiàn)象,此時引入積分分離閾值,設(shè)ε=20,則工作量曲線在第37次迭代時提前收斂,Agent團隊總工作量未達到工作量要求;將ε設(shè)置為工作量的1/5,即ε=8,此時工作量未出現(xiàn)超調(diào)現(xiàn)象,且在第73次迭代時即收斂。
選擇Agent團隊規(guī)模為100個,將要求工作量設(shè)置為46.7 hm2,PID參數(shù)KP、KI、KD分別為1、3、1,積分分離閾值同樣為工作量的1/5,即ε=14,工作量變化曲線如圖4所示,工作量超調(diào)量與迭代速度均為理想效果,證明本文設(shè)置的PID參數(shù)以及積分分離閾值設(shè)計方法對于不同Agent團隊規(guī)模以及要求工作量具有普遍適應(yīng)性。
圖4中ε=8時Matlab程序運行時間為0.059 s,以此運行時間為準(zhǔn),額外設(shè)置3組簡單的刺激量更新函數(shù),對比其自動控制效果與PID控制算法的優(yōu)劣。3組函數(shù)的設(shè)置方法為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種刺激量更新函數(shù)的比較
由表2可以看出,本文設(shè)置的基于PID控制算法的刺激量動態(tài)更新函數(shù)在超調(diào)量方面均優(yōu)于另外3組函數(shù),且收斂時的迭代次數(shù)分別比額外設(shè)置的第1組函數(shù)與第3組函數(shù)降低了84.3%與84.8%,第2組函數(shù)雖收斂速度很快,但超調(diào)量與通信量皆是4組函數(shù)中最高的。此外,多次調(diào)節(jié)3組函數(shù)的系數(shù)效果均不理想。
給定3種Agent群團隊規(guī)模下系統(tǒng)要求工作量分別為7.0、26.7、46.7 hm2,在改進的合同網(wǎng)算法中設(shè)置7個管理者A~G。
以算法運行時間一致來制定改進的合同網(wǎng)算法與傳統(tǒng)合同網(wǎng)算法的各種參數(shù),2種算法Agent團隊通信量如表3所示。
表3 不同Agent團隊規(guī)模下2種算法的通信量
由表3可以看出,傳統(tǒng)合同網(wǎng)算法的通信量隨著Agent團隊規(guī)模的增大而急劇上升,改進的合同網(wǎng)算法的通信量在不同Agent團隊規(guī)模下分別比傳統(tǒng)合同網(wǎng)算法減少了49.1%、63.7%、72.4%,在Agent團隊規(guī)模2次增大的過程中,改進的合同網(wǎng)算法的通信量增長速度分別是傳統(tǒng)合同網(wǎng)算法的0.477倍與0.476倍,由此可見,改進的合同網(wǎng)算法在面對更大問題規(guī)模時系統(tǒng)通信量更少,通信量增長速度更慢。
在農(nóng)場農(nóng)業(yè)生產(chǎn)過程中,通過搭載RMONCAM HD600型紅外攝像頭的信息采集Agent在農(nóng)田中遍歷,可采集農(nóng)田中農(nóng)作物不同生長階段的生長狀況與病蟲害信息。本文通過山東理工大學(xué)與淄博禾豐種業(yè)公司合作共建的數(shù)字生態(tài)循環(huán)農(nóng)業(yè)農(nóng)場中的農(nóng)田信息采集農(nóng)業(yè)Agent進行任務(wù)分配與實地全遍歷實驗,實驗地點為山東理工大學(xué)圖書館南側(cè)草坪。
本實驗的要求工作量為0.8 hm2,工作時限要求為30 min。通過改進的合同網(wǎng)算法從現(xiàn)有10臺信息采集Agent中選擇出4個Agent參加工作,任務(wù)分配4種性能參數(shù)權(quán)重因子均取0.25,直接信任度與基于推薦的信任度權(quán)重因子均取0.5;PID參數(shù)KP、KI、KD分別設(shè)置為1、3、1,積分分離閾值取8。改進的合同網(wǎng)算法與傳統(tǒng)合同網(wǎng)算法對本實驗的任務(wù)分配結(jié)果對比如表4所示。
表4 實驗任務(wù)分配結(jié)果對比
由表4可知,本次任務(wù)分配實驗中改進的合同網(wǎng)算法的通信量與工作量超調(diào)量較傳統(tǒng)合同網(wǎng)算法減少了70.0%與20.2%,整體效能相比傳統(tǒng)合同網(wǎng)算法增加了14.1%。
4個Agent工作效率分別為0.54、0.39、0.43、0.47 hm2/h,各Agent工作量與Agent團隊實時工作數(shù)據(jù)通過云平臺人機交互界面呈現(xiàn),如圖6所示。
其中4個Agent的投標(biāo)信息中剩余電量使用時間均大于本實驗的時限要求;各Agent均搭載工作視角為120°的攝像頭,因各Agent中攝像頭安裝高度不同,故本實驗通過調(diào)節(jié)攝像頭的安裝角保證4個Agent的對地工作范圍均為1 m。根據(jù)任務(wù)分配結(jié)果以及本團隊前期研究成果——復(fù)雜環(huán)境下異質(zhì)農(nóng)業(yè)機器人群全區(qū)域覆蓋方案劃分各Agent工作區(qū)域。
4個農(nóng)田信息采集Agent的實地實驗如圖7所示,①~④對應(yīng)Agent 1~4。
各Agent從起點(整體工作區(qū)域左下角頂點)出發(fā),以最短的距離進入其工作區(qū)域,并在完成對其工作區(qū)域的全覆蓋之后以最短的距離駛出工作區(qū)域且返回至起點。通過各信息采集Agent實時回傳至云平臺的工作信息統(tǒng)計各Agent的實際遍歷面積、對原定工作區(qū)域的覆蓋率、面積重復(fù)率以及完成任務(wù)的實際工作時間如表5所示。其中實際遍歷面積表示Agent從進入草坪至駛出草坪全過程中遍歷的面積;覆蓋率表示Agent遍歷全過程中遍歷的區(qū)域?qū)υüぷ鲄^(qū)域的覆蓋程度;面積重復(fù)率表示實際遍歷面積與原定工作量的重復(fù)程度;實際工作時間為Agent從起點至遍歷完其工作區(qū)域經(jīng)歷的時間。
表5 各Agent工作數(shù)據(jù)統(tǒng)計
本文通過式(5)根據(jù)各Agent的理論工作量計算其實際工作量,則Agent實際工作量小于等于理論工作量,故各Agent遍歷時若無路徑重復(fù)或路徑重復(fù)率較低,則可能出現(xiàn)表5中實際工作時間小于時限要求的情況。由表5可以看出,參加工作的各Agent均能實現(xiàn)對各自工作區(qū)域的100%覆蓋,且均能在要求的工作時間內(nèi)完成遍歷任務(wù)。
(1)通過建立Agent群團隊的收益與代價模型,將農(nóng)業(yè)Agent在能耗、故障率、歷史任務(wù)量以及服務(wù)質(zhì)量方面的差異映射到Agent動態(tài)信任度模型與響應(yīng)閾值設(shè)計方法中,以實現(xiàn)團隊整體效能的最優(yōu)。結(jié)果表明,在不同要求工作量下,團隊規(guī)模為40個時,改進的合同網(wǎng)算法相比傳統(tǒng)合同網(wǎng)算法的整體效能分別提高了21.5%、41.1%,在團隊規(guī)模為100個時,改進的合同網(wǎng)算法相比傳統(tǒng)合同網(wǎng)算法的整體效能分別提高了55.5%、83.1%。任務(wù)分配實驗結(jié)果表明,改進的合同網(wǎng)算法比傳統(tǒng)合同網(wǎng)算法的整體效能提高了14.1%。
(2)結(jié)合合同網(wǎng)招標(biāo)過程定義增量式PID算法的輸出值、給定值與測量值,研究基于增量式PID算法的刺激量動態(tài)更新函數(shù),并通過引入積分開關(guān)項系數(shù)與積分分離閾值降低工作量、超調(diào)量及收斂時的迭代次數(shù)。結(jié)果表明,本文設(shè)置的刺激量動態(tài)更新函數(shù)的綜合性能優(yōu)于額外設(shè)置的3組函數(shù),且改進的合同網(wǎng)算法的通信量在不同Agent團隊規(guī)模下分別比傳統(tǒng)合同網(wǎng)算法減少了49.1%、63.7%、72.4%。驗證實驗表明,改進的合同網(wǎng)算法比傳統(tǒng)合同網(wǎng)算法的通信量、工作量超調(diào)量分別減少了70.0%、20.2%。實地全遍歷實驗表明,Agent群能夠在規(guī)定的時限要求內(nèi)完成對工作區(qū)域的100%覆蓋。