背景技术
多机器人队形控制,指的是多个机器人组成的团队在执行任务的过程中,在适当的环境条件约束下,相互之间保持预定的几何关系,自主机器人队形控制的基本问题是独立分布式控制所有机器人的移动使得这些机器人能够形成并保持一个给定的目标几何队形,其实现有利于缩短任务的执行时间,提高整个任务的执行效率,在很多工程系统当中,经常需要多个独立个体单元之间的合作控制,比如,多机器人系统、无人驾驶飞行器编队和自动化高速公路系统等等,因此其在军事、航空航天等方面具有广阔的应用前景。
在自主机器人编队的队形控制当中,拥有可利用的全局信息程度对控制问题的可解性和控制算法的复杂程度非常重要,如果自主机器人之间,能够建立一个共同的全局性的坐标系统,那么队形控制问题就非常容易解决。只要把目标机器人的目标位置的全局坐标发给所有的机器人就可以了,再比如机器人队伍中间如果能够建立一个全局的势函数,那么问题也比较容易解决,但对于广泛的机器人队形控制问题,一般要求自主机器人单元之间没有任何全局性的协调者,机器人之间也没有积极的通信来协调动作,因此独立机器人只能以自己的独立的信息收集和独立运算来决定移动方案。
机器人的运动和计算能力也是决定控制算法复杂性的一个重要方面,因此需要先假定机器人直线移动有一个最大距离,距离越大,移动能力越强,算法的收敛速度就越快,此外机器人的内存大小与控制问题的可解性也相关,机器人如果有足够的内存可以记住以往的所有移动策略,那么决定当前的移动策略时候,就可以同时利用这些控制信号历史和当前的观测值,对某些目标几何的队形控制就会容易一些,如果机器人不能利用以往的控制信号历史,那么不存在控制算法让两个一条直线上的独立机器人在有限步骤内自主运动聚到一点,而如果可以利用以往控制信号,那么将大大简化控制算法。
目前自主机器人队形控制已有算法得以实现,但其仅仅局限在为某些特殊的目标几何队形例如直线和圆的形成,对于广泛的目标几何队形,一般是采用经验或者实验的算法。这些控制算法,主要缺点是并不能从数学上严格证明其收敛性和收敛速度,因此无法保证在规定时间内达到所要求的队形。
发明内容
针对以上问题,本发明通过给在二维平面上运动的多自主移动机器人提供一种新的队形控制算法,将每个机器人作为一个具有一定独立运算和有限移动能力的机械电子单元,并在每个机器人身上配置传感器,使得其能测量其他机器人相对于自己的位置,由于每个机器人具有一定的计算能力,根据观测到的当前机器人的位置和目标几何队形即可进行运算,使得每个机器人能独立执行至所需位置,从而收敛到预先给定的几何队形,为达此目的,本发明提供一种移动自主机器人的编队控制方法,具体控制步骤如下,其特征在于:
1)进行系统初始化设置,记录当前机器人队形;
2)各机器人根据目标队形及当前机器人队形得到相应的目标函数,再对该函数进行优化处理,得到最优目标函数,再根据所得最优目标函数求优化解,将优化解带入函数
,使得每一个机器人产生一个对应的的最优移动策略
;
所述目标函数设定如下,假定在一个时刻机器人R
i是活跃的机器人,本地坐标系下的其他机器人的相对位置为
,R
i相对于目标几何队形为
,假定R
i将本地坐标的原点移动到了当前实际队形的重心上,并且把目标几何的重心放在原点,机器人R
i将实际机器人当前位置和目标位置进行规则排序
,然后在当前实际机器人位置和目标位置之间,建立一个对应的函数
,其中
代表在目标机器人位置
的虚拟机器人,
表达当前机器人队形和目标队形之间的一个对应,向量
表示对应
排列的所有目标机器人的位置;
在给定
的情况下,机器人R
i根据目标机器人队形的重心位置进行移动旋转模拟,得到目标队形的机器人位置变化后的函数
,其中
是反时针旋转
的旋转矩阵,
是表示目标队形平移
的向量,再根据上述函数及相关变量得到当前机器人队形和目标几何队形的相似度函数
,其中
是优化量;
所述目标函数为求解当前机器人队形和目标几何队形的相似度函数的最小值函数
;
3)根据目标函数求最优解并得到最优目标函数值;
4)所需活跃机器人根据最优移动策略移动相应的移动距离;
5)根据所得结果,确定输出结果判断是否为所需结果,若是则输出成功,整个程序结束,若否则返回重新开始,并重新进行设定,并重新进行循环运动。
作为本发明的进一步改进,步骤3所述目标函数解法如下先固定一个
,对目标函数作
进行优化得到:
得到最优解为:
其中,
本专利可采用如上方法对目标函数进行求解,由于
是有限集,所以最优对应解可以通过遍历法进行求解。
作为本发明的进一步改进,当所需活跃机器人不是全部机器人,则控制算法为队形异步控制算法,步骤1中系统初始化过程中,需设置数列
,步骤4中移动距离定义为
并设置n
t+1= n
t , 步骤5中判断最优目标函数值结果是否为0,若否并且
则此步不移动,并设置n
t+1= n
t+1,之后返回重新开始,并重新进行设定,并重新进行循环运动,若是0并且
则此步不移动,并设置n
t+1= n
t之后返回重新开始,并重新进行设定,并重新进行循环运动,若是0并且非
则输出成功,整个程序结束,本专利所述控制方法即可用于同步控制也可用于异步控制,采用异步控制只需对原流程进行相应的改进即可。
本发明通过给在二维平面上运动的多自主移动机器人提供一种新的队形控制算法,通过该算法自主机器人可通过自身独立求解得到一个可在局部坐标下表达的特定的目标函数,并根据目标函数产生一个移动方案,使得每个机器人能独立执行至所需位置,从而收敛到预先给定的几何队形,由于本发明提出的机器人队形控制算法,是基于此分布式方法所得到的优化方法,因此其不但能够解决广泛的目标队形控制问题,而且不是局限于特殊的目标几何队形,从而能解决广泛目标几何队形的同步和非同步队形控制问题,因此控制范围极广,且该算法能够严格从数学上证明收敛性,并且在同步算法中其收敛速度能给出一个上限值,因此与目前所使用的基于经验和实验的控制算法相比更具有严谨性。
附图说明
图1是自主机器人编队队形控制方法机器人第一模拟示意图;
图2是自主机器人编队队形控制方法机器人第二模拟示意图;
图3是自主机器人编队队形控制方法机器人第三模拟示意图;
图4是自主机器人编队队形控制方法机器人第四模拟示意图;
图5是自主机器人编队队形同步控制算法逻辑流程图;
图6是自主机器人编队队形异步控制算法逻辑流程图;
图7是自主机器人编队队形同步控制算法的模拟结果;
图8 是自主机器人编队队形异步控制算法的模拟结果;
图9是自主机器人编队队同步和异步控制算法的收敛速度比较图;
具体实施方式
以下结合附图和实施例对发明做详细的说明:
本发明通过给在二维平面上运动的多自主移动机器人提供一种新的队形控制算法,将每个机器人作为一个具有一定独立运算和有限移动能力的机械电子单元,并在每个机器人身上配置传感器,使得其能测量其他机器人相对于自己的位置,由于每个机器人具有一定的计算能力,根据观测到的当前机器人的位置和目标几何队形即可进行运算,使得每个机器人能独立执行至所需位置,从而收敛到预先给定的几何队形。
作为本发明一种具体实施例,本发明提供逻辑流程图如图5所示的一种同步移动自主机器人的编队控制方法,具体控制步骤如下:
1)进行系统初始化设置,记录当前机器人队形;
2)各机器人根据目标队形及当前机器人队形得到相应的目标函数,再对该函数进行优化处理,得到最优目标函数,再根据所得最优目标函数求优化解,将优化解带入函数
,使得每一个机器人产生一个对应的的最优移动策略
;
所述目标函数设定如下,假定在一个时刻机器人R
i是活跃的机器人,本地坐标系下的其他机器人的相对位置为
,R
i相对于目标几何队形为
,假定R
i将本地坐标的原点移动到了当前实际队形的重心上,并且把目标几何的重心放在原点,机器人R
i将实际机器人当前位置和目标位置进行规则排序
,然后在当前实际机器人位置和目标位置之间,建立一个对应的函数
,其中
代表在目标机器人位置
的虚拟机器人,
表达当前机器人队形和目标队形之间的一个对应,向量
表示对应
排列的所有目标机器人的位置;
在给定
的情况下,机器人R
i根据目标机器人队形的重心位置进行移动旋转模拟,得到目标队形的机器人位置变化后的函数
,其中
是反时针旋转
的旋转矩阵,
是表示目标队形平移
的向量,再根据上述函数及相关变量得到当前机器人队形和目标几何队形的相似度函数
,其中
是优化量;
所述目标函数为求解当前机器人队形和目标几何队形的相似度函数的最小值函数
,从目标函数可看出当
的时候,实际机器人队形和目标几何队形一致,可以证明在有限步内可达到目标几何队形的;
3)根据目标函数求最优解并得到最优目标函数值;
所述目标函数解法如下先固定一个
,对目标函数作
进行优化得到:
得到最优解为:
其中,
由于
是有限集,所以最优对应解可以通过遍历法进行求解。
4)所需活跃的全部机器人根据最优移动策略移动相应的移动距离;
5)根据所得结果,确定输出结果判断是否为所需结果,若是则输出成功,整个程序结束,若否则返回重新开始,并重新进行设定,并重新进行循环运动。
作为本发明另一种具体实施例,本发明提供逻辑流程图如图6所示的一种异步移动自主机器人的编队控制方法,具体控制步骤如下:
1)进行系统初始化设置,设置数列
,记录当前机器人队形;
2)各机器人根据目标队形及当前机器人队形得到相应的目标函数,再对该函数进行优化处理,得到最优目标函数,再根据所得最优目标函数求优化解,将优化解带入函数
,使得每一个机器人产生一个对应的的最优移动策略
;
所述目标函数设定如下,假定在一个时刻机器人R
i是活跃的机器人,本地坐标系下的其他机器人的相对位置为
,R
i相对于目标几何队形为
,假定R
i将本地坐标的原点移动到了当前实际队形的重心上,并且把目标几何的重心放在原点,机器人R
i将实际机器人当前位置和目标位置进行规则排序
,然后在当前实际机器人位置和目标位置之间,建立一个对应的函数
,其中
代表在目标机器人位置
的虚拟机器人,
表达当前机器人队形和目标队形之间的一个对应,向量
表示对应
排列的所有目标机器人的位置;
在给定
的情况下,机器人R
i根据目标机器人队形的重心位置进行移动旋转模拟,得到目标队形的机器人位置变化后的函数
,其中
是反时针旋转
的旋转矩阵,
是表示目标队形平移
的向量,再根据上述函数及相关变量得到当前机器人队形和目标几何队形的相似度函数
,其中
是优化量;
所述目标函数为求解当前机器人队形和目标几何队形的相似度函数的最小值函数
,从目标函数可看出当
的时候,实际机器人队形和目标几何队形一致,并能证明其具有收敛性;
3)根据目标函数求最优解并得到最优目标函数值;
所述目标函数解法如下先固定一个
,对目标函数作
进行优化得到:
得到最优解为:
其中,
由于
是有限集,所以最优对应解可以通过遍历法进行求解。
4)所需活跃的机器人根据最优移动策略移动相应的移动距离,移动距离定义为并设置nt+1= nt;
5)根据所得结果,判断最优目标函数值结果是否为0,若否并且
则此步不移动,并设置n
t+1= n
t+1,之后返回重新开始,并重新进行设定,并重新进行循环运动,若是0并且
则此步不移动,并设置n
t+1= n
t之后返回重新开始,并重新进行设定,并重新进行循环运动,若是0并且非
则输出成功,整个程序结束。
为了能对同步与异步的算法进行比较,发明人对同步和异步算法进行了模拟,要求8个自主机器人形成一个大小给定的椭圆形几何图案,而这个目标几何队形的位置和朝向都是不指定的,不同的机器人如图1所示可以对该目标几何队形的位置和朝向有不同的理解,同时每个机器人可观测其他所有机器人的位置,并且在自己的局部坐标系当中建立当前机器人队形,所有的活跃的机器人独立优化定义好目标函数,并找到与当前实际机器人队形最接近的目标几何队形的位置,目标几何队形最优位置为其虚拟重心,其如图2所示和当前实际机器人队形的实际重心重合之处,每个机器人将本地坐标的的原点移到当前机器人队形的重心所在位置,所有活跃机器人如图3所示对目标函数求解,找到与当前实际队形最接近的目标几何队形的最优的朝向,确定与当前实际机器人队形最相似的目标队形的位置和朝向,每个机器人就计算出了当前自己以及所有其他机器人当前的目的位置,如图4所示可以证明每个机器人所计算得到的当前目标位置都是一致的,所有机器人均朝着各自的目标位置移动了一步。
图7,图8和图9为模拟后的数据显示图,其中图7是同步算法的执行结果,图8是异步算法的执行结果,图9表达的是两种算法的收敛情况,从图7和图8可以看出两种算法的模拟结果都是收敛的,从图9可以看出虽然显示两种算法都是收敛的,同步算法比异步算法有更快的收敛速度,异步算法则适应性更广。
由此可见本发明通过给在二维平面上运动的多自主移动机器人提供一种新的队形控制算法,通过该算法自主机器人可通过自身独立求解得到一个可在局部坐标下表达的特定的目标函数,并根据目标函数产生一个移动方案,使得每个机器人能独立执行至所需位置,从而收敛到预先给定的几何队形,由于本发明提出的机器人队形控制算法,是基于此分布式方法所得到的优化方法,因此其不但能够解决广泛的目标队形控制问题,而且不是局限于特殊的目标几何队形,从而能解决广泛目标几何队形的同步和非同步队形控制问题,因此控制范围极广,且该算法能够严格从数学上证明收敛性,并且在同步算法中其收敛速度能给出一个上限值,因此与目前所使用的基于经验和实验的控制算法相比更具有严谨性。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作任何其他形式的限制,而依据本发明的技术实质所作的任何修改或等同变化,仍属于本发明所要求保护的范围。