基于模糊改进人工势场法的机器人避障方法研究*
2016-05-31游文洋黄卫华
游文洋, 章 政, 黄卫华
(武汉科技大学 信息科学与工程学院,湖北 武汉 430080)
基于模糊改进人工势场法的机器人避障方法研究*
游文洋, 章政, 黄卫华
(武汉科技大学 信息科学与工程学院,湖北 武汉 430080)
摘要:在内部密封、狭窄、多障碍的船舱环境中,障碍物的分布具有随机性和不确定性,对于移动机器人的避障方法而言,传统人工势场法存在目标不可达、局部极小值等问题。设计了一种基于模糊逻辑的改进人工势场法,在避障算法的局部极小值附近,基于模糊逻辑给予移动机器人辅助控制力,帮助机器人逃离局部极小值点,避免机器人在避障过程中陷入局部极小值点的问题,并且优化路径。仿真实验表明:在多障碍复杂环境下,该算法能实现机器人实时、安全的避障。
关键词:模糊逻辑; 人工势场法; 实时避障; 机器人
0引言
对于保证船舶在海上运输的安全性而言, 船舱环境的实时监测是十分有必要的。通过传统的人工监测不仅效率低、可靠性不强,而且监测的范围还会受到环境条件的限制。尽管采用大量监控设备可以获得更大的监测范围,但这也增大了成本,且视角有限。通过机器人对船舱进行监测不仅可以降低监测成本、扩大监测范围,还能够有效地提高监测的实时性和可靠性。由于船舱内结构复杂,存在很多障碍物,比如:舱壁与顶部的肋骨、舱内的设备、货物等,因此,机器人必须具备一定的避障能力。
目前广泛使用的避障方法主要有:人工势场法[1],遗传算法[2],栅格法[3],蚁群算法[4],模糊逻辑算法,神经网络算法[5]等。由于在船舱结构复杂,环境多变,所以,机器人需要在对舱内环境完全未知或部分未知的情况下仍然能够有效的避障,因此,在避障过程中只能采用局部避障算法。其中,人工势场法就是一种局部避障算法,相对于其他算法而言,它实时性强、计算量小、安全可靠,应用也最为广泛。但传统人工势场法存在局部极小值和目标不可达的问题。为此,文献[6]提出一种将人工势场法与指导性RRT算法相结合的改进算法,通过RRT算法搜索未知区域,从而使人工势场法摆脱局部极小值。但RRT算法随机性较大,改进后算法的计算量会相应增加。文献[7]通过使用量子粒子群算法来修改人工势场模型中的参数,进而克服人工势场法中局部极小值和目标不可达的问题。文献[8]中重新定义了两个斥力分量的方向:一个斥力方向与斥力势场相切,另一个斥力方向与引力方向一致,并规定斥力与引力的内积大于或等于零,从而避免了局部极小值的问题。
本文针对船舶监测机器人在实时监测过程中遇到的避障问题,提出了一种模糊改进人工势场的方法帮助机器人进行实时避障。在船舱复杂环境下,模糊逻辑能够帮助人工势场法摆脱局部极小值点并且优化避障路径。
1传统人工势场法
传统人工势场法最早是由Khatib提出来的,它的基本思想是将机器人在空间中的运动虚拟成一个质点在人工势场中的运动,目标点会对机器人产生吸引力,而障碍点会对机器人产生排斥力,机器人的运动由引力和斥力的合力控制。如图1,机器人离障碍越近斥力越大;反之,越远斥力越小。当机器人离目标点越近引力就越小;反之,离目标点越远引力越大。
图1 传统人工势场法分析Fig 1 Analysis of traditional artificial potential field method
1.1传统人工势场法简介
假定机器人为一个质点,机器人的运动空间为一个二维空间,机器人在二维工作空间的坐标为(x,y),目标点的坐标为(xg,yg),目标点对机器人产生的引力势场Uatt为
(1)
式中k为引力系数,X为机器人的坐标(x,y),Xgoal为目标点的坐标(xg,yg),X-Xgoal为机器人与目标点之间的相对距离pg
(2)
根据引力势场的负梯度可以得到引力Fatt为
(3)
障碍物的斥力势场Urep可以表示为
(4)
式中η为斥力系数,p0为障碍物的斥力影响距离,pob为目标与障碍物之间的距离。
斥力为斥力势场的负梯度函数
(5)
当机器人周围存在n个障碍物时,机器人所受到的总合力Ftoal为
(6)
1.2传统人工势场法局限性分析
传统人工势场法的局限性主要体现在以下两点:
1)目标不可达:由式(3)和式(5)可知,机器人离目标点越近受到的斥力越大,引力越少。当目标点附近存在障碍物时,机器人在目标点附近所受到的斥力大于引力,可能会导致机器人一直在目标点附近徘徊,无法到达目标点。
2)局部极小值的问题:在多障碍的复杂环境下,机器人在避障过程中受到的斥力的大小方向都是随机的。当机器人在某一点所受到的斥力和引力的大小相等且方向相反时,由于合力为零,机器人无法确定下一步的前进方向,可能会出现停止或者徘徊的情况。
2基于模糊逻辑的改进人工势场法
2.1改进人工斥力势场函数设计
为了解决人工势场法中的问题,杨一波等人[9]在传统斥力势场基础上进行了改进,将机器人与目标点之间的距离加入斥力势场函数中,以保证斥力也能够随着机器人与目标之间距离的减少而减小。改进后的斥力势场函数为
(7)
式中η为斥力系数,p0为障碍物的斥力影响距离,pob为机器人与障碍物之间的距离,X-Xgoal为机器人与目标之间的距离,n为大于零的实数。
根据上式可以得出新的斥力函数为
(8)
其中
(9)
(10)
修改后的斥力有两个分量,分量F1与原斥力方向一致,分量F2与引力方向一致,如图2所示。
图2 改进人工势场法斥力方向Fig 2 Repulsion direction of improved artificialpotential field method
2.2基于模糊逻辑的改进人工势场法设计
改进斥力势场函数后,目标不可达与部分局部极小值的问题得到了解决,但在一些特殊情况下,机器人的避障过程仍然存在局部极小值的问题。如图3(a)所示,当机器人、障碍物以及目标点在同一条直线上,且障碍物处于机器人与目标点之间时,由于修改后的斥力Frep与引力Fatt的方向始终在一条直线上,因此,合力Ftotal方向也只能沿着这条直线。在没有其他控制力辅助的情况下,机器人由于无法越过障碍物,最终将会无法到达目标点。
为了避免出现上述情况出现,避障算法需要在遇到局部极小值时给机器人一个辅助的控制力,帮助机器人逃离局部极小值点。由于船舱复杂环境下的避障过程中,障碍物的分布具有随机性和不确定性。而模糊理论对不确定的信息有很强的处理能力。为此,本文采用模糊逻辑的方法改进人工势场法以克服上述问题,其受力分析如图3(b)所示,其Ffuzzy为模糊合力。
图3 受力分析Fig 3 Force analysis
当机器人处于局部极小值点或接近局部极小值点时,通过根据经验制定的模糊规则计算出机器人的模糊合力Ffuzzy,帮助机器人脱离局部极小值点。在机器人没有处于局部极小值点时,模糊模块能够优化人工势场法的避障路径,使避障轨迹更加平滑。本文设计了一个双输入单输出的模糊逻辑模块来对人工势场法进行改进。模糊改进人工势场法的算法流程如图4所示。
图4 算法流程图Fig 4 Flow chart of algorithm
2.3模糊避障模块的设计
为了避免机器人陷入局部极小值点,优化避障路径,模糊模块的输入量必须能够准确地反映机器人的状态,输出量需要能够及时地帮助机器人脱离局部极小值点。因此,选取斥力Frep与引力Fatt之间的夹角θ以及斥力Frep与引力Fatt之差和斥力Fatt与引力Fatt的最大值之比F作为模糊模块的两个输入变量,机器人运动方向与引力方向之间的偏移角度φ作为模糊模块的输出变量。模糊模块中的变量采用连续论域。夹角θ的论域为[-π,π],模糊化后为A={NB,NM,NS,PS,PM,PB},考虑到当夹角θ处于零点附近时在一些特殊情况下可能会造成震荡,因此,夹角θ在零点附近没有进行模糊化。隶属函数选取三角形隶属函数,如图5所示。
图5 θ的隶属函数Fig 5 Membership function of θ
斥力Frep与引力Fatt之差与斥力Frep和引力Fatt的最大值之比F为
F=(Frep-Fatt)/max(Frep,Fatt).
(11)
F的论域为[-1,1],模糊化后为B={NB,NM,NS,ZO,PS,PM,PB},隶属函数分布如图6所示。
图6 F的隶属函数Fig 6 Membership function of F
图7 φ的隶属函数Fig 7 Membership function of φ
本文的单输出模糊模块具有以下形
Ri:IfθisAi,FisBi,ThenφisYi.i=1,2,…,N.
模糊模块的输入变量分别拥有6个和7个模糊子集,输出量φ有7个模糊子集,根据经验,模糊规则如表1。
表1 模糊规则
3仿真实验与结果
为了验证模糊改进人工势场算法在机器人实时避障中的可行性。本文通过Matlab软件对机器人实时避障时可能会遇到的一些情况进行了建模仿真实验。
1)目标点处于障碍物作用范围内,传统势场法中目标点不可达的情况。仿真环境下机器人的起点坐标为(0,0)m,目标点坐标为(130,130)m,障碍物半径为3 m,障碍物的斥力影响半径为20 m,步长为0.5 m。
图8是传统人工势场法在目标不可达情况下的仿真结果,由于目标点处斥力较大,在快要到达目标点时,机器人出现徘徊的情况,无法到达目标点。图9中通过模糊改进人工势场法能够有效地解决目标不可达的问题,避障路径也比较平滑。
图8 传统人工势场法Fig 8 Traditional artificial potential field method
图9 模糊改进人工势场法Fig 9 Fuzzy improved artificial potential field method
2)障碍物与机器人以及目标点处于同一直线,且障碍物在中间的情况。目标点坐标为(40,40)m。
在图10的仿真结果中,改进斥力势场函数后,在遇到这种特殊情况时,由于引力与斥力一直处于同一直线,使得机器人无法有效地避开障碍,一直在障碍物附近徘徊。如图11所示,在加入模糊模块后,机器人在遇到同样的情况时能够合理地改变运动方向,及时避免自身陷入局部极小值点,顺利地避开障碍物。
图10 改进斥力势场函数Fig 10 Improved repulsion potential field function
图11 模糊改进人工势场法Fig 11 Fuzzy improved artificial potential field method
3)多障碍、复杂环境下基于模糊改进人工势场法的机器人避障仿真。其中,障碍物的最大半径为5 m,最小半径为2 m。
根据图12的仿真结果,可以发现在多障碍物的复杂环境下,改进斥力势场函数后的人工势场法在遇到斥力方向与合力方向在同一条直线的情况时会出现徘徊不前的情况。如图13所示,模糊改进人工势场法在多障碍物的复杂环境下能够实时、有效地控制机器人成功地避开各种障碍物,规划出的避障路径也较为平顺。
图12 改进斥力势场函数Fig 12 Improved repulsion potential field function
图13 模糊改进人工势场法Fig 13 Fuzzy improved artificial potential field method
4结论
为了解决船舱内机器人移动监测中的避障问题,本文设计了一种基于模糊改进的人工势场法。首先分析了传统人工势场法中目标不可达和局部极小值问题产生的原因,并且针对上述问题对传统人工势场法进行了改进。为了避免机器人陷入局部极小值点,基于模糊理论对人工势场法进行改进。基于模糊改进的人工势场法能够提供一个模糊合力Ffuzzy帮助机器人选择避障方向。本文在Matlab的环境下对基于模糊改进人工势场法进行了仿真实验,仿真结果证明:本方法能够有效地指导机器人在多障碍复杂环境下进行安全避障,避障路径平滑,有效。
参考文献:
[1]刘和祥,边信黔.基于传感器信息的AUV局部避碰研究[J].传感器与微系统,2007,26(12):41-43.
[2]王越超.未知环境下基于可拓遗传算法的避障算法[J].计算机工程与应用,2010,46(20):226-229.
[3]朱磊.基于栅格法的矿难搜索机器人全局路劲规划与局部避障[J].中南大学学报,2011,42(11):3421-3428.
[4]裴振兵,陈雪波.改进蚁群算法及其在机器人避障中的应用[J].智能系统学报,2015,10(1):90-96.
[5]魏权利.模糊神经网络在嵌入式移动机器人避障中的应用研究[J].机床与液压,2010,38(17):51-54.
[6]乔慧芬.移动机器人的实时路径规划研究与仿真[J].计算机仿真,2015,32(1):406-410.
[7]杨柳,张洪.基于人工势场法的移动机器人路径规划研究[J].机床与液压,2011,39(9):68-70.
[8]刘涛,李海滨,段志心.基于人工力场的移动机器人路径规划研究[J].计算机仿真,2007,24(11),144-146.
[9]杨一波,王朝立.基于改进的人工势场法的机器人避障控制及其Matlab实现[J].上海理工大学学报,2013,35(5):496-500.
游文洋(1991-),男,湖北仙桃人,硕士研究生,主要从事智能控制、嵌入式方面的研究。
Obstacle avoidance method research for robot based on fuzzy improved artificial potential field*
YOU Wen-yang, ZHANG Zheng, HUANG Wei-hua
(School of Information Science and Engineering,Wuhan University of Science and Technology,Wuhan 430080,China)
Abstract:In internal sealing,narrow,multi-obstacle cabin environment,distribution of obstacles are random and uncertain.In the case of obstacle avoidance for mobile robot,traditional artificial potential field method has problem of goal unreachable and local minimum value.An improved artificial potential field method based on fuzzy logic theory is designed to avoid these problems.In vicinity of local minimum of obstacle avoidance algorithm,auxiliary control force is given by fuzzy logic to help robot escaping local minimum value point.In process of obstacle avoidance,method can effectively avoid local minimum value point and optimize path.Simulation experiment show that in multi-obstacles complex environment the algorithm can achieve real-time and secure obstacle avoidance of robot.
Key words:fuzzy logic; artificial potential field method; real-time obstacle avoidance; robot
作者简介:
中图分类号:TP 242.6
文献标识码:A
文章编号:1000—9787(2016)01—0014—05
*基金项目:教育部冶金自动化与检测技术工程研究中心研究项目(MARC201301)
收稿日期:2015—11—03
DOI:10.13873/J.1000—9787(2016)01—0014—05