基于动态刺激响应模型的异质农业Agent群任务分配策略
2021-06-09宫金良张彦斐兰玉彬
宫金良 王 伟 张彦斐 兰玉彬
(1.山东理工大学机械工程学院,淄博 255000;2.山东理工大学农业工程与食品科学学院,淄博 255000)
0 引言
数字生态循环农业农场以其生态化保护、无人化作业、精准化种养、智能化决策的特点将成为未来农业发展的主流方向[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群任务分配的整体效益。
1 分层混合式Agent群体系架构
数字生态循环农业农场中农业Agent的多元异构传感信息融合、避障导航、路径规划等复杂功能均被转移到云平台与边缘服务器,农业Agent只需配备简单的网络设备和基本的传感器就可以完成复杂的服务任务。数字生态循环农业即以云边协同计算系统驱动农业Agent工作以实现自动化运转和智能化调节。
本文将集中式任务分配算法与分布式任务分配算法优势互补,在传统合同网算法的基础上建立基于云边协同计算系统的分层混合式Agent群体系架构,如图1所示。
在本架构中,农场工作人员通过云平台人机交互界面下达耕、种、管、收、贮、运等工作任务的任务工作量与任务农田工作区域等信息,云平台继而将某一工作属性的系统级工作量均分至各边缘服务器。
边缘服务器在数字生态循环农业农场中的部署位置相比云平台更靠近Agent端,故边缘服务器控制Agent群开展农情信息监测、农田全区域覆盖等工作时具有更实时的信息传输速度。在异质农业Agent群任务分配的过程中各边缘服务器作为管理者负责向Agent端中的Agent发布招标信息以集中式架构形成工作小组以及根据收到的招标信息做出中标决策,并与云平台同步记录及更新Agent熟人网,包括Agent的工作效率、能耗、故障率、服务质量、历史任务量等数据。Agent端中各Agent作为合同者向上发送投标信息。
Agent群在农场工作过程中若出现Agent机械故障,或农场工作人员临时增加/取消农田工作区域与临时增加/缩短工作时限要求等问题时,可基于本文局部集中、全局分布的分层混合式Agent群体系架构采用工作小组内部调整、管理者间发布求助信息、云平台重新规划任务量等方式灵活地完成任务重分配过程。
2 自适应招标策略与中标决策
2.1 基于蚁群算法的自适应招标策略
基于蚁群算法的刺激响应模型[21-23]设置自适应招标策略以限制投标Agent的数量、减少系统的通信压力。
(1)
管理者通过熟人网计算各合同者的响应阈值,要求工作量Wd未被满足之前不断迭代增加刺激量强度,向响应阈值小于刺激量的合同者发布招标信息。
2.2 中标决策
出于对农场中可能出现恶劣天气以及防止延误农作物农时的考虑,数字生态循环农业农场中发布的工作任务通常具有任务时限要求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)
3 动态响应阈值设计方法与刺激量更新函数
3.1 基于Agent异质性的响应阈值设计
(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)
3.2 基于PID控制的刺激量动态更新函数
刺激量的增加会引起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)
4 算法仿真与实验验证
本文设置分别包含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软件进行仿真实验。
4.1 改进的合同网算法的效能仿真
针对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规模逐渐增大时本文设置的算法改进方案具有更佳的寻优能力。
4.2 PID参数调节
选择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组函数的系数效果均不理想。
4.3 2种算法的通信量比较
给定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倍,由此可见,改进的合同网算法在面对更大问题规模时系统通信量更少,通信量增长速度更慢。
4.4 实验验证
在农场农业生产过程中,通过搭载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%覆盖,且均能在要求的工作时间内完成遍历任务。
5 结论
(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%覆盖。