路径规划-人工势场法(Artificial Potential Field)

路径规划-人工势场法(Artificial Potential Field)

人工势场法是一种经典的机器人路径规划算法。该算法将目标和障碍物分别看做对机器人有引力和斥力的物体,机器人沿引力与斥力的合力来进行运动。

image

2D空间的引力场。图片来自参考文献1

image

附赠自动驾驶学习资料和量产经验:链接

下图是一个机器人在有障碍物的二维环境下的运动示例,动图可以比较清晰的说明人工势场法是怎么工作的。人工势场法根据运动环境生成势力场,然后机器人沿着势力场的引导,从"山顶"出发,途中避开障碍物形成的"小山峰",一路奔向目标位置所在的"山脚"。

image

有障碍物的2D机器人运动环境。图片来自参考文献3

image

有障碍物的2D环境中的人工势力场。图片来自参考文献3

image

机器人在有障碍物的2D人工势力场中运动。图片来自参考文献3

1、引力场(Attractive Field)和斥力场(Repulsive Field)

人工势场包含两种两种力场:运动目标位置所形成的引力场(Attractive Field)和障碍物所形成的斥力场(Repulsive Field)。

image

image

image

3D人工势能场。图片来自参考文献2

最常见的引力场函数(Attractive Field)如下:

image

它的梯度如下:

image

引力场函数是个分段函数,当image时,引力势能的大小与当前位置到目标位置的距离的平方成正比;当image时,降低引力计算函数的取值,从而避免远离目标位置时引力过大的问题。

image

引力势能效果。图片来自参考文献5

斥力场常用函数(Repulsive Potential)如下:

image

它的梯度函数:

image

image

image

障碍物斥力场效果。图片来自参考文献5

将引力场和斥力场叠加,就形成了人工势力场。

image

合成人工势场。图片来自参考文献5

2、梯度下降(Gradient Descent)

从高等数学的知识中,我们知道梯度方向是函数上升最快的方向。

从人工势力场求解运动路径的过程,就是从当前位置开始,沿着负梯度方向不断前进,直至达到梯度为0的位置。

image

梯度下降算法

image

3、 局部最优解陷阱(Local Minima Trap)

势场算法的挑战之一就是是局部最小值陷阱问题,当所有人工势场(引力势场和斥力势场)相互抵消时,比如在障碍物正好处于机器人和目标位置之间就可能会发生这种情况。虽然这些局部极小值点梯度为零,但并不是我们想要的目标位置。

image

局部最小值点。图片来自参考文献1

解决局部最小值陷阱的方法有很多,一种方法是引入High Level的Planner, 使得机器人不仅可以随时使用传感器的检测信息,而且仍然保持全局规划的能力。

还有一些补救式的方案,允许机器人陷入局部最优,然后再采用其它方案修复这个问题,比如我们可以在局部最小值处加入一个扰动(随机行走)或回溯,以跳出局部极小值。

参考文献

1、Path Planning Using Potential Field Algorithm。(https://medium.com/@rymshasiddiqui/path-planning-using-potential-field-algorithm-a30ad12bdb08)

2、人工势场法(Artificial Potential Field Method)的学习(https://www.jianshu.com/p/5fa50090ba99)

3、路径规划-人工势场法(https://blog.csdn.net/junshen1314/article/details/50472410)

4、Local Path Planning Using Virtual Potential Field(https://www.cs.mcgill.ca/~hsafad/robotics/)

5、Robotic Motion Planning Potential Functions(https://www.cs.cmu.edu/~motionplanning/lecture/Chap4-Potential-Field_howie.pdf)

6、[机器人路径规划]人工势场法(https://zhuanlan.zhihu.com/p/66265861)

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
人工势场法Artificial Potential Field)是一种用于路径规划的算法,这种算法不同于传统的搜索方式,采用了类似于物理势场的概念,利用了虚拟势能,在规划路径的地方建立虚拟势场,通过计算状态空间中物体的受力情况,找到最佳的路径。 人工势场法主要分为吸引势力和排斥势力。吸引势力是指目标点对状态点的吸引,使得状态点能够朝向目标点前进;排斥势力则是将障碍物看作是状态点受到的排斥力,使得状态点能够远离障碍物。 Matlab程序是一种用于科学计算和数据可视化的工具,在人工势场法中,Matlab可以用于实现虚拟势场的建立和对状态点的路径规划。Matlab通过程序实现吸引力和排斥力的计算,以及在计算过程中去除局部最小化,找到最佳路径。 人工势场法路径规划Matlab程序主要包括以下几个步骤: 1. 建立虚拟势场。创建一个二维平面,并实现虚拟势场的建立。通过数学方法实现目标点的吸引力和障碍物的排斥力。 2. 计算状态点的受力情况。将当前状态点表示为一个点,计算该点的所有受力情况:目标点的吸引力以及障碍物的排斥力。 3. 更新状态点的位置。计算当前状态点受力后,得到状态点应该朝哪个方向移动,将移动后的位置更新到二维平面上。 4. 检查是否达到目标点或是否碰到障碍物。判断当前状态点是否达到了目标点或者是否碰到了障碍物,如果达到则输出路径,否则返回第2步。 5. 去除局部最小化。为避免局部最优解,应在求势场最小值时引入一些随机扰动。 人工势场法路径规划Matlab程序可以应用于无人机的路径规划、机器人导航、智能车自动驾驶等领域。在实际应用过程中,需要根据具体场景对虚拟势场和受力计算进行精细化调整和优化,以此来改进路径规划效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值