一种多机器人系统自适应分散协同控制方法及系统与流程

文档序号:18265197发布日期:2019-07-27 09:03阅读:224来源:国知局
一种多机器人系统自适应分散协同控制方法及系统与流程

本发明涉及多智能体系统协同控制技术领域,尤其涉及的是一种多机器人系统自适应分散协同控制方法及系统。



背景技术:

多机器人是指两个或两个以上的机器人,协作是指机器人通过一种机制合作完成一项任务,对于自主移动机器人编队问题来说合作就是保持队形,在各个时刻各机器人的位置满足一种数学关系。现有技术中,多机器人之间易出现冲突和矛盾,比如说机器人之间出现碰撞。

因此,现有技术还有待于改进和发展。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种多机器人系统自适应分散协同控制方法及系统,旨在解决现有技术中多机器人之间易出现冲突和矛盾的问题。

本发明解决技术问题所采用的技术方案如下:

一种多机器人系统自适应分散协同控制方法,其中,包括以下步骤:

当其它机器人位于本体机器人的交互区域内时,本体机器人与其它机器人建立交互通信,并控制本体机器人和其它机器人之间产生聚合力;

当其它机器人位于本体机器人的缓冲区域内时,控制本体机器人和其它机器人之间产生排斥力,其中,缓冲区域位于交互区域内。

所述的多机器人系统自适应分散协同控制方法,其中,所述本体机器人和其它机器人之间产生聚合力步骤中,

其中,表示本体机器人i的位置pi的聚合力导数,vi,c表示本体机器人i的聚合力控制输入,c表示聚合力控制常数,pig表示本体机器人i下一时间步长的目标位置,pi表示本体机器人i的位置,ni,c表示本体机器人i的交互区域内其它机器人的集合,表示空集,|vi,max|表示本体机器人i的最大速度,rs表示交互区域的半径。

所述的多机器人系统自适应分散协同控制方法,其中,所述当其它机器人位于本体机器人的缓冲区域内时,控制其它机器人对本体机器人产生排斥力步骤还包括:

控制其它机器人位于本体机器人的安全区域之外。

所述的多机器人系统自适应分散协同控制方法,其中,所述控制其它机器人位于本体机器人的安全区域之外步骤中,

其中,表示本体机器人i的位置pi的排斥力导数,vi,r表示本体机器人i的排斥力控制输入,vij,r表示其它机器人j对本体机器人i的排斥力控制输入,ni,r表示本体机器人i的缓冲区域内其它机器人的集合,pj表示其它机器人j的位置,f(·)表示斜坡函数,m表示避免本体机器人i和其它机器人j发生碰撞的控制常数,d表示安全区域的半径,d'表示缓冲区域的宽度,|vi,max|表示本体机器人i的最大速度,∑表示求和操作。

所述的多机器人系统自适应分散协同控制方法,其中,所述本体机器人与其它机器人建立交互通信步骤之后包括:

控制本体机器人的速度对准,

其中,表示本体机器人i的位置pi的对准导数,ai=ni,c(o)∪{i}表示本体机器人和其它机器人组成的索引集,card(ai)为集合ai中元素的数量,t表示时间,vi,m表示本体机器人速度对准时的速度,vj,m表示二机器人速度对准时的速度。

一种多机器人系统自适应分散协同控制系统,其中,包括:处理器,以及与所述处理器连接的存储器,

所述存储器存储有多机器人系统自适应分散协同控制程序,所述程序被所述处理器执行时实现以下步骤:

当其它机器人位于本体机器人的交互区域内时,本体机器人与其它机器人建立交互通信,并控制本体机器人和其它机器人之间产生聚合力;

当其它机器人位于本体机器人的缓冲区域内时,控制本体机器人和其它机器人之间产生排斥力,其中,缓冲区域位于交互区域内。

所述的多机器人系统自适应分散协同控制系统,其中,所述多机器人系统自适应分散协同控制程序被所述处理器执行时,还实现以下步骤:

所述本体机器人和其它机器人之间产生聚合力步骤中,

其中,表示本体机器人i的位置pi的聚合力导数,vi,c表示本体机器人i的聚合力控制输入,c表示聚合力控制常数,pig表示本体机器人i下一时间步长的目标位置,pi表示本体机器人i的位置,ni,c表示本体机器人i的交互区域内其它机器人的集合,表示空集,|vi,max|表示本体机器人i的最大速度,rs表示交互区域的半径。

