一种基于SLAM技术的多机器人编队控制方法与流程

文档序号:18898509发布日期:2019-10-18 21:36阅读:1726来源:国知局
一种基于SLAM技术的多机器人编队控制方法与流程

本发明属于机器人的技术领域,特别涉及一种基于slam技术的多机器人编队控制方法。



背景技术:

随着机器人相关技术的不断发展,多机器人系统在智能控制领域引起了广泛关注,且被应用与多种场景,如资源勘探、森林火灾监控与灾后救援等。多机器人编队控制作为多智能系统中的重要分支,即要求多机器人执行任务期间,能够保持一定的队形,相互避碰,从而实现一些共同目标。多年来,针对多机器人编队控制问题诞生了大量的研究成果,并形成了以跟随领航者法、基于行为控制法、虚拟结构法和人工势场法为代表的多种编队控制方法,这些编队方法优劣各异,针对不同的应用场景,也常常将以上方法组合使用,以达到期望的编队效果。

多机器人编队问题可以描述为:在一定编队控制策略的作用下,所有的机器人能够从某一初始状态逐渐形成期望的队形。机器人编队任务主要包含三个部分,即队形的形成,队形的保持和队形的变换。一般所谓的队形控制就是指队形的生成,队形的保持是指目标队形形成后,多机器人系统能够按照既定的路线运行,并且保持指定的队形。队形的变换通常是指当多机器人系统遇到障碍物时,为了躲避障碍物需要临时变换队形,在通过障碍物后还能变换回初始队形形状。



技术实现要素:

设计了一种基于slam定位多机器人编队控制方法,解决现有技术中队形变换不灵活的问题。

为实现上述目的,本发明提出的技术方案是:

一种多机器人编队控制方法,该方法首先利用cvt算法构建期望的目标队形,然后设计位置误差控制器控制机器人完成对其对应质心位置的跟踪,最后调整cvt算法中的密度函数来实时的改变期望的队形。

进一步的,具体包括以下步骤:

确定机器人划分的目标区域q,密度函数σ(q),其中q为目标区域q内设置的虚拟传感器位置(q∈q),定义机器人的数量为正整数k;

步骤(1)、随机选择k个生成点p作为生成点

步骤(2)、利用与生成点相关联的模拟传感器构造voronoi集合

步骤(3)、确定voronoi集合的质心,将质心作为新的生成点进行voronoi划分;

步骤(4)、驱动机器人到达新的生成点。

与现有技术相比,本发明的有益效果是:

本发明方法在机器人利用slam技术获取场景地图与自身位姿信息的基础上,将质心维诺细分算法(centroidalvoronoitessellation,cvt)与目标跟踪算法相结合,实现了多机器人的编队控制;即期望队形结构由cvt算法划分后的各个voronoi单元的质心构成,设计编队控制器控制机器人完成对其对应质心的跟踪,从而实现多机器人编队,且可以通过调整质心voronoi算法中的密度函数,实时的改变期望的目标队形,显著提高了队形变换的灵活性。

附图说明

图1是本发明算法流程框图;

图2是本发明机器人初始化位置;

图3是本发明matlab仿真平台下的多机器人编队控制,其中,图3(a)为均匀密度函数,图3(b)为正方形编队,图3(c)为高斯密度函数,图3(d)为菱形编队,图3(e)为“v”形密度函数,图3(f)为直线形编队;

图4是本发明stage仿真平台下的多机器人编队控制,其中,图4(a)为均匀密度函数下voronoi划分,图4(b)为机器人在舞台中央编队,图4(c)为均匀密度函数下的代价函数,图4(d)为高斯密度函数下的voronoi划分,图4(e)为机器人在原点处编队,图4(f)为高斯密度函数下的能量函数,图4(g)为“v”形密度函数下的voronoi划分,图4(h)为机器人直线形编队,图4(i)为“v”形分布密度函数下的代价函数。

具体实施方式

下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。

cvt算法是将包含p个生成点的区域分割成p个单元格,每个单元格包含一个生成点,且单元格中的其他点与该单元格的生成点距离最近,从而保证系统的能量函数到达最小值。在此基础上,首先假设目标区域设置了k个能量有限的虚拟无线传感器,为了最大化传感器的使用寿命,考虑了一种解决方案,即传感器只与最近的机器人进行数据交互,能够有效的降低信息传输的功耗,且更快的获取周围环境信息。

假设多机器人系统中的单个机器人具有位置pi∈q,i∈{1,2,...,n}即n个机器人在有界区间q∈m2内运动,s2为目标区域的二维栅格地图。无线传感器的位置表示为qj∈s2j∈{1,2,...,k}以机器人位置作为voronoi划分的生成点,则区域q内的voronoi单元y={v1,v2,...,vn}表示为:

将k个能量有限的虚拟无线传感器采集的数据拟合为cvt算法的密度函数σ(q)σ(q)为在全局地图上定义的密度函数,σ(q)值较大意味着某种属性的密度更高,或是更为特殊的位置,通常由传感器网络进行测量来代表某些区域的属性,在有界区域q内的代价函数定义为:

多机器人执行任务的目标区域为无障碍物场景,通过修改拟合的密度函数,使得机器人在区域内趋向于期望的队形,图1为4个机器人的初始化位置。

在应用cvt算法之前,需要设置密度函数σ(x,y)该密度函数取决于期望的队形。首先将所有传感器的检测值设置为均匀分布,如图3(a)所示,此时机器人均匀划分区域,如图3(c)所示,构成了正方形编队。菱形编队的形成是在正方形编队的基础上调整密度函数为高斯函数,如公式(3)所示。其中函数的最大值(xc,yc)被放置在期望的编队形成处,δ为高斯函数的正增益,指数部分为椭圆公式,为了将密度较大处扩展为椭圆,而不是一个点。该密度函数的仿真结果如图3(c)所示,形成的菱形编队如图3(d)所示。

将密度函数调整为“v”形函数,如公式(4)所示。该密度函数的仿真结果如图3(e)所示,形成的直线型编队如图3(f)所示。最终通过密度函数的改变使多机器人间满足期望的队形。

为了进一步验证算法的可靠性,在ros操作系统下的stage仿真平台上对算法进行了验证,选用的是turtlebot3系列的机器人。机器人的运动模型为差速控制模型在stage仿真平台下,首先假设地图大小为s=20*20m2,且是没有障碍物的环境地图,四个机器人分别由图中的圆柱体表示。当voronoi代价函数达到最小值时,认为机器人达到该密度函数下的期望位置,即构成了目标队形。由于voronoi划分的具体流程与matlab相同,只展示了代价函数趋于稳定时的仿真结果。图4(a)函数均匀分布下的voronoi划分,机器人在stage仿真平台上均匀分布,如图4(b)所示。图4(d)原点为中心的高斯分布密度函数下的voronoi划分,此时的极值点在原点附近,导致机器人在密度值最大的原点处编队,如图4(e)所示。图4(g)为“v”形分布密度函数下的voronoi划分,此时的极值点在地图中间区域,导致机器人在中间区域直线型编队,如图4(h)所示。

对于本技术领域的普通技术人员来说,在不脱离本发明所属原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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