基于模糊人工势场法的移动机器人路径规划

2015-10-30 07:22李嘉琦
制造业自动化 2015年13期
关键词:势场移动机器人障碍物

潘 洲,万 衡,李嘉琦

(上海应用技术学院 电气与电子工程学院,上海 201418)

0 引言

路径规划是移动机器人领域的一个重要研究课题[1]。路径规划的方法很多,主要有可视图法、蚁群算法、粒子群算法,遗传算法等。可视图法没有考虑机器人本身的形状大小,容易造成与障碍物的碰撞,同时随着障碍物的增多,计算复杂性增加,搜索时间长。蚁群算法、粒子群算法、遗传算法等算法普遍存在算法耗时多、计算量大、存储空间占用多的缺点。随着人们对实时性要求的提高,同时复杂的环境也很难用精确的数学模型来描述,所以越来越多的人转向了结构简单的人工势场法和模糊逻辑算法。人工势场法规划出的可行路径一般比较平滑且安全,在实时避障和平滑轨迹控制等方面得到了广泛应用[2]。机器人运动环境复杂,障碍物位置信息很难用精确的数学模型来描述,因此采用模糊逻辑算法非常适合移动机器人的避障问题,模糊逻辑算法避开了传统算法对环境模型依赖性强等缺点[3],对于复杂环境下路径规划,有较强的优越性和实时性。

本文基于势场模型和模糊控制理论,采用设置虚拟障碍点的方法,解决了局部最小问题, 同时对于复杂环境,一方面能够提前感知障碍物的位置信息,并对机器人的航向角进行实时修正,极大减小了与障碍物碰撞的概率;另一方面能够对机器人的速度进行实时调节,保证安全避障的同时使得路径也更加平滑,并且提高了算法的性能。仿真研究表明,该方法更具优越性和实时性。

1 人工势场法原理及其改进

人工势场法是由Khatib[4]提出的一种虚拟力法。其基本思想设计成一种抽象的人造引力场来处理机器人的运动,目标点对机器人产生“引力”,障碍物对机器人产生“斥力”,最后通过所求合力来控制机器人的运动。

1.1 势场函数

设机器人的位置信息为X=(x,y),目标点的位置信息为Xg=(xg,yg),目标G对智能机器人X起吸引作用,而且距离越远,吸引力越大,反之就越小。当距离为零时,机器人的势能为零,此时机器人到达终点。通常引力场势函数的一般形式如式(1)所示:

式中,kg是引力场增益系数;X-Xg为机器人X和目标点Xg之间的距离。

相应的引力Fg是引力场势函数的负梯度,即:

式中,吸引力Fg方向指向目标点,在机器人到达目标点时,该力为零。

相应的斥力场函数可表示为:

式中,krep是斥力场增益系数为机器人X与障碍物O之间的最短距离是一个常数,代表障碍物的影响距离。

相应的斥力为:

机器人受到的合力为:

此合力决定了机器人的运动方向。

1.2 改进的势场函数

当目标点在机器人附近时,同时处在障碍物的影响范围内,机器人越是接近障碍斥力就越大,而引力相对斥力来说很小,最终导致机器人无法到达目标点。这就是势场法的目标不可达问题,部分文献也称作全局最小问题[5],即目标点在全局总势场中不是最低点。因此通过引入一个距离因子,即目标点与机器人的相对距离,然后与斥力势场函数相乘,使其在目标点位置处合力为零,保证目标点是整个势场的全局最小点[6~7]。因此改进的斥力场势函数一般形式如下:

当机器人不在目标点时,相应的斥力为:

式中,Fo1和Fo2是斥力的两个分力:

通过分析,加入距离因子后,机器人在到达目标点时,保证了势场值的全局最小,从而有效解决了目标不可达的问题。

1.3 局部最小问题

虽然对斥力势场函数进行了改进,解决了目标不可达问题,但是局部最小的问题并没有解决,所谓局部最小值,即当机器人、障碍物、目标点在同一条线上,并且障碍物在机器人和目标点之间,同时机器人未到达目标点时,多个障碍物对机器人产生的斥力以及目标点对机器人产生的引力的合力为零。当陷入局部最小后,由于引力斥力反复变化,机器人会在小范围内徘徊运动,也可能受到合力为零,导致静止不动[8],如图1所示。