所述的多机器人系统自适应分散协同控制系统,其中,所述多机器人系统自适应分散协同控制程序被所述处理器执行时,还实现以下步骤:

控制其它机器人位于本体机器人的安全区域之外。

所述的多机器人系统自适应分散协同控制系统,其中,所述多机器人系统自适应分散协同控制程序被所述处理器执行时,还实现以下步骤:

所述控制其它机器人位于本体机器人的安全区域之外步骤中,

其中,表示本体机器人i的位置pi的排斥力导数,vi,r表示本体机器人i的排斥力控制输入,vij,r表示其它机器人j对本体机器人i的排斥力控制输入,ni,r表示本体机器人i的缓冲区域内其它机器人的集合,pj表示其它机器人j的位置,f(·)表示斜坡函数,m表示避免本体机器人i和其它机器人j发生碰撞的控制常数,d表示安全区域的半径,d'表示缓冲区域的宽度,|vi,max|表示本体机器人i的最大速度,∑表示求和操作。

所述的多机器人系统自适应分散协同控制系统,其中,所述多机器人系统自适应分散协同控制程序被所述处理器执行时,还实现以下步骤:

控制本体机器人的速度对准,

其中,表示本体机器人i的位置pi的对准导数,ai=ni,c(o)∪{i}表示本体机器人和其它机器人组成的索引集,card(ai)为集合ai中元素的数量,t表示时间,vi,m表示本体机器人速度对准时的速度,vj,m表示二机器人速度对准时的速度。

有益效果:由于通过控制缓冲区域内邻近机器人之间的聚合力和排斥力,使得多机器人能维持网络的初始互连关系,且避免成员之间发生碰撞。

附图说明

图1是本发明中多机器人相互作用模型的示意图。

图2是本发明中可能引发碰撞的最坏的情况的示意图。

图3是本发明中机器人传感器ri的速度合成图。

图4是本发明中多机器人系统自适应分散协同控制系统的功能原理框图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

请同时参阅图1-图4,本发明提供了一种多机器人系统自适应分散协同控制方法的一些实施例。

对于自主移动机器人编队问题来说,冲突主要就是碰撞,也就是说在同一时刻多个机器人不能处于同一位置。

如图1所示,本发明的一种多机器人系统自适应分散协同控制方法,包括以下步骤:

步骤s10、建立多机器人系统的动力学模型。

建立一个由n个同类机器人组成的系统,系统中的成员(机器人)用i表示,并且其相应的位置用pi表示,其中,i∈s={1,2,...,n},s表示所有机器人的集合,当然,在使用时,以某一个机器人为核心,该机器人定义为本体机器人,落入本体机器人的交互区域内的机器人定义为其它机器人,没有落入本体机器人的交互区域内的机器人定义为第三机器人,本体机器人、其它机器人以及第三机器人形成的集合即所有机器人的集合。机器人i上的机器人传感器采用ri表示。系统中机器人之间的碰撞在任何时候都不允许发生。

每个机器人i受到式(1)所示的单一积分器动力学控制,并被建模为平面上半径为rr的移动点。

其中pi,vi∈r2分别为机器人i的位置和控制输入,表示位置p的导数,r2表示作用区域。

步骤s100、当其它机器人位于本体机器人的交互区域内时,本体机器人与其它机器人建立交互通信,并控制本体机器人和其它机器人之间产生聚合力。

系统中每一个机器人都能感应到交互区域内其他成员的相对位置,并与相邻成员交换状态信息,且它们的行动是异步和独立的。两个机器人传感器rj和ri是邻近关系,即当||pi-pj||<rs成立时,机器人传感器rj可实现同级机器人传感器ri的交互,反之亦然。换句话说,两个相邻传感器的交互作用是对称关系。当机器人传感器ra能够和传感器rb进行交互时,传感器rb也能够同ra进行交互。序列ra,rb(或rb,ra)被定义为机器人传感器ra和rb之间的交互链路。当机器人传感器ra不能直接与rb进行交互时,但这时如果还存在一组传感器{rc,rd,re,rf},并可满足ra能够同rc进行直接交互,rc能够同rd进行直接交互,rd能够同re进行直接交互,re能够同rf进行直接交互,并且最终rf能够同rb进行直接交互。在这种情况下,序列ra,rc,rd,re,rf,rb被定义为机器人传感器ra和rb之间的非直接交互链路。序列ra,rb或ra,rc,rd,re,rf,rb将被ra和rb的交互链路集体引用。反向顺序的两种交互链路也被视为相同的连接关系。一对机器人传感器可能存在许多不同的交互链路。

