好奇的探索者,理性的思考者,踏实的行动者。
Table of Contents:
人工势场法(Artificial Potential Field,简称APF)是一种常用的路径规划算法,用于使机器人或无人车等移动体在避开障碍物的同时,从起始点到达目标点。这个算法的思想源于物理学中的势能场概念,将机器人的路径规划问题转化为一个在二维或三维空间中的“势能场”问题。
基本思想:
- 假设机器人在一个虚拟的势能场中移动,该场景由吸引力和斥力组成。目标点产生吸引力,使得机器人被吸引向目标点;障碍物产生斥力,使得机器人避开障碍物。
- 在势能场中,机器人处于总势能的最低点时,即达到目标点。
- 算法会不断迭代,使得机器人根据当前位置的势能梯度方向调整移动方向,直至到达目标点或无法到达。
算法步骤:
1. 定义目标点:给定机器人的起始点和目标点坐标。
2. 计算吸引力:通过吸引力计算方法(通常是简单的线性引力或者更复杂的方法),计算机器人当前位置与目标点之间的吸引力方向和大小。
4. 计算斥力:通过斥力计算方法(通常是与障碍物之间的距离相关的方法),计算机器人与周围障碍物之间的斥力方向和大小。
5. 计算合力:将吸引力和斥力合成为总的势能场,得到机器人当前位置的合力方向和大小。
6. 更新位置:根据合力方向和大小,更新机器人的位置,使其向势能减小的方向移动。
7. 重复迭代:重复上述步骤,直至机器人到达目标点或达到最大迭代次数。
引力公式:
其中: η为引力场系数; [x,y]
为无人船运动过程中的坐标; [xgyg]
为目标点的坐标。
无人船与目标点的吸引力随着间距变大而变大。当无人船到达目标点时,其受到的吸引力变为0。
斥力公式:
用 ξ 来表示斥力场系数,路径中障碍物距离无人船的距离用 ρ表示,障碍物自身的影响范围的距离用 ρd表示。
函数的上部相当于一个反比例函数,其中1/ρd表示函数图像往下移动的距离
当无人船的航进方向上存在有障碍物且其向障碍物方向靠近时,越逼近障碍物,障碍物作用在无人船的排斥力越大
优点:
- 算法简单直观,易于实现。
- 能够处理复杂的环境,包括多个障碍物和复杂的地形。
缺点:
- 容易陷入局部最优解,导致无法到达目标点或绕过某些障碍物。
- 可能出现震荡现象,即机器人在局部区域内来回移动。
- 在障碍点和目标点在一块的时候,会产生达不到目标点的情况
改进: 为了克服APF的局限性,研究者提出了许多改进方法。其中一种常见的改进方法是引入惯性项(inertia term),使机器人具有一定的惯性,从而避免陷入局部最优解和震荡现象。此外,还有其他方法,如模糊逻辑控制、基于梯度下降的优化算法等,用于改进人工势场法的性能。
总体来说,人工势场法是一种简单但有效的路径规划算法,在一些简单场景和实时性要求较高的情况下有很好的应用效果。但在复杂环境和精确路径规划要求下,可能需要考虑其他更复杂的路径规划算法。