产生局部最小最典型的环境是凹形环境,本文针对凹形环境,在机器人附近添加一个虚拟障碍点,虚拟障碍点的位置在机器人和目标点之间,这样虚拟障碍点产生的斥力就可以推动机器人离开局部最小点,该算法简单高效、实现方便。

设机器人陷入局部最小时的坐标为(x,y),机器人目标点坐标为(xg,yg),则虚拟障碍物的坐标(xvo,yvo)计算方法如下:

式中,d为机器人当前点和目标点连线上距目标点的距离,可以根据具体情况设置;L是一个小于1的常数。添加虚拟障碍点后的仿真图如图2所示。

从两张图中可以看出,采用传统的人工势场法,机器人会陷入局部最小值,如图1所示;当采用虚拟障碍点法后,机器人可以克服局部最小值,顺利到达目标点,如图2所示,图中*号标志是虚拟障碍点的位置。

图1 传统人工势场法

图2 改进的人工势场法

2 模糊人工势场法

模糊控制是以模糊集理论、模糊语言变量和模糊逻辑推理为基础的一种智能控制方法,它从行为上模仿人的模糊推理和决策过程。模糊逻辑算法能够实时获取传感器信息,参考人类的驾驶经验,设计规则表,这样既能使机器人顺利完成任务,又满足了实时性的需求。本文设计了两个模糊控制器,分别用来修正机器人的航向角以及调节机器人的速度,同时人工势场法结合,共同完成机器人的路径规划。

2.1 确定输入输出量及模糊化

移动机器人把通过外部传感器获取障碍物的距离信息以及其他相关信息输入给模糊控制器,经过模糊处理后输出的数据用于控制机器人的运动。

由于势场法忽略了机器人自身的几何信息,为了减少机器人与障碍物的碰撞概率,模糊控制器1应运而生。而且本文在原有基础上[9]进行了改进,增加了障碍物与机器人之间的距离信息,提高了机器人避障的可靠性与安全性。

模糊控制器1的输入变量分别为最近障碍物点与机器人连线和合力之间的夹角以及最近障碍点与机器人之间的距离,输出为修正角 。

图3 模糊控制器1

机器人步长在路径规划中是一个非常重要的参数。如果设置的过大,障碍物的尺寸就相对变小,传统人工势场法的之字型路线会有所改善,变得更加平缓,如果设置的过小,将会降低算法性能[10]。如果盲目的增加步长,则会增大碰撞几率,所以面对比较复杂的环境,需要适当的减小步长。基于以上分析,本文设计了一个模糊控制器2来实时调整机器人的步长。

模糊控制器2的输入变量分别是机器人离目标点的距离dg以及由人工势场法获取的合力方向的航向角的变化,即上一次的航向角和本次航向角之差,输出变量为速度v。其基本思想是机器人离目标点越近,速度就越小,机器人前后两次航向角的变化越大,说明机器人所处环境就越复杂,则速度就越小。本着这样的思想,将输入变量dg和的取值范围分别定义为(0,100)和,其论域分别为{Z G,S G,M G,B G}和{NB,NS,Z,PS,PB},输出变量v的取值范围定义为(0,2),论域为{SD,MD,BD,VBD}(V:very),输入输出变量绘图表示如图2所示。

图4 模糊控制器2

2.2 设定模糊规则和去模糊化

模糊规则的建立是模糊控制的核心[11]。模糊控制系统用一系列模糊语言描述的控制规则就构成了模糊规则库。控制规则的设定是基于人类日常行走和驾车的经验,这些经验是人类长期积累的结果。

通过模糊推理得到的结果是一个模糊集合。但在实际控制中,必须要有一个确定值才能控制机器人运动,这就需要将模糊推理结果转化为精确值,即去模糊化。

去模糊化的方法主要有3种,包括最大隶属度法、重心法以及加权平均法。本文用的是重心法,重心法是取隶属度函数曲线与横坐标围成面积的重心作为模糊推理最终输出值,对于具有m个输入量化级别的离散域情况有:

与最大隶属度法相比,重心法具有更平滑的输出推理控制。即使对应输入信号的微小变化,输出也会发生变化。

