CN110442134A - 一种基于双层网络的多智能体群集控制方法 - Google Patents

一种基于双层网络的多智能体群集控制方法 Download PDF

Info

Publication number
CN110442134A
CN110442134A CN201910706421.9A CN201910706421A CN110442134A CN 110442134 A CN110442134 A CN 110442134A CN 201910706421 A CN201910706421 A CN 201910706421A CN 110442134 A CN110442134 A CN 110442134A
Authority
CN
China
Prior art keywords
intelligent body
speed
current intelligent
current
desired speed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910706421.9A
Other languages
English (en)
Other versions
CN110442134B (zh
Inventor
方浩
刘得明
陈杰
商成思
杨庆凯
曾宪琳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Technology
Beijing Institute of Technology BIT
Original Assignee
Beijing University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Technology filed Critical Beijing University of Technology
Priority to CN201910706421.9A priority Critical patent/CN110442134B/zh
Publication of CN110442134A publication Critical patent/CN110442134A/zh
Application granted granted Critical
Publication of CN110442134B publication Critical patent/CN110442134B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0291Fleet control
    • G05D1/0295Fleet control by at least one leading vehicle of the fleet

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Feedback Control In General (AREA)

Abstract

本发明提供一种基于双层网络的多智能体群集控制方法,设计了双层网络,智能体通过上层网络分布式地估计自身的期望速度,操作员的输入能够通过上层网络进行操作员操作意图的前馈,影响每个智能体的期望速度的估计过程;然后通过传递各自的期望速度,通过下层网络快速计算出各自的实际速度和实际运动方向,实现各智能体的速度一致、距离保持、跟随人的输入进行运动;由此可见,本发明中的每个智能体更早地意识到集群的运动趋势,将人的控制意图更快地传给整个多智能体系统,能够提高多智能体系统对输入的响应,保证了操作员的操作效率,还降低了操作员的精力损耗,降低了多智能体系统的人机比例,从而降低了任务人工成本。

Description

一种基于双层网络的多智能体群集控制方法
技术领域
本发明属于多智能体控制技术领域,尤其涉及一种基于双层网络的多智能体群集控制方法。
背景技术
智能交通、多模式能源、物流仓储、多机械臂生产制造,以及信息化战场等都可视为分布式多智能体系统的典型应用,协同控制因其高效、鲁棒、经济等特点,成为解决上述问题的有效途径。随着机器人技术的发展,机器人自身虽然具有一定程度的自主能力,但是智能体仍然在感知、通讯、运动、规划上面有局限性。因此实际生产中,仍然需要操作员对其行为进行监控和干预。有人干预下的多智能体系统,蕴含着需要大量人工干预、系统稳定性无法得到切实保证、多体系统对输入响应变差的诸多问题。因此对人机交互方式的研究成为了近期研究热点。
群集(flocking)是自然中非常常见的一种运动。如鸟类的迁徙、鱼群的捕食等等,他们在有限的时间内建立有序的结构而没有发生碰撞。群集运动在多传感器网络自组织初始、多无人机协同侦察等任务中具有非常重要的作用。
针对传统有人干预下多智能体系统,以实现多智能体群集运动为任务,现有的解决方案主要有以下几种:
方案1:文献(R.Olfati-Saber.Flocking for multi-agent dynamic systems:algorithms and theory.IEEE Transactions on Automatic Control,51(3):401–420,March 2006.)和文献(D.Gu,Z.Wang,Leader-Follower flocking:algorithms andexperiments,IEEE Trans.Control Syst.Technol.17(5)(2009)1211–1219)提出了领航跟随方法,用于解决操作员通过控制少量领航员的方式,实现对整体的群集控制,降低了人机比例。但是此方法主要存在两个问题:首先操作员只直接控制领航者,其他跟随者是由于与邻居之间的物理状态偏差才运动的,当邻居的物理状态(例如速度)发生变化时,跟随者才会进行响应,这造成了系统对人输入响应速度慢的问题。其次,在控制任务中操作员直接对领航者进行控制,如果操作员不小心,失误很容易直接给整体系统,例如在多障碍的复杂环境中,操作员可能会由于失误给出撞上障碍的控制量,当操作员意识到失误并进行纠错时,由于跟随者对操作员的纠错行为响应慢,造成系统执行操作任务不安全的问题。
方案2:文献(A.Clark,B.Alomair,L.Bushnell,and R.Poovendran.Minimizingconvergence error in multi-agent systems via leader selection:A supermodularoptimization approach.IEEE Transactions on Automatic Control,59(6):1480–1494,June 2014.)中,Clark等人给出了基于平方误差准则的静态、时变网络下的集中式领航者选取算法。还有很多学者研究了其他指标下的领航者选取的方法。通过在节点中选取领航者,保证整个集群对人的输入的响应更快。文献(R.Olfati-Saber andP.Jalalkamali.Coupled distributed estimation and control for mobile sensornetworks.IEEE Transactions on Automatic Control,57(10):2609–2614,Oct 2012.)提出了在底层的上端增加估计器的方式。但是这两种方法中,跟随者仍然是由于与邻居之间的物理状态偏差才运动的,不能迅速对人的输入进行响应。因此仍然有响应速度慢的局限性。
方案3:文献(Franchi C.Secchi H.I.Son H.H.Bülthoff P.R.Giordano"Bilateral teleoperation of groups of mobile robots with time-varyingtopology"IEEE Trans.Robotics vol.28no.5pp.1019-1033 2012.)提出一种双边遥控的方法,系统分为master和slave端。在master端,系统会对人有一个反馈。这样保证了人在控制的时候还可以感受到系统的状态。增加了系统的安全性。但是这种方法中,slave端的智能体仍然采用传统的leader-follower模型,仍然具有上面必然的响应问题。
发明内容
为解决上述问题,本发明提供一种基于双层网络的多智能体群集控制方法,每个智能体能更早地意识到集群的运动趋势,将人的控制意图更快地传给整个多智能体系统,能够提高多智能体系统对输入的响应,保证了操作员的操作效率。
一种基于双层网络的多智能体群集控制方法,应用于多智能体系统,所述多智能体系统包括多个智能体,且智能体的数量用N表示,所述方法包括以下步骤:
S1:随机选取一个智能体作为领航者,剩余智能体作为跟随者,且跟随者均能通过自身或多个其他智能体与所述领航者进行通信;
S2:分别将各智能体作为当前智能体,再根据基于P估计器的上层网络分别获取各智能体的期望速度,其中,所述上层网络的表达式为:
其中,ki、λ、aij、fi、γi为设定系数,xi表示当前智能体的期望速度,i=1,2,3…,N,xj表示当前智能体的邻居的期望速度,j=1,2,3…,NI,NI为当前智能体的邻居的个数,表示当前智能体的期望加速度,pi表示当前智能体的实际速度,ui表示输入到当前智能体的设定加速度,其中,若当前智能体为领航者,则ui为外部用户输入,若当前智能体为跟随者,则ui为0;
S3:将上层网络获取的各智能体的期望速度输入到基于设定群集控制率的下层网络,更新各智能体的实际速度和实际运动方向;
S4:将步骤S3中获取的各智能体的实际速度代替步骤S2中的实际速度pi,再根据更新后的实际速度重复步骤S2~S3,从而实现多智能体群集控制。
进一步地,一种基于双层网络的多智能体群集控制方法,每获取一次期望速度,就完成一个速度获取周期;
步骤S2中各智能体的期望速度具体获取方法为:
S21:将当前智能体的期望速度xi、当前智能体的邻居的期望速度xj以及当前智能体的实际速度pi初始化为0;
S22:将当前智能体的设定加速度ui代入上层网络的表达式,得到当前智能体的第一个速度获取周期的期望加速度
S23:将与当前智能体的期望速度xi的和值作为当前智能体下一个速度获取周期的期望速度x′i,其中,Δt为速度获取周期的设定时间间隔;同时,每个当前智能体下一个速度获取周期的期望速度x′i,也作为当前智能体在下一个速度获取周期中作为邻居时的期望速度x′j
S24:将更新后的x′i、x′j以及当前智能体的设定加速度ui重新代入的上层网络的表达式,得到当前智能体的第二个速度获取周期的期望加速度
S25:将与当前智能体的期望速度x′i的和值作为当前智能体下一个速度获取周期的期望速度x″i;同时,每个当前智能体下一个速度获取周期的期望速度x″i,也作为当前智能体在下一个速度获取周期中作为邻居时的期望速度x″j;依次类推,不断重复步骤S24~S25,得到当前智能体各速度获取周期对应的期望速度。
进一步地,步骤S3中所述将上层网络获取的各智能体的期望速度输入到基于设定群集控制率的下层网络,更新各智能体的实际速度和实际运动方向,具体为将各智能体分别作为当前智能体执行以下步骤:
S31:将当前智能体的期望速度xi代入如下公式:
其中,ci为设定系数,为反馈项;
S32:将反馈项代入如下公式:
其中,uHi为当前智能体的实际加速度,φα为多智能体系统做群集运动的人工势场,pj为当前智能体的邻居的实际速度;|| ||σ为σ范数;qi为当前智能体的位置,qj为当前智能体的邻居的位置;nij表示当前智能体qi指向当前智能体的邻居qj的方向,具体的:
其中,δ为σ范数的固定参数,且0<ε<1;
S33:将uHiΔt与当前智能体的实际速度pi的和值作为更新后的实际速度。
一种基于双层网络的多智能体群集控制方法,应用于多智能体系统,所述多智能体系统包括多个智能体,且智能体的数量用N表示,所述方法包括以下步骤:
S1:随机选取一个智能体作为领航者,剩余智能体作为跟随者,且跟随者均能通过自身或多个其他智能体与所述领航者进行通信;
S2:分别将各智能体作为当前智能体,再根据基于PI估计器的上层网络分别获取各智能体的期望速度,其中,所述上层网络的表达式为:
其中,ki、aij、fi、γi、λ、dij为设定系数,xi表示当前智能体的期望速度,ωi表示当前智能体的估计误差,i=1,2,3…,N,xj表示当前智能体的邻居的期望速度,ωj表示当前智能体的邻居的估计误差,j=1,2,3…,NI,NI为当前智能体的邻居的个数,表示当前智能体的期望加速度,表示当前智能体估计误差的变化率,pi表示当前智能体的实际速度,ui表示输入到当前智能体的设定加速度,其中,若当前智能体为领航者,则ui为外部用户输入,若当前智能体为跟随者,则ui为0;
其中,当前智能体估计误差的变化率表达式为:
S3:将上层网络获取的各智能体的期望速度输入到基于设定群集控制率的下层网络,更新各智能体的实际速度和实际运动方向;
S4:将步骤S3中获取的各智能体的的实际速度代替步骤S2中的实际速度pi,再根据更新后的实际速度重复步骤S2~S3,从而实现多智能体群集控制。
进一步地,一种基于双层网络的多智能体群集控制方法,每获取一次期望速度,就完成一个速度获取周期;
步骤S2中各智能体的期望速度具体获取方法为:
S21:将当前智能体的期望速度xi、当前智能体的邻居的期望速度xj、当前智能体的实际速度pi、当前智能体的估计误差ωi以及当前智能体的邻居的估计误差ωj初始化为0;
S22:将当前智能体的期望速度xi和当前智能体的邻居的期望速度xj代入到估计误差的变化率表达式,得到当前智能体的第一个速度获取周期的估计误差变化率
S23:将当前智能体的设定加速度ui代入上层网络的表达式,得到当前智能体的第一个速度获取周期的期望加速度
S24:将与当前智能体的期望速度xi的和值作为当前智能体下一个速度获取周期的期望速度x′i,其中,Δt为速度获取周期的设定时间间隔;同时,每个当前智能体下一个速度获取周期的期望速度x′i,也作为当前智能体在下一个速度获取周期中作为邻居时的期望速度x′j
S25:将与当前智能体的估计误差ωi的和值作为当前智能体下一个速度获取周期的估计误差ω′i;同时,每个当前智能体下一个速度获取周期的估计误差ω′i,也作为当前智能体在下一个速度获取周期中作为邻居时的估计误差ω′j
S26:将更新后的x′i和x′j、更新后的ω′i和ω′j以及当前智能体的设定加速度ui重新代入上层网络的表达式,得到当前智能体的第二个速度获取周期的期望加速度
S27:将与当前智能体的期望速度x′i的和值作为当前智能体下一个速度获取周期的期望速度x″i;同时,每个当前智能体下一个速度获取周期的期望速度x″i,也作为当前智能体在下一个速度获取周期中作为邻居时的期望速度x″j;依次类推,不断重复步骤S24~S26,得到当前智能体各速度获取周期对应的期望速度。
进一步地,步骤S3中所述将上层网络获取的各智能体的期望速度输入到基于设定群集控制率下层网络,更新各智能体的实际速度和实际运动方向,具体为将各智能体分别作为当前智能体执行以下步骤:
S31:将当前智能体的期望速度xi代入如下公式:
其中,ci为设定系数,为反馈项;
S32:将反馈项代入如下公式:
其中,uHi为当前智能体的实际加速度,φα为多智能体系统做群集运动的人工势场,pj为当前智能体的邻居的实际速度;|| ||σ为σ范数;qi为当前智能体的位置,qj为当前智能体的邻居的位置;nij表示当前智能体qi指向当前智能体的邻居qj的方向,具体的:
其中,δ为σ范数的固定参数,且0<ε<1;
S33:将uHiΔt与当前智能体的实际速度pi的和值作为更新后的实际速度。
有益效果:
本发明提供一种基于双层网络的多智能体群集控制方法,设计了双层网络,智能体通过上层网络分布式地估计自身的期望速度,操作员的输入能够通过上层网络进行操作员操作意图的前馈,影响每个智能体的期望速度的估计过程;然后通过传递各自的期望速度,通过下层网络快速计算出各自的实际速度和实际运动方向,实现各智能体的速度一致、距离保持、跟随人的输入进行运动;
由此可见,本发明中的每个智能体更早地意识到集群的运动趋势,将人的控制意图更快地传给整个多智能体系统,能够提高多智能体系统对输入的响应,保证了操作员的操作效率;本发明不像传统群集控制方法中智能体的运动由邻居的物理状态的改变而引起,即只有邻居移动,智能体检测到相对位置发生变化之后,才会进行运动;因此,本发明的群集控制方法响应更快,当操作员失误后进行纠错时,集群能够快速响应操作员的纠错输入,增强了系统的安全性;此外,本发明中操作员只需要直接对领航者进行控制,降低了操作员的精力损耗,降低了多智能体系统的人机比例,从而降低了任务人工成本。
附图说明
图1为本发明提供的一种基于双层网络的多智能体群集控制方法的流程图;
图2为本发明双层网络的分层结构示意图;
图3为本发明提供的另一种基于双层网络的多智能体群集控制方法的流程图;
图4为本发明提供的采用基于双层网络的多智能体群集控制方法的集群做群集运动的示意图;
图5为本发明提供的两种双层网络群集控制方法与传统群集控制方法的运动距离对比图;
图6为本发明提供的双层网络群集控制方法与传统领航跟随算法的运动对比示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
实施例一
参见图1,该图为本实施例提供的一种基于双层网络的多智能体群集控制方法的流程图。一种基于双层网络的多智能体群集控制方法,应用于多智能体系统,所述多智能体系统包括多个智能体,且智能体的数量用N表示,如图2所示为双层网络的分层结构示意图。
所述方法包括以下步骤:
S1:随机选取一个智能体作为领航者,剩余智能体作为跟随者,且跟随者均能通过自身或多个其他智能体与所述领航者进行通信;
需要说明的是,本实施例考虑由N个智能体,如机器人组成的多智能体系统在二维平面上运动,其动力学模型考虑成二阶模型,即
其中,q表示智能体的位置,p表示智能体的速度,u为人的输入。与连续模型相比,使用基于粒子的集群模型的好处是,不能将智能体之间的感知、通信和计算问题视为理所当然的。
对于智能体之间的拓扑通信问题,主要考虑通讯半径:每个智能体有一个固定的通讯半径,只能感知到该半径以内的智能体,并与之通讯,不能获取到其他不在范围内的智能体的信息。每个智能体只利用自身信息和邻居信息进行计算,形成整个分布式控制算法,其中,对于每个智能体来说,其邻居为处于该智能体通信半径范围内的智能体。由此可见,多智能体系统之间形成的通讯拓扑是一个如下时变拓扑:
ε(q)={(i,j)∈ε:||qj-qi||<r}
其中,ε(q)表示拓扑联通图中的边,i,j表示该边相连的两个节点,即智能体。
某个智能体i的邻居集合Ni
Ni={j∈V:||qj-qi||<r}
相比于传统算法的人输入直接到物理层(直接影响机器人的物理运动),在本实施例中,将人的输入仅传给多智能体系统的节点i,节点i所表示的节点为随机设定的领航者。操作员只直接控制节点i,由于多智能体系统中存在最小生成树,因此其他节点通过通讯可以跟随到操作员的输入信息。
S2:分别将各智能体作为当前智能体,再根据基于P估计器的上层网络分别获取各智能体的期望速度,其中,所述上层网络的表达式为:
其中,ki、λ、aij、fi、γi为设定系数,xi表示当前智能体的期望速度,i=1,2,3…,N,xj表示当前智能体的邻居的期望速度,j=1,2,3…,NI,NI为当前智能体的邻居的个数,表示当前智能体的期望加速度,pi表示当前智能体的实际速度,ui表示输入到当前智能体的设定加速度,其中,若当前智能体为领航者,则ui为外部用户输入,若当前智能体为跟随者,则ui为0;
需要说明的是,上层网络的表达式中,等式右边第一项用于追踪自身速度,使各个智能体能够估计到自身的速度,第二项是估计一致项,使当前智能体i的估计能够与邻居的估计保持一致,第三项为阻尼项,帮助更快进行收敛,第四项为人的输入项,用于追踪人的输入信号;同时,上层网络的表达式左边是加速度,右边是速度的变化量,可以认为是在数值上在计算加速度的值等于多少,不用考虑量纲。
此外,第一项中的ki(λpi-xi)使用了智能体真实的物理速度,这个物理量除了初始化时为0外,在后续计算过程中是从下层网络中获得的。这种设计使上层网络和下层网络之间存在耦合,上层网络利用了下层网络的速度信息,下层网络也利用了上层网络估计出来的速度信息,从而有效增强了多智能体系统拓扑的连通性。
进一步地,每获取一次期望速度,就完成一个速度获取周期;
本步骤中各智能体的期望速度具体获取方法为:
S21:将当前智能体的期望速度xi、当前智能体的邻居的期望速度xj以及当前智能体的实际速度pi初始化为0;
S22:将当前智能体的设定加速度ui代入上层网络的表达式,得到当前智能体的第一个速度获取周期的期望加速度
S23:将与当前智能体的期望速度xi的和值作为当前智能体下一个速度获取周期的期望速度x′i,其中,Δt为速度获取周期的设定时间间隔;同时,每个当前智能体下一个速度获取周期的期望速度x′i,也作为当前智能体在下一个速度获取周期中作为邻居时的期望速度x′j
S24:将更新后的x′i、x′j以及当前智能体的设定加速度ui重新代入的上层网络的表达式,得到当前智能体的第二个速度获取周期的期望加速度
S25:将与当前智能体的期望速度x′i的和值作为当前智能体下一个速度获取周期的期望速度x″i;同时,每个当前智能体下一个速度获取周期的期望速度x″i,也作为当前智能体在下一个速度获取周期中作为邻居时的期望速度x″j;依次类推,不断重复步骤S24~S25,得到当前智能体各速度获取周期对应的期望速度;
需要说明的是,每个智能体的速度获取周期是同步进行的,也就是说再每个速度获取周期中,各智能体均要对自身的期望速度进行更新,并且每个智能体除了作为当前智能体,同时还是其他智能体的邻居,因此,在每个智能体以当前智能体的身份更新自身的期望速度时,其作为其他智能体的邻居时对应的期望速度也进行了同步的更新;例如,在第二个速度获取周期开始前,各智能体已经完成了第一个速度获取周期中期望速度的更新,则第二个速度获取周期中计算当前智能体的期望速度时所采用的邻居的期望速度,已经是第一个速度周期中,各智能体以当前智能体的身份更新后的期望速度。
S3:将上层网络获取的各智能体的期望速度输入到基于设定群集控制率的下层网络,更新各智能体的实际速度和实际运动方向;
进一步地,各智能体的实际速度和实际运动方向的获取方法为:
S31:将当前智能体的期望速度xi代入如下公式:
其中,ci为设定系数,为反馈项;
需要说明的是,为了能够更好的实现多智能体系统稳定的群集控制,本实施例中设定系数的选择最好满足2ki+2fi+2γi-ci>0,同时其中:
S32:将反馈项代入如下公式:
其中,uHi为当前智能体的实际加速度,φα为多智能体系统做群集运动的人工势场,pj为当前智能体的邻居的实际速度;|| ||σ为σ范数;qi为当前智能体的位置,qj为当前智能体的邻居的位置;nij表示当前智能体qi指向当前智能体的邻居qj的方向,具体的:
其中,δ为σ范数的固定参数,且0<ε<1;
需要说明的是,在基于设定群集控制率的下层网络中,第一项 是用于保持智能体与邻居的距离的控制量,第二项是用于保持智能体和邻居的速度一致的控制量,第三项是用于反馈的物理量;然而在传统的群集控制率中,第三项为其中,pe为每个智能体的期望速度,是一个全局信息;而在本实施例中,xi为上层网络的输出结果,用于保证智能体跟随人的输入信号做群集运动;由此可见,本实施例使用xi代替了传统算法中反馈的全局信息,使整体算法能够更好地分布式实现。
S33:将uHiΔt与当前智能体的实际速度pi的和值作为更新后的实际速度。
需要说明的是,由于步骤S2中上层网络获取的各智能体的期望速度为矢量,包括大小和方向,则将上层网络获取的各智能体的期望速度输入下层网络,得到的更新后的实际速度也为矢量,进而可以根据更新后的实际速度得到各智能体的实际运动方向。
S4:将步骤S3中获取的各智能体的实际速度代替步骤S2中的实际速度pi,再根据更新后的实际速度重复步骤S2~S3,从而实现多智能体群集控制。
由此可见,本实施例中各个智能体之间首先由通讯距离大小实现通讯拓扑结构,组成拓扑为时变拓扑。操作员输入直接传给上层网络的领航者;然后,上层网络根据多智能体的实际位置信息进行估计,估计出各智能体的期望速度;同时,由于有人的输入的存在,人能够直接影响估计过程,前馈到所有智能体,保证整个多智能体系统都对人的输入有迅速响应,提高了多智能体系统的响应速度,改善了操作员的操作效率;最后,下层网络能够利用上层网络的输出进行控制信号的生成,通过下层网络的控制率,实现智能体的速度一致、距离保持、跟随人的输入进行运动;因此,本实施例即使在通讯受限,机器规模庞大、人机比例低的情况下,也能从控制层面设计人机交互系统,使多个智能体之间通过相互通信,实现协作、更好地完成群集控制任务。
实施例二
采用以上实施例中基于P估计器的上层网络,能够快速实现多智能体群集控制。但为了更好的追踪输入信号,本实施例在基于P估计器的上层网络的基础上增加了对以往误差的积分项,即基于PI估计器构建上层网络。
参见图3,该图为本实施例提供的另一种基于双层网络的多智能体群集控制方法的流程图。一种基于双层网络的多智能体群集控制方法,应用于多智能体系统,所述多智能体系统包括多个智能体,且智能体的数量用N表示,所述方法包括以下步骤:
S1:随机选取一个智能体作为领航者,剩余智能体作为跟随者,且跟随者均能通过自身或多个其他智能体与所述领航者进行通信;
S2:分别将各智能体作为当前智能体,再根据基于PI估计器的上层网络分别获取各智能体的期望速度,其中,所述上层网络的表达式为:
其中,ki、aij、fi、γi、λ、dij为设定系数,xi表示当前智能体的期望速度,ωi表示当前智能体的估计误差,i=1,2,3…,N,xj表示当前智能体的邻居的期望速度,ωj表示当前智能体的邻居的估计误差,j=1,2,3…,NI,NI为当前智能体的邻居的个数,表示当前智能体的期望加速度,表示当前智能体估计误差的变化率,pi表示当前智能体的实际速度,ui表示输入到当前智能体的设定加速度,其中,若当前智能体为领航者,则ui为外部用户输入,若当前智能体为跟随者,则ui为0;
其中,当前智能体估计误差的变化率表达式为:
进一步地,每获取一次期望速度,就完成一个速度获取周期;
步骤S2中各智能体的期望速度具体获取方法为:
S21:将当前智能体的期望速度xi、当前智能体的邻居的期望速度xj、当前智能体的实际速度pi、当前智能体的估计误差ωi以及当前智能体的邻居的估计误差ωj初始化为0;
S22:将当前智能体的期望速度xi和当前智能体的邻居的期望速度xj代入到估计误差的变化率表达式,得到当前智能体的第一个速度获取周期的估计误差变化率
S23:将当前智能体的设定加速度ui代入上层网络的表达式,得到当前智能体的第一个速度获取周期的期望加速度
S24:将与当前智能体的期望速度xi的和值作为当前智能体下一个速度获取周期的期望速度x′i,其中,Δt为速度获取周期的设定时间间隔;同时,每个当前智能体下一个速度获取周期的期望速度x′i,也作为当前智能体在下一个速度获取周期中作为邻居时的期望速度x′j
S25:将与当前智能体的估计误差ωi的和值作为当前智能体下一个速度获取周期的估计误差ω′i;同时,每个当前智能体下一个速度获取周期的估计误差ω′i,也作为当前智能体在下一个速度获取周期中作为邻居时的估计误差ω′j
S26:将更新后的x′i和x′j、更新后的ω′i和ω′j以及当前智能体的设定加速度ui重新代入上层网络的表达式,得到当前智能体的第二个速度获取周期的期望加速度
S27:将与当前智能体的期望速度x′i的和值作为当前智能体下一个速度获取周期的期望速度x″i;同时,每个当前智能体下一个速度获取周期的期望速度x″i,也作为当前智能体在下一个速度获取周期中作为邻居时的期望速度x″j;依次类推,不断重复步骤S24~S26,得到当前智能体各速度获取周期对应的期望速度。
S3:将上层网络获取的各智能体的期望速度输入到基于设定群集控制率的下层网络,更新各智能体的实际速度和实际运动方向;
进一步地,各智能体的实际速度和实际运动方向的获取方法与上一实施例的获取方法相同,本实施例对此不作赘述。
S4:将步骤S3中获取的各智能体的的实际速度代替步骤S2中的实际速度pi,再根据更新后的实际速度重复步骤S2~S3,从而实现多智能体群集控制。
由此可见,虽然技术PI估计器的上层网络在设计上更为复杂,但是比基于P估计器的上层网络能够更好地追踪输入信号。使用以上两种基于估计器的上层网络,可以在每个智能体估计自身速度信息的同时,利用人的输入对估计过程进行干预,使每个智能体能够估计到自身的期望速度信息。干预的过程能够将人的输入前馈到整个多智能体系统中,以实现智能体对人的输入的迅速响应。
下面对使用不同上层网络的两个实施例进行仿真。为了更好的验证双层网络的可行性以及优越性,本发明进行了首先对基于P估计器的双层网络算法和基于PI估计器的双层网络算法进行了仿真,之后再进行对比仿真实验。由于不同估计器的内部,人的输入的意义有所不同:传统的群集运动中,人的输入直接影响领航者的物理运动过程,而双层网络中人的输入是对智能体的上层估计进行影响,输入大小相同时,不同多智能体系统对不同输入的响应不一样,所以不能够直接以相同的输入为参考进行对比试验。另一方面,可以通过对输入施加不同的放大,使操作员直接控制的领航者能够有相似的响应,而在领航者运动相似的情况下,不同的多智能体系统的跟随者的响应有所不同。因此,在对比实验中,本发明通过限定领航者的行为相似性,仿真整个集群的运动过程,判断双层网络算法的优越性。
具体的,本发明在上层网络的仿真中进行了20个智能体的仿真运动。智能体的初始化位置在x=[-30,-10],y=[0,10]之间,通讯半径为10。在运动过程中,设置下层网络的群集控制器中的人工势场为经典人工势场,控制率中的a=0.5,c=0.1。上层网络中的λ=1,使网络追踪系统本身的速度。a=0.5,γ=1。因为fx项可以提供系统的阻尼,可以使f=0.1,而把人的输入项中的-x项省略。在基于PI估计器的上层网络中,设置d=0.01。在系统完成群集编队后,使用手柄来对智能体系统进行干预。
图4所示为使用双层网络进行控制时,集群做群集运动示意图。仿真表明使用基于双层网络的人为干预下多智能体群集控制算法,能够有效完成任务。
图5所示内容为相同时间内,使用不同算法的系统中,集群向前运动的距离。从图5中可以看出,使用基于双层网络的估计器运动的距离更长,因为当领航者对人的输入响应相似时,使用双层网络的系统能够对领航者由更快的响应速度,整体系统运动更加迅速。当人的输入回到0时,使用基于P估计器的算法停下来的速度相对较慢,而传统算法中,群集系统会立刻停止运动。对比基于P估计器和PI估计器的效果时,可以看到当有人的输入时,使用基于PI估计器算法的系统响应更快,当人的输入回零时,系统运动速度也能够马上回零。所以使用基于PI估计器的算法,群集有更大的运动范围,系统更加稳定,人为干预过程更加便捷。
图6所示为150个控制周期之后的运动示意效果图。由图6可以看到在这个时刻,使用双层网络的集群仍然保持了拓扑连通性,而传统的算法中,由于领航者运动过快,跟随者没有马上响应,造成了领航者和集群其他节点的拓扑断开问题。
通过仿真验证,可以说明,使用基于双层网络的人为干预下多智能体系统群集控制算法,能够使操作员更便捷、更灵活、更迅速的从控制层面对多智能体系统进行运动干预,进而提升多智能体系统中人机协同的效率,提高系统的整体性能。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当然可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (6)

1.一种基于双层网络的多智能体群集控制方法,应用于多智能体系统,所述多智能体系统包括多个智能体,且智能体的数量用N表示,其特征在于,所述方法包括以下步骤:
S1:随机选取一个智能体作为领航者,剩余智能体作为跟随者,且跟随者均能通过自身或多个其他智能体与所述领航者进行通信;
S2:分别将各智能体作为当前智能体,再根据基于P估计器的上层网络分别获取各智能体的期望速度,其中,所述上层网络的表达式为:
其中,ki、λ、aij、fi、γi为设定系数,xi表示当前智能体的期望速度,i=1,2,3…,N,xj表示当前智能体的邻居的期望速度,j=1,2,3…,NI,NI为当前智能体的邻居的个数,表示当前智能体的期望加速度,pi表示当前智能体的实际速度,ui表示输入到当前智能体的设定加速度,其中,若当前智能体为领航者,则ui为外部用户输入,若当前智能体为跟随者,则ui为0;
S3:将上层网络获取的各智能体的期望速度输入到基于设定群集控制率的下层网络,更新各智能体的实际速度和实际运动方向;
S4:将步骤S3中获取的各智能体的实际速度代替步骤S2中的实际速度pi,再根据更新后的实际速度重复步骤S2~S3,从而实现多智能体群集控制。
2.如权利要求1所述的一种基于双层网络的多智能体群集控制方法,其特征在于,每获取一次期望速度,就完成一个速度获取周期;
步骤S2中各智能体的期望速度具体获取方法为:
S21:将当前智能体的期望速度xi、当前智能体的邻居的期望速度xj以及当前智能体的实际速度pi初始化为0;
S22:将当前智能体的设定加速度ui代入上层网络的表达式,得到当前智能体的第一个速度获取周期的期望加速度
S23:将与当前智能体的期望速度xi的和值作为当前智能体下一个速度获取周期的期望速度x′i,其中,Δt为速度获取周期的设定时间间隔;同时,每个当前智能体下一个速度获取周期的期望速度x′i,也作为当前智能体在下一个速度获取周期中作为邻居时的期望速度x′j
S24:将更新后的x′i、x′j以及当前智能体的设定加速度ui重新代入的上层网络的表达式,得到当前智能体的第二个速度获取周期的期望加速度
S25:将与当前智能体的期望速度x′i的和值作为当前智能体下一个速度获取周期的期望速度x″i;同时,每个当前智能体下一个速度获取周期的期望速度x″i,也作为当前智能体在下一个速度获取周期中作为邻居时的期望速度x″j;依次类推,不断重复步骤S24~S25,得到当前智能体各速度获取周期对应的期望速度。
3.如权利要求1所述的一种基于双层网络的多智能体群集控制方法,其特征在于,步骤S3中所述将上层网络获取的各智能体的期望速度输入到基于设定群集控制率的下层网络,更新各智能体的实际速度和实际运动方向,具体为将各智能体分别作为当前智能体执行以下步骤:
S31:将当前智能体的期望速度xi代入如下公式:
其中,ci为设定系数,为反馈项;
S32:将反馈项代入如下公式:
其中,uHi为当前智能体的实际加速度,φα为多智能体系统做群集运动的人工势场,pj为当前智能体的邻居的实际速度;|| ||σ为σ范数;qi为当前智能体的位置,qj为当前智能体的邻居的位置;nij表示当前智能体qi指向当前智能体的邻居qj的方向,具体的:
其中,δ为σ范数的固定参数,且0<ε<1;
S33:将uHiΔt与当前智能体的实际速度pi的和值作为更新后的实际速度。
4.一种基于双层网络的多智能体群集控制方法,应用于多智能体系统,所述多智能体系统包括多个智能体,且智能体的数量用N表示,其特征在于,所述方法包括以下步骤:
S1:随机选取一个智能体作为领航者,剩余智能体作为跟随者,且跟随者均能通过自身或多个其他智能体与所述领航者进行通信;
S2:分别将各智能体作为当前智能体,再根据基于PI估计器的上层网络分别获取各智能体的期望速度,其中,所述上层网络的表达式为:
其中,ki、aij、fi、γi、λ、dij为设定系数,xi表示当前智能体的期望速度,ωi表示当前智能体的估计误差,i=1,2,3…,N,xj表示当前智能体的邻居的期望速度,ωj表示当前智能体的邻居的估计误差,j=1,2,3…,NI,NI为当前智能体的邻居的个数,表示当前智能体的期望加速度,表示当前智能体估计误差的变化率,pi表示当前智能体的实际速度,ui表示输入到当前智能体的设定加速度,其中,若当前智能体为领航者,则ui为外部用户输入,若当前智能体为跟随者,则ui为0;
其中,当前智能体估计误差的变化率表达式为:
S3:将上层网络获取的各智能体的期望速度输入到基于设定群集控制率的下层网络,更新各智能体的实际速度和实际运动方向;
S4:将步骤S3中获取的各智能体的的实际速度代替步骤S2中的实际速度pi,再根据更新后的实际速度重复步骤S2~S3,从而实现多智能体群集控制。
5.如权利要求4所述的一种基于双层网络的多智能体群集控制方法,其特征在于,每获取一次期望速度,就完成一个速度获取周期;
步骤S2中各智能体的期望速度具体获取方法为:
S21:将当前智能体的期望速度xi、当前智能体的邻居的期望速度xj、当前智能体的实际速度pi、当前智能体的估计误差ωi以及当前智能体的邻居的估计误差ωj初始化为0;
S22:将当前智能体的期望速度xi和当前智能体的邻居的期望速度xj代入到估计误差的变化率表达式,得到当前智能体的第一个速度获取周期的估计误差变化率
S23:将当前智能体的设定加速度ui代入上层网络的表达式,得到当前智能体的第一个速度获取周期的期望加速度
S24:将与当前智能体的期望速度xi的和值作为当前智能体下一个速度获取周期的期望速度x′i,其中,Δt为速度获取周期的设定时间间隔;同时,每个当前智能体下一个速度获取周期的期望速度x′i,也作为当前智能体在下一个速度获取周期中作为邻居时的期望速度x′j
S25:将与当前智能体的估计误差ωi的和值作为当前智能体下一个速度获取周期的估计误差ω′i;同时,每个当前智能体下一个速度获取周期的估计误差ω′i,也作为当前智能体在下一个速度获取周期中作为邻居时的估计误差ω′j
S26:将更新后的x′i和x′j、更新后的ω′i和ω′j以及当前智能体的设定加速度ui重新代入上层网络的表达式,得到当前智能体的第二个速度获取周期的期望加速度
S27:将与当前智能体的期望速度x′i的和值作为当前智能体下一个速度获取周期的期望速度x″i;同时,每个当前智能体下一个速度获取周期的期望速度x″i,也作为当前智能体在下一个速度获取周期中作为邻居时的期望速度x″j;依次类推,不断重复步骤S24~S26,得到当前智能体各速度获取周期对应的期望速度。
6.如权利要求4所述的一种基于双层网络的多智能体群集控制方法,其特征在于,步骤S3中所述将上层网络获取的各智能体的期望速度输入到基于设定群集控制率下层网络,更新各智能体的实际速度和实际运动方向,具体为将各智能体分别作为当前智能体执行以下步骤:
S31:将当前智能体的期望速度xi代入如下公式:
其中,ci为设定系数,为反馈项;
S32:将反馈项代入如下公式:
其中,uHi为当前智能体的实际加速度,φα为多智能体系统做群集运动的人工势场,pj为当前智能体的邻居的实际速度;|| ||σ为σ范数;qi为当前智能体的位置,qj为当前智能体的邻居的位置;nij表示当前智能体qi指向当前智能体的邻居qj的方向,具体的:
其中,δ为σ范数的固定参数,且0<ε<1;
S33:将uHiΔt与当前智能体的实际速度pi的和值作为更新后的实际速度。
CN201910706421.9A 2019-08-01 2019-08-01 一种基于双层网络的多智能体群集控制方法 Active CN110442134B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910706421.9A CN110442134B (zh) 2019-08-01 2019-08-01 一种基于双层网络的多智能体群集控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910706421.9A CN110442134B (zh) 2019-08-01 2019-08-01 一种基于双层网络的多智能体群集控制方法

Publications (2)

Publication Number Publication Date
CN110442134A true CN110442134A (zh) 2019-11-12
CN110442134B CN110442134B (zh) 2020-11-10

Family

ID=68432634

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910706421.9A Active CN110442134B (zh) 2019-08-01 2019-08-01 一种基于双层网络的多智能体群集控制方法

Country Status (1)

Country Link
CN (1) CN110442134B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111007848A (zh) * 2019-12-03 2020-04-14 中国电子科技集团公司第二十八研究所 一种基于有界空间的多智能体协同作业控制方法
CN111459161A (zh) * 2020-04-03 2020-07-28 北京理工大学 一种多机器人系统人为干预控制方法
CN112241173A (zh) * 2020-10-30 2021-01-19 北京理工大学 一种基于人工势场的多智能体集结点的智能规划方法
CN113645317A (zh) * 2021-10-15 2021-11-12 中国科学院自动化研究所 一种松散的集群控制方法、装置、设备、介质和产品

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343222B2 (en) * 2002-08-21 2008-03-11 Solomon Research Llc System, method and apparatus for organizing groups of self-configurable mobile robotic agents in a multi-robotic system
EP2851760A1 (en) * 2013-09-19 2015-03-25 Rigas Tehniska universitate Multi-robot system
CN107168329A (zh) * 2017-06-20 2017-09-15 南京长峰航天电子科技有限公司 基于跟随领航者法的航速航向协同控制编队航行控制方法
CN108388247A (zh) * 2018-01-30 2018-08-10 上海交通大学 一种基于有向通信网络的无人车编队驾驶方法
CN109445447A (zh) * 2019-01-14 2019-03-08 北京航空航天大学 一种多智能体编队跟踪控制方法及系统
CN109634798A (zh) * 2019-02-25 2019-04-16 北京理工大学 一种领航-跟随多智能体分布式系统的故障估计器设计方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343222B2 (en) * 2002-08-21 2008-03-11 Solomon Research Llc System, method and apparatus for organizing groups of self-configurable mobile robotic agents in a multi-robotic system
EP2851760A1 (en) * 2013-09-19 2015-03-25 Rigas Tehniska universitate Multi-robot system
CN107168329A (zh) * 2017-06-20 2017-09-15 南京长峰航天电子科技有限公司 基于跟随领航者法的航速航向协同控制编队航行控制方法
CN108388247A (zh) * 2018-01-30 2018-08-10 上海交通大学 一种基于有向通信网络的无人车编队驾驶方法
CN109445447A (zh) * 2019-01-14 2019-03-08 北京航空航天大学 一种多智能体编队跟踪控制方法及系统
CN109634798A (zh) * 2019-02-25 2019-04-16 北京理工大学 一种领航-跟随多智能体分布式系统的故障估计器设计方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
A.CLARK: "Minimizing convergence error in multi-agent systems via leader selection:A supermodular optimization approach", 《TRANSACTION ON AUTOMATIC CONTROL》 *
D. GU: "Leaderfollower flocking: Algorithms and experiments", 《TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY》 *
DEMING LIU: "New flocking algorithms based on a two-layer structure", 《2019 IEEE 15TH INTERNATIONAL CONFERENCE ON CONTROL AND AUTOMATION》 *
REZA OLFATI-SABER: "Flocking for Multi-Agent Dynamic Systems: Algorithms and Theory", 《IEEE TRANSACTIONS ON AUTOMATIC CONTROL》 *
卢少磊等: "一种改进的多agent分布式联盟形成算法", 《控制与决策》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111007848A (zh) * 2019-12-03 2020-04-14 中国电子科技集团公司第二十八研究所 一种基于有界空间的多智能体协同作业控制方法
CN111007848B (zh) * 2019-12-03 2022-08-16 中国电子科技集团公司第二十八研究所 一种基于有界空间的多智能体协同作业控制方法
CN111459161A (zh) * 2020-04-03 2020-07-28 北京理工大学 一种多机器人系统人为干预控制方法
CN111459161B (zh) * 2020-04-03 2021-07-06 北京理工大学 一种多机器人系统人为干预控制方法
CN112241173A (zh) * 2020-10-30 2021-01-19 北京理工大学 一种基于人工势场的多智能体集结点的智能规划方法
CN113645317A (zh) * 2021-10-15 2021-11-12 中国科学院自动化研究所 一种松散的集群控制方法、装置、设备、介质和产品
CN113645317B (zh) * 2021-10-15 2022-01-18 中国科学院自动化研究所 一种松散的集群控制方法、装置、设备、介质和产品

Also Published As

Publication number Publication date
CN110442134B (zh) 2020-11-10

Similar Documents

Publication Publication Date Title
CN110442134A (zh) 一种基于双层网络的多智能体群集控制方法
Zhang et al. RNN for perturbed manipulability optimization of manipulators based on a distributed scheme: A game-theoretic perspective
CN104062902B (zh) Delta机器人时间最优轨迹规划方法
CN110488845A (zh) 一种障碍物遮挡下多智能体自抗扰时变编队跟踪与避撞控制方法
Zhang et al. Collective behavior coordination with predictive mechanisms
CN105759633B (zh) 一种带强连通分支的多机器人系统可控包含控制方法
CN104536304B (zh) 一种基于Matlab和Netlogo的电力系统负荷多智能体控制方法
CN109407520A (zh) 基于滑模控制理论的二阶多智能体系统的容错一致性控制算法
CN107529498A (zh) 一种空间机器人抓捕非合作目标的方法
Franchi et al. Distributed online leader selection in the bilateral teleoperation of multiple UAVs
CN109782593A (zh) 一种应用于六足机器人的共享因子模糊推理器
CN112527016A (zh) 一种智能集群一体化容错时变编队控制方法及系统
CN108393886A (zh) 优化能量与操作度的分布式多移动机械手协同搬运方法
CN114237041A (zh) 一种基于预设性能的空-地协同固定时间容错控制方法
CN112731942A (zh) 一种基于改进领航者虚拟结构法的多auv编队控制方法
Zhou et al. Robotic arm motion planning based on residual reinforcement learning
CN112947086A (zh) 一种无人机和无人车组成的异构多智能体系统编队控制中执行器故障的自适应补偿方法
Yang et al. Control of space flexible manipulator using soft actor-critic and random network distillation
Jiang et al. Distributed adaptive synchronization control with friction compensation of networked lagrange systems
Huang et al. Deep q-learning to preserve connectivity in multi-robot systems
Nuin et al. Ros2learn: a reinforcement learning framework for ros 2
Sadowska et al. Formation control design for car-like nonholonomic robots using the backstepping approach
CN107807534B (zh) 一种多轮式机器人自适应协同控制算法及控制系统
Wu et al. Multi-agent reinforcement learning with biased experience sharing in swarm-robotics domain
Li et al. A new multi-agent reinforcement learning approach

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant