大家好,又见面了,我是你们的朋友全栈君。
版权声明:本文为博主原创博文,未经允许不得转载,若要转载,请说明出处并给出博文链接
维基百科说:“人工势场法(Artificial Potential Field, APF)是一种将机器人的外形视为势场中的一个点,这个势场结合了对目标的吸引力和对障碍物的排斥力。得到的轨迹作为路径输出。该方法具有计算量小、容易理解等优点。然而,它们可能陷入势场的局部极小值而无法找到路径,或者无法找到最优路径。人工势场可以被视为与静电势场类似的连续方程(将机器人视为点电荷),或者通过场的运动可以使用一组语言规则进行离散化。”
下面找了一些人工势场法的理论与公式[1],方便理解。
既然知道了合力,将合力拆分成水平X和Y两个分量,再做三角函数,就可以获得实际应该前进的方向,再给以合适的速度,便可以顺利到达目标。
下面,借用了一下 VFH 2D simulation的障碍物来做一下仿真,也可以做个对比。
① 针对下图,还是可以看出虽然起始方向有些问题,但是最终还是绕过障碍到达了目标的。这里图一最终算出的路径覆盖为12.7,从图中看,该算法的路径平滑性有点差。当然,肯定有改进的算法会优化这个问题。
②针对算法的缺点,做了一个特殊的事例,可以看出,最终机器人卡死,进入局部最小值。
把之前的静态的最终路径图更换成了动态显示的路径图,更方便理解。
[1] 李世昌.《基于 A*与人工势场的四旋翼无人机路径规划算法研究》
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/150158.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...