3 仿真实验及结果

为了验证上述算法的效果,在MATLAB环境下设计了仿真实验。针对上述的几种情况进行了比较,观察改进后的效果。

机器人步长设置为1,起点坐标为(10,0),目标点坐标为(100,100)。

3.1 模糊控制器1仿真

仿真结果表明,由图5和图6箭头所指的地方对比可知,加入了模糊控制器1后,能够更早预知障碍物位置信息,避免与障碍物发生碰撞,可以更好的感知环境信息,实时修正航向角,实时与障碍物保持一定的距离,避障效果更佳,路径也更加平滑。

图5 未加模糊控制器1

图6 增加模糊控制器1

图7 步长为0.5

图8 自动调速

3.2 模糊控制器2仿真

仿真结果表明,当步长很小时,如图7所示,虽然路径比较平滑,而且因为速度慢,在距障碍物比较近的时候也不容易发生碰撞,但是完成路径规划所需的步数太多,使得规划的时间过长,降低了算法的性能;如果一直以一个恒定的速度运动,假设机器人周围障碍物密集,那么机器人很大程度上是来不及避障的,因此模糊控制器2的加入成为必须,如图8所示,在离目标点很远且周围障碍物比较少时,速度比较大,在周围障碍物比较多或者离目标点比较近时,则速度减慢,同时完成路径规划所用的步数也比较适中,这样,不仅兼顾了路径规划的实时性与安全性,而且提高了算法的性能。

4 结束语

针对复杂环境下移动机器人路径规划问题,提出了将模糊逻辑与人工势场相结合的方法,对传统人工势场法进行了改进,能够使机器人快速摆脱局部最小,结合模糊逻辑理论,避开了传统算法对环境模型信息依赖性强的缺点,题,同时也弥补了人工势场法忽略机器人自身几何信息的缺陷,算法简单高效。最后针对文中提到的几种情况分别用MATLAB对算法进行了仿真,验证了此方法的有效性与可行性。表明该算法具有一定的实时性与适应性,提高了避障的快速性与可靠性,同时规划的路径也更加平滑,增强了系统的稳定性和鲁棒性。

[1] 石为人,黄兴华,周伟.基于改进人工势场法的移动机器入路径规划[J].计算机应用,2010,30(8):2021-2023.

[2] 孟蕊,苏维均,连晓峰.基于动态模糊人工势场法的移动机器人路径规划[J].计算机工程与设计,2010,31(7):1558-1561.

[3] 黄炳强,曹广益.基于人工势场法的移动机器人路径规划研究[J].计算机工程与应用,2006,42(27):26-28.

[4] KHABIT O.Real-Time obstacle avoidance for manipulators and mobile robots[J].The Internati-onal Journal of Robotics Research,1986,5(01):90-98.

[5] Wu K H, Chen C H, Ko J M. Path planning and prototype design of an AGV[J].Mathematical and Computer Modelling,1999,30(728):147-167.

[6] 王萌,王晓荣,李春贵,等.改进人工势场法的移动机器人路径规划研究[J].计算机工程与设计,2008,29(6):1504-1506.

[7] 胡志华,樊晓平.基于改进人工势场力的机器人路径规划[J].微计算机信息,2009,25(8):178-179.

[8] 黄健生.移动机器人的路径规划研究[D].浙江大学,2008:24-35.

[9] 王攀攀.部分未知环境中移动机器人动态避障研究[D].哈尔滨工业大学,2012:41-48.

[10] 倪斌.未知环境下机器人路径规划算法研究[D].复旦大学,2006:46-47.

[11] MucientesM,Moreno D L,Bugarin A,et a1.Design of a fuzzy controllerin mobile robotics usinggenetic algorithms[J].Applied SoftComputing,2007,7(2):540-546.

猜你喜欢
势场移动机器人障碍物
移动机器人自主动态避障方法
基于Frenet和改进人工势场的在轨规避路径自主规划
融合前车轨迹预测的改进人工势场轨迹规划研究
基于改进型人工势场的无人车局部避障
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
赶飞机
基于势场搜索的无人车动态避障路径规划算法研究
基于Twincat的移动机器人制孔系统
极坐标系下移动机器人的点镇定