一种多智能体系统规避动态障碍物方法及系统
文献发布时间:2024-04-18 19:58:30
技术领域
本发明属于多智能体协同控制领域,尤其涉及一种多智能体系统规避动态障碍物方法及系统。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
多智能体协作机制的出现,使得复杂行为的完成不完全依赖于高度的个体智能化,而是可以通过智能体之间的相互学习和模仿来实现,这种机制为社会学、物理学、计算机科学和系统控制科学等领域提供了一种新的思路,并且受到了广泛的关注。
现实情况下,在多智能体系统完成任务的过程中障碍物无处不在,动态障碍物可能与智能体发生碰撞,并且在智能体追踪目标的过程中,动态障碍物的存在可能对智能体产生遮挡,使其丢失目标信息,因而对动态障碍物避障算法的研究具有重要的现实意义。
采用传统的人工势场法可以对大部分速度较慢的动态障碍物进行避障,但当动态障碍物与智能体对向移动以及动态障碍物追逐智能体时,会产生推动效应,即动态障碍物推动智能体运动而导致智能体改变移动方向,当动态障碍物速度过快时,由于智能体速度调整需要一定时间,可能发生智能体躲避不及时而与动态障碍物发生碰撞的情况;因此,现有的动态障碍物避障算法中,多智能体编队在运动过程中采用基本人工势场法对动态障碍物进行避障对编队产生较大影响甚至发生碰撞问题,导致避障效果不佳。
发明内容
为克服上述现有技术的不足,本发明提供了一种多智能体系统规避动态障碍物方法及系统,改进了人工势场法,进行动态障碍物对多智能体系统的威胁判断,对存在威胁的动态障碍物采取动态规避策略,有效解决了传统人工势场法无法躲避高速障碍物及动态障碍物导致的推动效应的问题。
为实现上述目的,本发明的一个或多个实施例提供了如下技术方案:
本发明第一方面提供了一种多智能体系统规避动态障碍物方法。
一种多智能体系统规避动态障碍物方法,包括:
利用领导-跟随者策略,对待控制的多智能体系统进行建模,形成编队;
基于编队,根据智能体的位置和速度方向,对进入智能体检测半径的动态障碍物进行威胁判断;
通过改进的人工势场法,根据障碍物所在位置,对动态障碍物进行躲避控制;
其中,所述改进的人工势场法,是在传统人工势场法基础上,增加对正前方和正后方的障碍物及侧面的障碍物的动态避障策略,即正前方和正后方的障碍物,通过调整侧向力方向和脱险位置进行动态避障,而侧面的障碍物,以障碍物运动方向平行的切线为边界构建人工势场进行动态避障。
进一步的,所述利用领导-跟随者策略,对待控制的多智能体系统进行建模,具体为:
所述多智能体系统为由一个领导者和n个跟随者组成的系统,每个跟随者的动态特性为:
其中,
领导者的动态特性为:
其中,
对智能体i,其控制输入设计如下:
其中,
进一步的,所述编队的控制矩阵定义为:
其中,该矩阵表示所期望的编队形式,
进一步的,所述对进入智能体检测半径的动态障碍物进行威胁判断,具体为:
判断障碍物所在位置,即正前方和正后方的障碍物及侧面的障碍物;
基于障碍物所在位置,判断动态障碍物是否会给智能体
进一步的,所述判断动态障碍物是否会给智能体
对于正前方的动态障碍物,若动态障碍物与智能体
对于正后方的动态障碍物,若动态障碍物与智能体
对于左侧和右侧的动态障碍物,若动态障碍物速度大于可能发生碰撞速度,且在预测的碰撞点,智能体和障碍物之间的位置向量和速度向量的夹角在预设范围内,则存在危险。
进一步的,所述预测的碰撞点,具体计算方式为:
通过当前时刻智能体
进一步的,所述正前方和正后方的障碍物的动态避障策略,具体为:
当智能体
其中,正前方和正后方的障碍物采用不同的
对于正前方的障碍物,
进一步的,所述产生一个侧向力使智能体运动到脱险位置进行避障,具体为:
若领导者在障碍物右侧,则侧向力方向为
若智能体运动到
进一步的,所述侧面的障碍物的动态避障策略,具体为:
若障碍物在智能体左侧,则以障碍物运动方向平行的右侧切线为边界构建人工势场,若障碍物在智能体右侧,则以障碍物运动方向平行的左侧切线为边界构建人工势场。
本发明第二方面提供了一种多智能体系统规避动态障碍物系统。
一种多智能体系统规避动态障碍物系统,包括系统编队模块、威胁判断模块和动态避障模块:
系统编队模块,被配置为:利用领导-跟随者策略,对待控制的多智能体系统进行建模,形成编队;
威胁判断模块,被配置为:基于编队,根据智能体的位置和速度方向,对进入智能体检测半径的动态障碍物进行威胁判断;
动态避障模块,被配置为:通过改进的人工势场法,根据障碍物所在位置,对动态障碍物进行躲避控制;
其中,所述改进的人工势场法,是在传统人工势场法基础上,增加对正前方和正后方的障碍物及侧面的障碍物的动态避障策略,即正前方和正后方的障碍物,通过调整侧向力方向和脱险位置进行动态避障,而侧面的障碍物,以障碍物运动方向平行的切线为边界构建人工势场进行动态避障。
本发明第三方面提供了计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如本发明第一方面所述的一种多智能体系统规避动态障碍物方法中的步骤。
本发明第四方面提供了电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本发明第一方面所述的一种多智能体系统规避动态障碍物方法中的步骤。
以上一个或多个技术方案存在以下有益效果:
本发明提出了一种基于改进人工势场法的多智能体系统规避动态障碍物方法,利用改进的人工势场法,通过动态障碍物对多智能体系统的威胁判断,对存在威胁的动态障碍物采取动态规避策略,有效解决了传统人工势场法无法躲避高速障碍物及动态障碍物导致的推动效应的问题。
本发明当智能体判断动态障碍物存在威胁时,对于正前方和正后方的障碍物,智能体会运动到指定距离才进行躲避,避免过早运动,减少能量损耗,对于侧面的障碍物,智能体相当于在靠近障碍物的位置进行等待,直到障碍物通过后继续前进,避免碰撞的同时减少绕过障碍物的所需的能量。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为第一个实施例的方法流程图。
图2为第一个实施例侧方障碍物的威胁判断示意图。
图3 为第一个实施例正前方障碍物的脱险示意图。
图4 为第一个实施例正后方障碍物的脱险示意图。
图5 为第一个实施例侧方障碍物的脱险示意图。
具体实施方式
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本发明使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
本发明提出的改进的人工势场法,是在传统人工势场法基础上,增加对正前方和正后方的障碍物及侧面的障碍物的动态避障策略,即正前方和正后方的障碍物,通过调整侧向力方向和脱险位置进行动态避障,而侧面的障碍物,以障碍物运动方向平行的切线为边界构建人工势场进行动态避障。
实施例一
在一个或多个实施方式中,公开了一种多智能体系统规避动态障碍物方法,如图1所示,包括如下步骤:
步骤S1:利用领导-跟随者策略,对待控制的多智能体系统进行建模,形成编队。
采用无向图
(1)
其中,
无向图是有向图的一个特例,其邻接矩阵是对称的,即
跟随者和领导者之间的通信权值用矩阵
考虑一个由一个领导者和
多智能体系统中,每个跟随者的动态特性为:
(2)
其中,
领导者的动态特性为:
(3)
其中,
对智能体
(4)
其中,
编队控制矩阵定义为:
(5)
该矩阵表示所期望的编队形式,其中,
步骤S2:基于编队,根据智能体的位置和速度方向,对进入智能体检测半径的动态障碍物进行威胁判断。
当障碍物进入智能体i的检测半径,根据智能体i的位置和速度方向以及障碍物的位置,判断动态障碍物是否会对智能体构成威胁,具体分为两步:
(1)判断障碍物所在位置
处于智能体运动方向上的障碍物为智能体的正前方障碍物;处于智能体运动方向反方向上的障碍物为智能体的正后方障碍物;处于智能体运动方向直线左侧的障碍物为左侧障碍物,右侧的障碍物为右侧障碍物。
(2)判断动态障碍物是否会给智能体
对于正前方的动态障碍物,若动态障碍物与智能体
对于正后方的动态障碍物,若动态障碍物与智能体
对于左侧和右侧的动态障碍物,如图2所示,若动态障碍物速度
步骤S3:通过改进的人工势场法,根据障碍物所在位置,对动态障碍物进行躲避控制。
若动态障碍物给智能体
先对使用传统人工势场法进行避障的势函数和斥力进行说明:
障碍物与智能体之间、智能体之间都可能发生碰撞,因此都需要进行避障,其中,障碍物势函数定义为:
(6)
其中,
对应的斥力为:
(7)
智能体势函数定义为:
(8)
其中
对应的斥力为:
(9)
在传统人工势场法基础上,增加对正前方和正后方的障碍物及侧面的障碍物的动态避障策略:对于正前方和正后方的障碍物,智能体会运动到指定距离才进行躲避,避免过早运动,减少能量损耗,对于侧面的障碍物,智能体相当于在靠近障碍物的位置进行等待,直到障碍物通过后继续前进,避免碰撞的同时减少绕过障碍物的所需的能量,具体为:
(1)对于正前方和正后方的障碍物,当智能体
以某一向量作为基准,两向量之间的夹角以逆时针方向为正角度,取值为[0,2π),
对于正前方的障碍物,若领导者在障碍物右侧,为避免智能体脱离领导者过远,侧向力方向为障碍物速度向量的方向减
对于正后方的障碍物,若领导者在障碍物右侧,为避免智能体脱离领导者过远,侧向力方向为障碍物速度向量的方向减
(2)对于左侧或右侧的障碍物,为躲避动态障碍物,若障碍物在智能体左侧,则以障碍物运动方向平行的右侧切线为边界构建人工势场,若障碍物在智能体右侧,则以障碍物运动方向平行的左侧切线为边界构建人工势场,势函数定义为:
(10)
其中
对应的斥力为:
(11)
定义以
图5是障碍物在智能体左侧的例子,如图5所示,斥力F
实施例二
在一个或多个实施例中,公开了一种多智能体系统规避动态障碍物系统,包括系统编队模块、威胁判断模块和动态避障模块:
系统编队模块,被配置为:利用领导-跟随者策略,对待控制的多智能体系统进行建模,形成编队;
威胁判断模块,被配置为:基于编队,根据智能体的位置和速度方向,对进入智能体检测半径的动态障碍物进行威胁判断;
动态避障模块,被配置为:通过改进的人工势场法,根据障碍物所在位置,对动态障碍物进行躲避控制;
其中,所述改进的人工势场法,是在传统人工势场法基础上,增加对正前方和正后方的障碍物及侧面的障碍物的动态避障策略,即正前方和正后方的障碍物,通过调整侧向力方向和脱险位置进行动态避障,而侧面的障碍物,以障碍物运动方向平行的切线为边界构建人工势场进行动态避障。
实施例三
本实施例的目的是提供计算机可读存储介质。
计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开实施例一所述的一种多智能体系统规避动态障碍物方法中的步骤。
实施例四
本实施例的目的是提供电子设备。
电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本公开实施例一所述的一种多智能体系统规避动态障碍物方法中的步骤。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 机车车载铁道障碍物智能探测报警系统及其预警方法
- 一种基于自适应动态规划的多智能体跟随控制方法和系统
- 一种多智能体分布式协同动态覆盖方法及系统