09.24 无人驾驶路径规划算法——人工势能法

无人驾驶路径规划算法——人工势能法

人工势场法路径规划是由Oussama Khatib提出的一种路径规划算法(Oussama Khatib,Real-Time obstacle Avoidance for Manipulators and Mobile Robots. Proc of The 1994 IEEE.)。它的基本思想是将机器人在周围环境中的运动,设计成一种抽象的人造引力场中的运动,目标点对移动机器人产生“引力”,障碍物对移动机器人产生“斥力”,最后通过求合力来来控制机器人的运动方向和计算机器人的位置。

无人驾驶路径规划算法——人工势能法

无人驾驶路径规划算法——人工势能法

引力场(attraction)随机器人与目标点的距离增加而单调递增,且方向指向目标点; 斥力场(repulsion) 在机器人处在障碍物位置时有一极大值,并随机器人与障碍物距离的增大而单调减小,方向指向远离障碍物方向。

无人驾驶路径规划算法——人工势能法

引力势场的范围比较大,而斥力的作用范围只是局部的,当机器人和障碍物的距离超过障碍物影响范围的时候,机器人不受排斥势场的影响。因此,势场法只能解决局部空间的避障问题,它缺乏全局信息,这样,它就很容易陷入局部最小值。所谓局部最小值点,就是在引力势场函数和斥力势场函数的联合分布的空间内,在某些区域,受到多个函数的作用,造成了局部最小点。当机器人位于局部最小点的时候,机器人容易产生振荡或者停滞不前。障碍物越多,产生局部最小点的可能性就越大,产生局部最小点的数量也就越多。

人工势场算法缺陷

1、当物体离目标点比较远时,引力将变的特别大,相对较小的斥力在甚至可以忽略的情况下,物体路径上可能会碰到障碍物。

可以通过修正引力函数来解决,避免由于离目标点太远导致引力过大。

2、当目标点附近有障碍物时,斥力将非常大,引力相对较小,物体很难到达目标点。

引入新的一种新的斥力函数。

3、在某个点,引力和斥力刚好大小相等,方向想反,则物体容易陷入局部最优解或震荡。

可以通过加一个随机扰动,让物体跳出局部最优值。类似于梯度下降法局部最优值的解决方案 。

Matlab代码

目标点和障碍物对机器人所在位置的角度:

无人驾驶路径规划算法——人工势能法

目标点对智能体所在位置引力计算:

无人驾驶路径规划算法——人工势能法

障碍物对智能体所在位置斥力计算:

无人驾驶路径规划算法——人工势能法


分享到:


相關文章: