基于改进的人工势场法的机器人避障控制及其MATLAB实现

2013-10-10 12:10杨一波王朝立
上海理工大学学报 2013年5期
关键词:势场移动机器人合力

杨一波, 王朝立

(上海理工大学 光电信息与计算机工程学院,上海 200093)

近年来,多移动机器人技术已经得到广泛的应用,遍及工业、军事、农业、空间探索、海洋等众多领域.多移动机器人协同工作能够完成单个机器人难以完成的任务,如何使多移动机器人的编队控制更加准确协调已成为目前研究热点.目前,对于多机器人编队问题的研究主要有领航-跟随者法、基于行为的方法、虚拟结构法、人工势场法等.文献[1]中提出了一种采用分层的时空表和时间控制器的多机器人编队方法,解决了机器人间的协调协作问题,使多机器人编队系统具有较强的环境自适应能力.但方法缺乏对于编队避障方法的论述.文献[2]中提出了基于领航者-跟随者的编队及避障法,通过一个总势场进行编队控制和避障,算法简单,利用此法能够顺利通过狭窄通道、静态障碍物和动态障碍物,并在避障后恢复队形,顺利到达目标.但是,随着移动机器人数量的增加和环境复杂程度的增加,总势场函数变得复杂,有可能存在死锁和震荡现象.对于已知环境下的单机器人避障问题,已经有许多有效的解决方法,如人工势场法、栅格法和神经网络法等.由于人工势场法描述直观,并且易于实时控制,因此得到了广泛的应用.

人工势场法首先由Khatib提出,其基本思想是借鉴物理方面的概念[3]:环境中的障碍物对机器人产生斥力,目标点对机器人产生吸引力,机器人在合力的驱动下运动.人工势场的编队控制主要是通过设计人工势场和势场函数来表示环境队形中各机器人之间的约束关系,并以此为基础进行分析和控制.它的优点是便于实现实时控制,并且在控制队形的同时将避障问题利用人工势场一起考虑,使队形保持和避障统一用势场法来控制.文献[4]针对由于局部极小点所产生的机器人运动反复震荡和停止不前的问题,提出了一种带记忆功能的沿墙走行为方法改进人工势场法,该方法通过沿着障碍物的边缘行走以跳出人工势场法的局部最小点,并记录和分析机器人走过的局部最小点来判断目标点是否被障碍包围,以避免机器人一直来回震荡或者围着目标点转圈.文献[5]针对动态障碍物,在传统人工势场法相对位置势场的基础上引入速度势场,利用量子粒子群算法对引力场、斥力场增益系数进行优化,可以得到较平滑、安全的路径.但文献[3]和文献[5]这两种方法都存在算法开销比较大的缺点,对于机器人运动的实时性会产生影响.本文以人工势场法为基础,利用该方法具有较高反应速度的特点,针对机器人在避碰规划中存在的问题,采用改进势场的方法来解决机器人在路径避碰规划中的局部极小问题.

1 传统的人工势场法

机器人在人工势场中的受力如图1所示,人工势场法在机器人的运动空间中创建了一个势场.F1表示目标对机器人的斥力,随着机器人与障碍物的距离增加而单调递减,F2表示目标对机器人的引力,随着与目标距离增加而单调递增,Fh表示引力和斥力的合力,机器人沿着合力的方向运动.

图1 机器人在人工势场中的受力情况Fig.1 Strength forced on the robot in artificial potential field

定义势场函数为

式中,Ua,Ur为目标点和障碍物对机器人的引力场.

定义引力势场为

式中,k为大于0的引力场常量;Xg为目标点位置.

定义引力为引力势场的负梯度

定义斥力势场为

式中,m为大于0的斥力场常量;ρ为障碍物的影响范围;Xo为障碍物位置.

定义斥力为引力场的负梯度

因此总势场函数为

机器人收到的合力为

此合力决定了机器人的运动.

传统人工势场法的局限性在于,当目标点对机器人的引力和障碍物对机器人的斥力的合力为零时,出现机器人永远无法到达目标点的现象.称之为局部极小点问题.文献[4]中提出的随机扰动法,可以解决一些情况下的局部极小点问题.但是这一方法存在规划速度慢的问题,在一些应用中可能无法满足实时性要求.因此提出了一种改进势场函数的方法来解决这些问题.

