人工势场法是目前路径规划常用的算法之一,但其存在的局部最小值问题会导致智能移动机器人无法到达目标点。本文针对人工势场法局部最小值优化的三种算法展开研究。文章选择了算法运行平均时间和成功到达目标点的成功率作为研究对象,通过设置三种优化算法在不同障碍物下运行,观察不同设置情景下算法运行时间和成功率的变化,得到这三种优化算法的各自适合的障碍物环境。文章为这三种优化算法的应用提供了参考依据。 Artificial potential field method is one of the commonly used algorithms for path planning, but its local minimum problem will cause the intelligent mobile robot to fail to reach the target point. In this paper, three algorithms for local minimum optimization of artificial potential field method are studied. In this paper, the average running time of the algorithm and the success rate of successfully reaching the target point are selected as the research objects. By setting three optimization algorithms to run under different obstacles, the changes of the running time and success rate of these algorithms under different setting scenarios are observed, and the obstacle environment suitable for each of the three optimization algorithms is obtained. This paper provides a reference for the application of these three optimization algorithms.
人工势场法是目前路径规划常用的算法之一,但其存在的局部最小值问题会导致智能移动机器人无法到达目标点。本文针对人工势场法局部最小值优化的三种算法展开研究。文章选择了算法运行平均时间和成功到达目标点的成功率作为研究对象,通过设置三种优化算法在不同障碍物下运行,观察不同设置情景下算法运行时间和成功率的变化,得到这三种优化算法的各自适合的障碍物环境。文章为这三种优化算法的应用提供了参考依据。
人工势场,局部最小值,优化算法
Yachun Jie, Yufan Shen, Baochun Xu
School of Mechanical Engineering, Nanjing Institute of Technology, Nanjing Jiangsu
Received: Apr. 26th, 2024; accepted: May 24th, 2024; published: May 31st, 2024
Artificial potential field method is one of the commonly used algorithms for path planning, but its local minimum problem will cause the intelligent mobile robot to fail to reach the target point. In this paper, three algorithms for local minimum optimization of artificial potential field method are studied. In this paper, the average running time of the algorithm and the success rate of successfully reaching the target point are selected as the research objects. By setting three optimization algorithms to run under different obstacles, the changes of the running time and success rate of these algorithms under different setting scenarios are observed, and the obstacle environment suitable for each of the three optimization algorithms is obtained. This paper provides a reference for the application of these three optimization algorithms.
Keywords:Artificial Potential Field, Local Minimum, Optimization Algorithm
Copyright © 2024 by author(s) and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
随着自主机器人技术的迅速发展,路径规划问题一直是一个备受关注的领域。自主机器人,包括自主车辆、机器人和无人机,需要在各种环境中进行自主导航,从而实现任务如搜索救援、自动驾驶和勘探。自主机器人除了在硬件方面需要不断的完善,它在路径规划方面也在不断发展。目前路径规划主要有图搜索算法比如A*算法 [
然而,人工势场法也有一些问题,例如可能陷入局部最小值,导致路径不够优化,因此需要对人工势场法进行改进。如文献 [
Khatib首先提出人工势场法 [
引力场的方向 [
= 1 2 δ ρ 2 ( q , ) (1)
ρ ( q , q g o a l ) = ( x 3 − x 1 ) 2 + ( y 3 − y 1 ) 2 (2)
其中 U a t t 为目标点的引力场; δ 为大于0的引力势场增益系数; ρ ( q , q g o a l ) 为机器人当前位置和目标点的欧氏距离;机器人的当前位置 q ( x 1 , y 1 ) ;目标点的位置 ( x 3 , y 3 ) 。
引力为引力势场的负梯度,因此得到引力公式为:
F a t t = − ∇ U a t t = δ ρ ( q , q g o a l ) (3)
引力与目标之间的距离成反比,即距离越远引力越弱。
斥力场的方向 [
= { m 2 ∗ ( ( 1 ρ ( q , q o b s ) ) − 1 ρ 0 ) 2 , ρ ( q , q o b s ) ≤ ρ 0 0 , ρ ( q , q o b s ) ≤ ρ (4)
( q , q o b s ) = ( x 2 − x 1 ) 2 + ( y 2 − y 1 ) 2 (5)
其中, U r e p 为障碍物的斥力势场;m为斥力场系数因子; ρ ( q , q o b s ) 为机器人当前位置到障碍物的欧式距离;障碍物的坐标 ( x 2 , y 2 ) ; ρ 0 为安全范围半径。
斥力为斥力场的负梯度,因此得到斥力公式如式(6)所示。
= − ∇ g r a d = { m ( 1 ρ 0 − 1 ρ ( q , q o b s ) ) , ρ ( q , q o b s ) ≤ ρ 0 0 , ρ ( q , q o b s ) > ρ 0 (6)
斥力与障碍物之间的距离成正比,即距离越近,斥力越强。
牵引力大小 [
F t o t a l = F a t t + ∑ i = 1 s F r e p i (7)
机器人受到的合力方向就是移动的方向,随着合力的变化最终得到一条到达目标点的路径,当
F a t t + ∑ i = 1 s F r e p i = 0 时,机器人就会陷入局部最小值。
图1. 势场作用下牵引力方向
局部极小值是指在势场中的某个点,其势能值比其周围的点低,但并不一定是全局最低点。机器人在局部极小值点附近可能会停滞,因为它看不到更低的势能值,而这个点附近的斜率都为零。这意味着机器人可能会陷入一个局部最小值附近的无法继续前进的状态,而没有找到通往目标的路径。传统的人工势场法有可能会陷入局部极小值而导致机器人来回徘徊无法跳出极小值点。当机器人在工作环境中受到的合力为0 [
{ F a t t − ∑ i = 1 k F r e p i F a t t − 1 ≤ cos ( ∠ F a t t − ∠ F r e p ) ≤ 0 < |є| → 0 (8)
− 1 ≤ cos ( ∠ F a t t − ∠ F r e p ) ≤ 0 的意思是当机器人受到的牵引力的角度在90˚~180˚之间时,机器人受到的斥力比吸引力大而导致机器人会向远离目标点的方向前进,从而导致机器人陷入局部最小。
图2. 合力为0的两个受力情形
人工势场法陷入局部最小如图3所示机器人在朝向目标点运动的过程中被一个障碍物阻碍导致机器人来回徘徊最终陷入局部最小点。下图中障碍物的坐标为(5, 5),(5, 9),(7, 7),(9, 5),起点坐标(0, 0),目标点坐标(10, 10),机器人陷入局部最小点的坐标为(4.6, 4.6),引力势场增益系数为1,斥力场系数因子为1,安全距离半经为1.5。
图3. 人工势场法陷入局部最小
运用上文中的公式(3)和公式(6)可得: F a t t = 0 ; F r e p i = 0 ; F a t t + ∑ i = 1 s F r e p i = 0 所以陷入局部最小。
(1) 沿墙走改进人工势场见图4,它通过模拟沿着环境的墙壁移动来实现路径规划。这个方法的思想是,机器人受到来自墙壁的排斥力,从而沿着墙壁行进,从而避免与墙壁碰撞。
(2) 随机扰动改善人工势场法见图4,随机扰动是指在路径规划的过程中引入一定程度的外界刺激去改变算法在每一次迭代过程中的行为从而增加每一次路径规划的多样性和适应性。
(3) 填平势场法见图4,它是通过引入一个平滑势场,改变填平势场增益来更剧烈的推动机器人运动避免陷入局部极小值,通过应用梯度下降,机器人被引导沿着势场进行移动,从而调整初始路径。梯度下降的方向是势场的梯度方向,使得机器人在势场中受到的合力最小。
图4. 不同算法避障
为了充分验证三种算法的有效性和对比三种算法的差异性,选取了10组随机障碍物,三种算法在相同的随机障碍物的情形下运行100次,随机障碍物的个数分别为10个,20个,30个,40个,50个,60个,70个,80个,90个,100个。智能小车的起点为(0, 0),终点为(10, 10),障碍物都放在10 * 10的地图内,通过算法尽可能保证障碍物的合理分布,使得智能小车可以成功到达目标点,对比三种算法在不同障碍物的情况下成功到达目标点的时间。
图5. 三种算法不同障碍物成功到达目标点时间图
图6. 不同障碍物成功到达目标点平均时间图
图7. 针对沿墙走出现奇艺点原因补充图
由图5图6可知,随着障碍物个数的不断增加,沿墙走算法的弊端也越来越明显,沿墙走算法成功到达目标点的时间随着障碍物的增加不断变大,由图6可以清楚的看出在障碍物70个的时候,沿墙走算法的平均时间增幅特别的大,由此可以看出沿墙走算法并不适合障碍物密集的情况。而随机扰动平均时间走势稍有波动,影响不大。填平势场法平均时间走势最为平稳。
针对图5中沿墙走上出现的个别的奇异点的现象,做了图7的补充实验,主要是把图5中出现异常的点的障碍物单独拿出来放进沿墙走算法里面单独跑一遍。由图7可以看出造成沿墙走算法会出现个别奇艺点的原因主要是有一下两点(1) 虽然障碍物的分布是做过限制的,但是偶尔还是会出现障碍物的排布造成智能小车来回徘徊不前的点,这样一来就大大增加了算法的运行时间。(2) 障碍物的排布太过密集,障碍物对智能小车的斥力太大而走了障碍物的外围从而造成了时间花费太多。
本次实验设置6组随机障碍物,每组随机障碍物在相同情况下运行100次,6组随机障碍物的个数分别为10个,30个,50个,80个,100个,200个。设置两个地图对比,地图为10 * 10,起点为(0, 0),终点为(10, 10)。本实验对三种算法能否到达目标点不设置限制,对比三种算法在不同障碍物下的成功率。
障碍物个数 | 实验次数 | 成功到达次数 | 成功率 | ||||||
---|---|---|---|---|---|---|---|---|---|
优化方法 | 沿墙走 | 随机扰动 | 填平势场法 | 优化方法 | 沿墙走 | 随机扰动 | 填平势场法 | ||
10 | 100 | 42 | 88 | 36 | 42% | 88% | 36% | ||
30 | 100 | 21 | 69 | 22 | 21% | 69% | 22% | ||
50 | 100 | 16 | 46 | 20 | 16% | 46% | 20% | ||
80 | 100 | 15 | 29 | 16 | 15% | 29% | 16% | ||
100 | 100 | 5 | 20 | 8 | 5% | 20% | 8% | ||
200 | 100 | 0 | 0 | 0 | 0 | 0 | 0 |
表1. 三种人工势场法最小值成功率对比方法
由表1可以看出随机扰动的成功率最高,效果显著,填平势场法的成功率最低。通过对比三种算法的成功率不难看出,随着障碍物密度越来越密集,沿墙走受到的影响最大,说明沿墙走对于障碍物比较多的情况不适用,随机扰动的优化方法对于障碍物多的情况明显由于其他两个优化方法。
(1) 通过对三种优化方法进行Matlab实验,研究者设置起点和目标点的时候要和小车保持一个安全距离,否则会出斥力或者吸引力太大的情况,从而导致实验失效。
(2) 设置障碍物的时候要避免障碍物绕着目标点。
(3) 综合来看,从时间看上,在保证小车可以顺利到达目标点的情况下,随着障碍物的个数的增加,以设置60个障碍物作为分水岭,在障碍物小于等于60的时候,三种优化算法的时间变化都很平缓,在障碍物大于60个以后沿墙走的时间突然增加,随机扰动稍有变化,但是总体时间依旧很短,填平势场法时间最短,最为平稳。从成功率上看,在小车能否到达目标点不确定的情况下,随机扰动的成功率最高,填平势场法的成功率最低。对比两种情况的实验,可以得出随机扰动的优化方法不仅时间短,成功率还高。
本文通过仿真实验说明人工势场法局部最小值存在的原因和三种优化算法解决局部最小值的原理;再设置两种仿真实验来进一步说明三种优化算法哪一种更优,设置的两种仿真实验分别是在保证小车能够顺利到达目标点的情况下,通过改变障碍物的个数来看三种优化算法的运行时间和在不保证小车能够顺利到达目标点的情况下,通过改变障碍物的个数来看小车成功到达目标点的成功率。在前一个实验中,沿墙走算法不适用于障碍物多的条件,障碍物的增加会导致在该算法下小车不断地沿墙走但是始终走不出来的情况从而导致小车运行的时间变长。后一个实验,随着障碍物越来越密集,随机扰动算法的成功率最高且成功率的下降幅度最小,而填平势场法的成功率在三种算法中是最低的。综合这两种实验来看,随机扰动算法不管是在时间上还是成功率上表现俱佳。本文为后期更好的改善局部最小值优化算法的研究提供参考。
南京工程学院校级科研基金项目资助,项目号:CKJB202208。
接娅纯,申禹繁,胥保春. 人工势场法局部极小值优化方法研究Study on Local Minimum Optimization Method of Artificial Potential Field Method[J]. 计算机科学与应用, 2024, 14(05): 244-254. https://doi.org/10.12677/csa.2024.145133
https://doi.org/10.27389/d.cnki.gxadu.2019.000956
https://doi.org/10.13225/j.cnki.jccs.xr21.1716
https://doi.org/10.13374/j.issn1001-053x.2012.02.015
https://doi.org/10.19715/j.jmuzr.2023.02.07
https://doi.org/10.13433/j.cnki.1003-8728.20230066
https://doi.org/10.19356/j.cnki.1001-3997.2017.07.065