模糊改进人工势场法移动机器人路径规划*

2021-05-28 06:40易先军耿翰夫
组合机床与自动化加工技术 2021年5期
关键词:势场引力障碍物

易先军,耿翰夫,付 龙,周 锐

(武汉工程大学电气信息学院,武汉 430205)

0 引言

随着工业自动化的不断发展,移动机器人在动态、未知环境中的自主导航成为机器人研究领域的一项研究重点,而路径规划是机器人自主导航的一项核心技术[1]。目前常用的路径规划方法有:神经网络法、蚁群算法、模糊算法、遗传算法、模拟退火法、人工势场法(Artificial Potential Field, APF)等[2-5]。与其它算法相比较而言,人工势场法具有计算量小、避障响应快、便于硬件实现等优势。然而传统人工势场法存在局部最优和目标不可达问题,会导致路径规划失败[6]。因此,在APF法实际应用中,科研人员通常会将斥力函数进行优化,以改善APF法的缺陷,但常规改进后的APF法依然存在不足之处[7]。

针对人工势场法在移动机器人路径规划过程中存在的不足,本文首先利用斥力势场调节因子建立斥力势场梯度等级,在解决目标不可达问题的同时,增强机器人的避障能力,保证路径规划的安全性。然后使用模糊算法对人工势场法进行改进,以解决局部最优问题。最后,本文在MATLAB中对模糊改进APF法进行仿真,与常规改进APF算法相对比,以验证模糊改进APF算法的有效性。

1 APF法的缺陷及常规改进

1.1 传统APF法的缺陷

人工势场法将机器人所处的环境模拟为虚拟势场[8]。在虚拟势场中,机器人受到目标点产生的吸引力、障碍物产生的排斥力,机器人沿合力方向运动[9]。传统APF算法存在以下问题[10]:

(1)目标不可达问题。当目标点周围存在障碍物时,随着机器人向目标点靠近,引力逐渐减小,斥力逐渐增大,进入目标点一定范围之后,机器人所受到的斥力可能会大于引力,无法继续靠近目标点。

(2)局部最优问题。此时机器人所受引力与斥力共线或合力为零,具体分析如下:

情况1:如图1a所示,当机器人、目标点、障碍物三者共线时,机器人向目标点移动,引力Fattr逐渐减小,斥力Frep逐渐增大,必然会出现Frep≥Fattr的情况,将会导致机器人在障碍物附近徘徊。

情况2:如图1b所示,此时,机器人所受合力Ftotal为0,合力无法引导机器人继续前进,最终导致路径规划失败。

(a)机器人、障碍物和目标点共线 (b)多个障碍物产生局部陷阱

1.2 常规改进的APF法

为了解决传统APF法存在的缺陷,目前较为常用的方法是优化斥力势场函数[11]。将目标点与机器人之间的距离dg引入斥力势场函数,优化后的斥力势场表示为:

(1)

式中,η为斥力势场增益系数;do表示机器人与障碍物之间的距离;r为障物斥力场影响的最大距离。

将Urep在斥力方向和引力方向分别求导,得到改进的斥力函数Frep为:

(2)

(3)

式中,Frep1为斥力的斥力分量,方向沿障碍物指向机器人;Frep2为斥力的引力分量,方向由机器人指向目标点。

引力势场Uattr和引力Fattr表示为:

(4)

式中,ε为引力势场增益系数;dg表示机器人与目标点之间的距离。

常规改进的APF法中斥力由斥力分量和引力分量组成,相当于增强了机器人所受的引力作用,能够提高规划路径的平滑度,并且对目标不可达问题有一定的改进作用,但是依然无法有效解决局部最优问题。

2 模糊改进的人工势场法

2.1 斥力势场梯度等级建立

为了更好地解决APF法存在的缺陷,提高规划路径的安全性,本文在常规改进APF法的基础上,引入斥力势场调节因子n来建立斥力势场梯度等级,改进后的结果如下:

(1)斥力势场函数:

(5)

(2)斥力函数的斥力分量和引力分量:

(6)

对斥力势场调节因子n的设定如下:

当r/2

当do≤r/2时,令n=0.5,代入式(6):此时机器人已经在合力的作用下进入了障碍物的r/2范围内,可判断目标点在障碍物周围(目标不可达情况)。随着机器人与目标点之间距离dg减小,斥力分量减小,引力分量逐渐增大,使得机器人在引力的主导作用下精准到达目标点。

2.2 逃逸力的引入

局部最优问题是由机器人所受引力和斥力共线或合力为零导致的。本文采用增加逃逸力法来使机器人逃离局部陷阱。以引力和斥力共线情况为例,如图2所示,引力和斥力方向相反,机器人在局部最小点处徘徊。为打破这一状态,本文引入逃逸力Ff,Ff与x轴方向夹角θf为:

(7)

图2 引入逃逸力Ff