2 改进的人工势场法

针对传统人工势场法存在的问题,可以通过引入目标点与机器人的相对位置,将原有斥力场函数乘以一个因子(X-Xg)n,使得目标位置处斥力为零来加以解决.

修改后的斥力场函数为

其中,n≥0

此时的斥力为

其中

此时机器人所受斥力情况如图2所示.

3 基于改进人工势场法的机器人避碰控制算法的MATLAB实现

图2 机器人在改进的人工势场中的受力情况Fig.2 Strength forced on the robot in improved artificial potential field

上述基于改进人工势场法的机器人避碰控制算法在MATLAB中是用m语言来实现的.程序采用模块化设计,从而增强了系统的可扩展性.主要包括:障碍物生成、角度计算、引力计算、斥力计算、合力计算、到达目标判断、模型绘制等模块.其中,障碍物生成模块负责在指定的坐标生成指定大小的障碍物;角度计算模块负责计算机器人与目标及障碍物的角度;引力计算模块负责计算引力场及引力;斥力计算模块负责计算斥力场及斥力;合力计算模块负责计算机器人受到的合力;到达目标判断模块负责判断机器人是否已经到达目标;模型绘制模块负责在二维坐标系下绘制机器人避障的整个过程.主程序的流程图如图3所示.

图3 主程序流程图Fig.3 Flow chart of the main program

其中,改进后的斥力场与斥力计算模块

if rre(i)>Po%如果每个障碍和路径的距离大于障碍影响距离,斥力令为0

仿真实验表明:采用传统人工势场法时,当机器人运动到最小那个障碍物时,由于所受斥力和引力的合力为零,此处出现局部极小点,故机器人停止运动,最终不能到达目标处,运动过程如图4(a)所示;当采用改进人工势场法时,当机器人运动到最小那个障碍物时,由于引入了与目标点相关的因子,因而不会出现局部极小点,机器人可以顺利到达目标处,运动过程如图4(b)所示.图5为与两种方法所对应的势场曲线图,图5(a)对应传统人工势场法,可以看到,当机器人运行到第200步的时候,斥力势场出现了局部极小点,因此机器人停止了运动;图5(b)对应改进人工势场法,可以看到运行到第100步时,虽然出现了震荡,但斥力势场没有出现局部极小点,因此机器人最终可以到达目标点.实验结果表明了算法是有效可行的.

5 结 论

提出了一种基于改进人工势场法的非完整移动机器人编队中的避碰控制方法,并将其在MATLAB中使用m语言予以实现.仿真实验表明,利用改进人工势场法,通过所设计的总势场对机器人进行编队和避障控制,机器人可以顺利克服局部极小点,最终避开障碍物到达目的地,算法简单,实时性好.

[1]张汝波,王兢.具有环境自适应能力的多机器人编队系统研究[J].机器人,2004,26(1):69-73.

[2]张凤.基于Leader-follower与人工势场的多移动机器人编队控制[J].沈阳建筑大学学报,2010,26(4):803-806.

[3]蒋新松.机器人学导论[M].洛阳:辽宁科学技术出版社,1993.

[4]Huang Y Q,Hu H.Obstacles avoidance of artificial potential field method with memory function in complex environment[C]∥ Proceedings of the 8th World Congress on Intelligent Control and Automation.Cincinnati:IEEE,2011:6414-6418.

[5]Zhang H,Liu Y.The dynamic path planning research for mobile robot based on artificial potential field[C]∥ Proceedings of the 17th IEEE International Conference on Tools with Artificial Intelligence.Moorhead:IEEE,2005:736-2739.

[6]张建英,刘暾.基于人工势场法的移动机器人最优路径规划[J].航空学报,2007,28(21):188-191.

猜你喜欢
势场移动机器人合力
移动机器人自主动态避障方法
基于Frenet和改进人工势场的在轨规避路径自主规划
“芪”心合力
合力
基于激光雷达的机器人改进人工势场路径规划研究
库车坳陷南斜坡古流体势场对陆相油气运聚的控制
基于Twincat的移动机器人制孔系统
基于偶极势场的自主水下航行器回坞导引算法
合力同行 创新共赢
在“合力”中呵护未成年人