本实施例中以i表示本体机器人,并以本体机器人的视角来说明,j表示位于本体机器人的交互区域内的其它机器人,其它机器人可以是一个,也可以是多个。以其它机器人或第三机器人的视角时,可以参考本体机器人。

步骤s100具体包括以下步骤:

步骤s110、当其它机器人位于本体机器人的交互区域内时,本体机器人与其它机器人建立交互通信。

所有的机器人都具备相同的交互区域大小,他们的交互区域的半径(即交互半径rs)一致,超过交互半径,两个机器人之间的交互(即感知或通信)就会中断。

步骤s120、控制本体机器人和其它机器人之间产生聚合力。

为了以分散方式实现对一组机器人传感器的聚合控制,我们为该组传感器提出了一个局部交互规则:在每个时间步长上,机器人传感器ri将对目标位置pig进行计算,并在下一个时间步长上移动到位置pig。目标位置pig被定义为平面上点集pi={pk|-k∈ni,c∪{i}}的最小包含圆(缩写为sec)。在每个时间步长上,机器人传感器ri将首先感知其邻近传感器的位置并为下一步的动作计算目标位置pig。pig在两个时间步长的间隔内被视为一个恒定值。因此,我们对机器人传感器ri提出了如下控制律,以实现聚合控制。

其中表示本体机器人i的位置pi的聚合力导数,vi,c表示本体机器人i的聚合力控制输入,c为控制常数,其取值由机器人最大速度|vmax|和机器人传感器的交互半径rs来决定。pig表示本体机器人i下一时间步长的目标位置,pi表示本体机器人i的位置,ni,c表示本体机器人i的交互区域内其它机器人的集合,表示空集,|vi,max|表示本体机器人i的最大速度,rs表示交互区域的半径。由方程(3)可知,在下一个时间步长上,机器人传感器ri将从pi移动到pig。c的值可通过如下所述的步骤来确定。

从方程(2)和(3)中可以看出,机器人传感器ri在移动过程中,将始终满足|pi|=c·||pi-pig||。对于某些c的值而言,根据sec规划策略,方程右侧的最大值为c·(rs/2)。左侧的|pi|为机器人ri的速度。这样,只要满足|pi|≤|vi,max|,c·(rs/2)的取值就是合适的。因此,我们需要选取一个合适的c的值,以满足下列不等式:

步骤s200、当其它机器人位于本体机器人的缓冲区域内时,控制本体机器人和其它机器人之间产生排斥力,其中,缓冲区域位于交互区域内。

步骤s200还包括:

步骤s210、控制其它机器人位于本体机器人的安全区域之外。

图1所示的机器人交互模型中d(d≥2rr)表示了两个机器人rj和rk之间的最小安全距离(即安全半径)。d'表示缓冲区的宽度,缓冲区呈圆环形,缓冲区的宽度即圆环的宽度。当机器人传感器ri和rj的间隔在(2rr,d]之内时,我们定义它们之间发生了虚假碰撞。当它们刚刚相互接触时,即当||pi-pj||=2rr时,我们推断它们发生了真正的碰撞。

为避免聚合过程中两个机器人传感器发生碰撞,我们采用了一种受物理现象启发的机制。该机制模仿通常观测到的高速电子向原子核运动的这一相对运动过程。对于机器人传感器ri来说,本组中的任何其他一个传感器rj均可被视为一个障碍物。若机器人传感器ri足够接近传感器rj,来自于rj的排斥作用将作用于ri,并以排斥速度vij,r来表示这一作用。具体来说,当机器人传感器ri和rj之间的距离在[2rr,d+d]范围内时,将会生成一个速度vij,r并作用于传感器ri上。否则,传感器rj将不会对ri发生作用。当机器人传感器ri接近几个邻近传感器时,其受到的合排斥速度用vi,r表示。