逃逸力大小通过模糊算法计算,采用Mamdani模糊模型。为了得到准确的模糊推理结果,本文中模糊控制器采用双输入、单输出的形式,输入为引力与斥力的夹角α、引力与斥力大小差值F,输出为Ffuzzy。其中Ffuzzy取值范围[-1,1],为达到良好的控制效果,需要将其扩大,即:

Ff=Ffuzzy*ω

(8)

式中,Ff为逃逸力大小,Ffuzzy为模糊控制器输出,ω为逃逸力增益系数。

引力与斥力夹角α∈[-π, π],经过模糊化后M={NB,NM,ZO,PM,PB}。引力与斥力大小差F的论域为[-1,1],经模糊化后N={NB,NM,ZO,PM,PB}。Ffuzzy的论域为[-1,1],模糊化后Q={NB,NM,ZO,PM,PB}。模糊控制器输入、输出都采用三角形隶属函数,如图3所示。

(a)α的隶属度函数 (b) F的隶属度函数

(c) Ffuzzy隶属度函数 图3 隶属度函数图

本文模糊推理规则如下:

Ri:ifαisMi,FisNi,thenFfuzzyisQi

i=1,2,…,n

模糊规则表如表1所示,推理结果去模糊化采用重心法。

表1 模糊规则表

3 仿真及结果分析

为了验证模糊改进APF法的有效性,利用MATLAB模拟了三个虚拟环境,分别对常规改进APF算法和模糊改进APF算法进行仿真,对比二者在局部最优、目标不可达问题下的路径规划结果。仿真系统主要参数配置见表2。

表2 仿真系统主要参数配置

3.1 局部最优问题仿真与分析

3.1.1局部最优情况之一

常规改进人工势场法在局部最优情况1下的路径规划结果如图4所示,机器人、障碍物和目标点共线,机器人在障碍物附近徘徊,达到最大循环迭代次数后停止。而在相同仿真环境下,模糊改进的人工势场法在检测到引力与斥力共线后,引入逃逸力打破二力平衡,成功避开障碍物,如图5所示。

图4 常规改进APF法路径规划(虚拟环境1) 图5 模糊改进APF法路径规划(虚拟环境1)

3.1.2 局部最优情况之二

在局部最优情况二下,常规改进APF算法仿真结果如图6所示,机器人陷入由多个障碍物形成的局部陷阱中,无法继续前行。本文通过优化斥力函数,使得机器人与障碍物保持较远距离,并且引入逃逸力,引导机器人逃离局部陷阱,成功完成路径规划,如图7所示。

图6 常规改进APF法路径规划(虚拟环境2) 图7 模糊改进APF法路径规划(虚拟环境2)

3.2 目标不可达问题仿真与分析

对于简单的目标不可达问题(目标点单侧有障碍物),常规改进人工势场法通过增强引力作用,能够引导机器人到达目标点,但是当目标点两侧都存在障碍物时,可能还会出现局部最优陷阱,机器人所受斥力与引力处于平衡状态,导致路径规划失败。图8中,目标点两侧都存在障碍物,移动机器人即将到达目标点时,虽然常规改进APF法中增强了引力作用,但是由于受到两个障碍物的影响,机器人进入目标点一定范围后,依然出现了合斥力大于引力的状况,最终无法继续靠近目标点。

在相同仿真环境下,模糊改进的APF法通过建立斥力势场梯度等级,来增强机器人在目标点附近时受到的引力作用,还利用逃逸力帮助机器人克服了障碍物的排斥作用,成功引导机器人到达目标点,路径规划结果如图9所示。

图8 常规改进APF 法路径规划(虚拟环境3) 图9 模糊改进APF 法路径规划(虚拟环境3)

对比图8、图9可以看出,由于建立了斥力势场梯度等级,模糊改进APF法中机器人路径点与障碍物之间的距离更大,而且机器人对目标点附近的障碍物也有明显的避障动作。因此,模糊改进APF法在机器人路径规划的实际应用中,具有更高的安全性。

4 结束语

本文首先对人工势场法存在的缺陷做了详细分析,而后在常规改进方法的基础上提出了新的改进措施:建立斥力势场梯度等级,不仅解决了目标不可达问题,还保证了规划路径的安全性;引入逃逸力,利用模糊算法计算出逃逸力大小,引导机器人逃离局部最优陷阱,而且能够帮助解决较为复杂的目标不可达问题。最后,在MATLAB中进行了仿真实验,通过对比常规改进人工势场法和模糊改进人工势场法的路径规划结果,证明了本文对APF法的改进具有效性和优越性,为在移动机器人硬件平台上实际应用奠定了理论基础。

猜你喜欢
势场引力障碍物
基于Frenet和改进人工势场的在轨规避路径自主规划
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
人工势场法与A*算法结合的机械臂避障路径规划研究
库车坳陷南斜坡古流体势场对陆相油气运聚的控制
引力
基于偶极势场的自主水下航行器回坞导引算法
感受引力
A dew drop
土钉墙在近障碍物的地下车行通道工程中的应用