多机器人编队的人工势场法控制
- 格式:docx
- 大小:42.04 KB
- 文档页数:9
多机器人编队的人工势场法控制高溪钠;吴丽娟;李玮玮;王婧怡;陈晓峰【摘要】针对多机器人编队控稍中的队形形成问题进行研究.利用控制算法中的人工势场法解决多机器人队形形成问题,结构简单、易于计算,方便对多机器人实时控制.首先,针对多机器人的队形位置用目标点搜索算法,寻找到正确的队形位置点,防止多机器人在空间内绕路,减少编队时间;然后,通过人工势场算法规划各机器人的路径,在机器人行进过程中,利用优先级蔽障方法避免与其他机器人碰撞;最后,对多机器人的队形形成进行仿真,实验证明队形形成的有效性,算法简单易于实现.【期刊名称】《辽宁科技大学学报》【年(卷),期】2014(037)004【总页数】6页(P381-386)【关键词】多机器人编队控制;队形形成;人工势场法;目标点搜索算法【作者】高溪钠;吴丽娟;李玮玮;王婧怡;陈晓峰【作者单位】辽宁科技大学电子与信息工程学院,辽宁鞍山114051;辽宁科技大学电子与信息工程学院,辽宁鞍山114051;国家电网鞍山供电公司,辽宁鞍山114001;国家电网鞍山供电公司,辽宁鞍山114001;鞍钢股份有限公司冷轧厂,辽宁鞍山114021【正文语种】中文【中图分类】TP242多机器人协作作为机器人新的应用方式引起广泛关注和研究。
多机器人协作系统的代表性和经典性是其关键技术,也是多机器人编队控制的首要问题,包括队形形成和队形控制两方面内容[1-2]。
多机器人编队控制初始过程也就是多机器人控制中的队形形成问题[3-6]。
目前,学者对机器人的研究仅仅是把机器人当作质点,考虑使用一些控制算法来实现关于多机器人的队形问题,可以使它们组成简单的队形,比如圆形,直线和菱形[3]。
显然在实际中多机器人并不是简单的质点运动,在此基础上Yun等提出基于非完整约束性机器人的改进控制算法[4]。
Yamaguchi考虑局部环境信息提出一种构造向量的弧状队形方法[5]。
韩学东等以Yamaguchi为参考,针对队形控制算法的原理进行扩展,分布式的控制算法使机器人的运动快速收敛,提高了机器人的收敛速度[6]。
本文的研究背景是多机器人编队从开始的随机位置形成规定的整体队形,也就是关于多机器人编队控制中的队形形成问题。
由于人工势场算法不仅包括应对灵敏度好,计算量小等优点,而且具有高性能特点[7]。
人工势场法作为路径规划的常用方法可以应用到各个机器人在形成编队队形的过程中,同时用目标点搜索算法保证各个机器人避免在二维指定的空间内绕远,正确运动到合理的目标点位置,尽快组成编队队形。
1 问题描述多机器人的队形形成问题包括两个问题∶一是确定各机器人一一对应的合理目标点位置;二是规划各机器人无障碍的路径——从初始点到形成队形的目标点。
图1 确定各机器人合理的目标点Fig.1 Reasonabletarget pointsof robots问题一的核心在于为各机器人选择合理的对应目标点位置。
在多机器人队形形成过程中,多机器人在目标区域内尽快到达目标位置点,也就表示多机器人中的最后一个机器人到达目标点的时间要尽量短。
如果多机器人在排成队形位置的空间内绕路或者调整已经选定的目标点位置,就会引起空间内阻塞,因此在规划路径前各机器人选择合理的一一对应的队形位置,不仅可以防止机器人绕远,又能尽快组成指定的队形,最终使各机器人有秩序地到达队形的位置点。
针对问题一的描述,如图1所示。
假设∶初始状态的机器人R 1,R 2,R3,所要组成三角形队形的目标位置点为T 1,T 2,T 3。
通常根据计算各个机器人到达目标点最近的距离来选择合理的目标点位置,所以R 2,R1,R 3的目标点位置分别对应的位置是T 1,T 2,T 3。
R 2距离目标点位置最短,所以3个机器人当中最先到达,R 1的目标点位置在R 2目标点位置的后面距离远后到达,这样显然就增加R 1躲避障碍物的次数。
针对这个问题,变换R 2,R 1的目标点位置,考虑到R 2到T 2的距离比R 1到T 1的近,本应该R 2优先选择,但是R 1到达T 2的距离也是机器人R 1到达所有目标点位置最近距离的点,在此规定在目标区域内目标点发生冲突时,机器人距离目标点越远其优先级就越高,R 1的优先级高于R2。
同理,R 2的优先级高于R3,R 1选择目标点位置为T 2,R 2的目标点位置为T 3,R3对应的目标点位置是T 1。
优先级从高到低排列就是R 1,R 2,R 3。
问题二针对机器人从起始点到目标点的无碰撞的路径规划问题。
利用人工势场算法,该算法主要利用环境中的障碍物和目标点作用在机器人上产生的虚拟势场力。
障碍物和目标点对于机器人分别形成斥力和引力,机器人前进的位置变化是受到斥力加上引力的合力来控制的,机器人在任何位置移动方向也都是势场的合力决定的。
所以,利用人工势场算法实现机器人躲避静态障碍物。
对于多机器人队形形成,其向目标点位置的运动过程避免不了与其他机器人发生碰撞。
本文采用优先级避障方法来解决机器人之间的碰撞[8]。
由问题一可知机器人的优先级排列顺序,各机器人在运动过程中通过传感器探测,如果探测到将与其他机器人发生碰撞时,可按优先级排列顺序,级别高的保持原来的速度继续,而较低的机器人停止运动,直到优先级较高的机器人运动路程超过两个机器人之间的最小安全距离时,优先级较低的机器人按原来的速度继续运动到达目标点位置,当所有机器人到达目标点位置时多机器人编队控制的队形完成。
2 系统实现2.1 目标点搜索算法目标点搜索算法用于解决问题一,核心思想是在多机器人编队控制的队形形成中,在二维空间内选择距离最近的队形位置点,当两个机器人所选择的位置点有矛盾时,即两个机器人选择同一队形位置点,距离位置点相对较远的机器人可以优先选择。
首先,将n个目标点位置记为T0,...,Tn-1,在环境中的机器人集合记为ΩR,多机器人编队形成位置点集合记为ΩT,PRI是机器人的优先级。
目标点搜索算法具体步骤如图2所示。
第一步∶初始化。
PRI=n。
第二步∶在理想状态下,Ri∈ΩR对各个目标点位置进行遍历,得到距离Ri最近的目标点位置,该距离理想长度可以为di。
图2 目标搜索算法的过程图Fig.2 Flow chart of target search algorithm第三步∶假设与之间距离为d m,则Ta就是Rj对应目标点,PRI是Rj的优先级。
第四步∶转第二步;否则搜索完毕。
注1∶如果相同情况下,离机器人最近的位置点有多个,那么该机器人可以选择最近位置点中的任何一个作为队形形成过程中的目标点位置。
注2∶优先集合{ }0,1,2,…,n-1,0是最高优先级。
2.2 机器人路径规划方法多机器人编队控制的队形形成在本文设定的环境下可以分成三步∶(1)机器人转向目标点位置;(2)在人工势场环境下机器人到达目标点;(3)调整机器人与目标点的角度。
2.2.1 机器人的转向本文的仿真实验中,机器人不能被看做一个简单的质点,把机器人的朝向问题考虑在内。
机器人初始位置和目标位置方向不一致时(不在机器人运动的正前方向时),机器人首先要选择转向目标。
已知当前状态是(x s , y s,θs) ,目标状态是(x g, y g,θg),θ是两个状态机器人朝向之间的夹角,逆时针方向为正方向,可表示为2.2.2 机器人人工势场的设计通过目标搜索算法可知各机器人的目标点位置,在设计人工势场时,除了二维空间中的障碍物,其他机器人的目标点也视为障碍物,所以就出现了在目标点附近有障碍物的人工势场法局部极值点问题。
(1)传统的人工势场算法。
在通常的路径规划方法中,人工势场算法是较有效果的方法[9-10]。
在机器人的运动二维空间中,利用障碍物,机器人和目标点形成虚拟的人工势场,在势场中使障碍物和目标对机器人分别形成斥力和引力,而它们的合力就可以控制机器人的运动方向躲避静态障碍物。
定义吸引力的函数为式中∶k是正比例增益系数;X表示机器人;X g表示为目标位置;为机器人到目标点的间隔长度。
目标对机器人的吸引力F att是其场函数的负梯度而排斥力的场函数为式中∶η是正比例系数;ρ(X , X0)是机器人到障碍物之间的最短距离;ρ0是障碍物影响的最大半径,其值由障碍物和目标之间的特定位置来决定。
通常,这个值小于每个障碍物之间的距离和目标与每个障碍物之间的最短距离。
障碍物对目标的斥力为机器人受的合力为(2)改进的人工势场算法。
当各机器人到达目标点附近时,就会出现两种情况,一是当障碍物(其他机器人的目标点位置)在目标点附近时;二是目标点、障碍物和机器人三者在一条直线上,这些都使机器人无法到达目标点位置[11]。
①障碍物在目标点位置附近。
如果当目标点位置在障碍物附近时,排斥力和吸引力分别快速地增加和降低,机器人就抵达不了目标点的位置。
所以改进排斥势场函数在改进的模型中,添加调节器是机器人之间的相对距离,n是一个大于零的实数。
当机器人运动到目标点位置附近时,势场所产生的吸引力和排斥力都适当的降低。
而当机器人运动到目标点位置时它们都减少为0。
相应的斥力式中∶F rep1表示距离机器人最近的障碍物所产生斥力分量(朝向机器人方向)F rep2表示机器人对目标方向的斥力分量通过改进的人工势场算法,各机器人到达目标点附近出现的局部极小值问题就可以解决,各机器人顺利到达各目标点位置。
2.3 路径规划算法多机器人队形形成为三角形是本文的仿真要求,当最后一个机器人到达目标点位置时,程序结束。
路径规划算法过程如下∶Step1 初始化,设定二维空间中所有机器人的起始位置、障碍物的位置、机器人之间的安全距离。
Step2 通过目标点搜索算法计算得到各机器人合理的目标点位置。
Step3 利用改进的人工势场算法来规划各机器人的路径。
Step4 在向目标点前进过程中∶(1)机器人Ri通过传感器探测和其他机器人Ri+1之间的距离小于安全距离时,转到step5;(2)机器人继续前进,直到到达目标点位置,程序结束。
图3 修改后的机器人所受的斥力Fig.3 Repulsion of modified robotStep5 判断机器人Ri的优先级,如果低于机器人Ri+1时,机器人Ri+1继续前进,机器人Ri停止直到与机器人Ri+1距离大于安全距离时继续运动,否则相反。
3 系统仿真为了验证人工势场算法在多机器人队形形成的正确性和有效性,本文利用软件MATLAB对队形形成进行验证。
仿真参数设置∶仿真环境为15 m×15 m,目标点产生的引力系数设为2,障碍物对机器人和目标点的影响距离设为2 m,斥力的系数设为5,各个机器人速度为0.1 m/s,环境中障碍物个数为5,机器人之间的安全距离设为1 m。
考虑机器人的朝向问题,机器人初始状态的方向和目标位置的方向不同,如图4所示,正方形代表机器人位置,箭头表示机器人初始位置的方向,三角形代表目标点位置,其方向为y轴正方向。