所述控制其它机器人位于本体机器人的安全区域之外步骤中,

其中,表示本体机器人i的位置pi的排斥力导数,vi,r表示本体机器人i的排斥力控制输入,vij,r表示其它机器人j对本体机器人i的排斥力控制输入,ni,r表示本体机器人i的缓冲区域内其它机器人的集合,pj表示其它机器人j的位置,f(·)表示斜坡函数,m表示避免本体机器人i和其它机器人j发生碰撞的控制常数,d表示安全区域的半径,d'表示缓冲区域的宽度,|vi,max|表示本体机器人i的最大速度,∑表示求和操作。这里其它机器人j可以是多个,将所有位于本体机器人的缓冲区域内的其它机器人统计在内。

本体机器人和其它机器人的最大速度可以是相同的,也可以是不相同的,当本体机器人和其它机器人的最大速度不同时,缓冲区的宽度采用d'表示;当本体机器人和其它机器人的最大速度相同时,缓冲区的宽度采用d表示,实际上,所有同质传感器表现出的最大速度|vmax|都相同。

当|vi,max|>|vj,max|时,则满足如下等式:

这里,当|vi,max|<|vj,max|时,则采用总之,d'>d。

下面对两种缓冲区的宽度的情况分别说明,第一种情况,本体机器人和其它机器人的最大速度相同。

当条件||pi-pj||∈[2rr,d+d]成立时,来自机器人i的排斥力vj,r将作用于机器人j上。当||pi-pj||∈[2rr,rs]条件成立时,和机器人i相关联的聚合力vj,c将作用于机器人j上。可以看出,当两个机器人的距离同时满足上述两个条件时,这两种作用力vj,r和vj,c将同时存在。通过合理选择控制参数,两个力分量将会在(d,d+d)范围内的某一空间上达到平衡。

集合ni,r表示位于机器人i的[2rr,d+d]内的邻近机器人的索引集。集合ni,c表示位于机器人i的[2rr,rs]内的邻近机器人的索引集。由于机器人的相对位置随时间变化,故集合ni,r和ni,c也是随时间变化的,即ni,r(t)和ni,c(t)。

如图2所示,最坏的情况即是当两个传感器之间的距离刚好等于d+d,并且每个传感器均以最大速度|vmax|向另一个传感器移动时的情况,每个传感器的排斥速度将施加在另一个传感器上。如前所述,d和d分别表示安全距离和缓冲距离。预计当其距离刚好等于d时,每个机器人传感器具备最大排斥速度|vr|=|vmax|,并且其合成速度为|v|=0。换言之,两个机器人传感器在那一时刻将保持相对稳定的状态,甚至不会发生虚假碰撞。图3表示了两个速度分量|vmax|和|vr|,当两个传感器距离从d+d变化到d的过程中,机器人传感器ri的速度|v|如图3所示。因此,为实现上述目标,控制常数m由下面的步骤来确定。

假定机器人传感器rj是静止的。作用于传感器ri上的排斥速度的大小可表述为:

为避免虚假碰撞并满足两个传感器之间的距离不小于d,下面的平衡条件应满足:

这样,我们得到m的表达式为:

因此,当两个传感器从距离(d,∞]相互接近的时候,它们之间的距离将不会小于d。

第二种情况,本体机器人和其它机器人的最大速度不相同,这里以|vi,max|>|vj,max|进行说明。

当机器人的最大速度不同时,我们可以通过引入d′来扩大缓冲区,达到自适应编队避碰的效果。

若两个机器人传感器在初始位置距离很近,则它们有可能发生碰撞。在这个时候,它们最好能够互相排斥,并且只要确定了m的值以后,它们就不再会发生碰撞。此外,还保证了它们之间的安全距离d,两个传感器之间的相对平衡距离可在[d,d+d]或[d,d+d′]中实现。

步骤s300、控制本体机器人的速度对准。

一组机器人传感器的初始互连性可得到隐式维持。初始互连拓扑完全依赖于机器人传感器的初始分布。根据每个传感器可与其相邻的、位于交互半径rs内的其他传感器进行通信的假设,我们现在关注的是这些互连传感器初始速度v0s的对准。用于机器人传感器ri实现速度对准的控制律的定义为:

其中,表示本体机器人i的位置pi的对准导数,ai=ni,c(0)∪{i}表示本体机器人和其它机器人组成的索引集,这里ni,c(0)表示当t=0时的ni,c(t),也就是初始时刻其它机器人的集合,{i}表示本体机器人构成的集合,card(ai)为集合ai中元素的数量,t表示时间,vi,m表示本体机器人速度对准时的速度,vj,m表示其它机器人速度对准时的速度。

值得说明的是,本发明的一种多机器人系统自适应分散协同控制方法,用于实现对多机器人的全局协同控制:组聚和群集。每个机器人传感器均遵循三个局部的相互作用规则:组聚,防止相撞和速度对准。相应地,每个机器人传感器的合成控制律由三个相关组件构成。第一是基于几何结构、且能维持网络的初始互连关系的聚合控制组件。第二是一种起被动作用并被嵌入到聚合控制中的避免成员之间发生碰撞的避撞控制组件。第三是可确保互连网络中的所有成员能够最终达到一个共同的速度对准控制组件。

本发明还提供了一种多机器人系统自适应分散协同控制系统的较佳实施例:

如图4所示,本发明实施例的一种一种多机器人系统自适应分散协同控制系统,包括:处理器10,以及与所述处理器10连接的存储器20,

所述存储器20存储有多机器人系统自适应分散协同控制程序,所述程序被所述处理器10执行时实现以下步骤:

当其它机器人位于本体机器人的交互区域内时,本体机器人与其它机器人建立交互通信,并控制本体机器人和其它机器人之间产生聚合力;

当其它机器人位于本体机器人的缓冲区域内时,控制本体机器人和其它机器人之间产生排斥力,其中,缓冲区域位于交互区域内,具体如上所述。

所述多机器人系统自适应分散协同控制程序被所述处理器10执行时,还实现以下步骤:

所述本体机器人和其它机器人之间产生聚合力步骤中,

其中,表示本体机器人i的位置pi的聚合力导数,vi,c表示本体机器人i的聚合力控制输入,c表示聚合力控制常数,pig表示本体机器人i下一时间步长的目标位置,pi表示本体机器人i的位置,ni,c表示本体机器人i的交互区域内其它机器人的集合,表示空集,|vi,max|表示本体机器人i的最大速度,rs表示交互区域的半径,具体如上所述。

所述多机器人系统自适应分散协同控制程序被所述处理器10执行时,还实现以下步骤:

控制其它机器人位于本体机器人的安全区域之外,具体如上所述。

所述多机器人系统自适应分散协同控制程序被所述处理器10执行时,还实现以下步骤:

所述控制其它机器人位于本体机器人的安全区域之外步骤中,

其中,表示本体机器人i的位置pi的排斥力导数,vi,r表示本体机器人i的排斥力控制输入,vij,r表示其它机器人j对本体机器人i的排斥力控制输入,ni,r表示本体机器人i的缓冲区域内其它机器人的集合,pj表示其它机器人j的位置,f(·)表示斜坡函数,m表示避免本体机器人i和其它机器人j发生碰撞的控制常数,d表示安全区域的半径,d'表示缓冲区域的宽度,|vi,max|表示本体机器人i的最大速度,具体如上所述。

所述多机器人系统自适应分散协同控制程序被所述处理器10执行时,还实现以下步骤:

控制本体机器人的速度对准,

其中,表示本体机器人i的位置pi的对准导数,ai=ni,c(o)∪{i}表示本体机器人和其它机器人组成的索引集,card(ai)为集合ai中元素的数量,t表示时间,vi,m表示本体机器人速度对准时的速度,vj,m表示其它机器人速度对准时的速度,具体如上所述。

综上所述,本发明所提供的一种多机器人系统自适应分散协同控制方法及系统,所述方法包括以下步骤:当其它机器人位于本体机器人的交互区域内时,本体机器人与其它机器人建立交互通信,并控制本体机器人和其它机器人之间产生聚合力;当其它机器人位于本体机器人的缓冲区域内时,控制本体机器人和其它机器人之间产生排斥力,其中,缓冲区域位于交互区域内。由于通过控制缓冲区域内邻近机器人之间的聚合力和排斥力,使得多机器人能维持网络的初始互连关系,且避免成员之间发生碰撞,而且最终达到一个共同的速度。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1