赞
踩
本文参考(85条消息) 【路径规划】局部路径规划算法——人工势场法(含python实现 | c++实现)_CHH3213的博客-CSDN博客_人工势场法路径规划
人工势场法是一种原理比较简单的移动机器人路径规划算法,它将目标点位置视做势能最低点,将地图中的障碍物视为势能高点,计算整个已知地图的势场图,然后理想情况下,机器人就像一个滚落的小球,自动避开各个障碍物滚向目标点。
引力势场主要与汽车和目标点间的距离有关, 距离越大, 汽车所受的势能值就越大; 距离越小, 汽车所受的势能值则越小, 所以引力势场的函数为:
决定障碍物斥力势场的因素是汽车与障碍物间的距离, 当汽车未进入障碍物的影响范围时, 其受到的势能值为零; 在汽车进入障碍物的影响范围后, 两者之间的距离越大, 汽车受到的势能值就越小, 距离越小, 汽车受到的势能值就越大。
斥力势场的势场函数为:
相应的斥力为斥力势场的负梯度作用力:
根据上述定义的引力场函数和斥力场函数,可以得到整个运行空间的复合场,机器人的合力势场大小为机器人所受的斥力势场和引力势场之和,故合力势场总函数为:
所受合力为:
合力的方向决定汽车的行驶朝向,合力的大小决定汽车的行驶加速度。
化简后得斥力大小为
由于障碍物与目标点距离太近,当汽车到达目标点时,根据势场函数可知,目标点的引力降为零,而障碍物的斥力不为零,此时汽车虽到达目标点, 但在斥力场的作用下不能停下来,从而导致目标不可达的问题。
车辆在某个位置时,无法向前搜索避障路径。
出现局部最优主要有两种情况:
4.3.1 改进障碍物斥力势场函数
通过改进障碍物斥力势场函数来解决局部最优和目标不可达的问题;在传统人工势场法的障碍物斥力场模型中加入调节因子,使汽车只有到达目标点时, 斥力和引力才同时减小到零, 从而使局部最优和目标不可达的问题得到解决。
改进后的斥力场函数为:
为汽车与目标点的距离,式中n为可选的正常数。
的方向为障碍物指向车辆;的方向为车辆指向目标点。
改进的斥力场函数中加入了汽车与目标点间的距离,这样使汽车在驶向目标的过程中,受到的引力和斥力同时在一定程度上减小,且只有在汽车到达目标点时,引力和斥力才同时减小为零,即目标点成为势能值的最小点,从而使局部最优和目标不可达的问题得到解决。
如图,假设每一条车道宽度为d,有2条车道(故道路宽度为2d)。车辆宽度为w,故车辆在每一条车道内允许调整的横向移动范围为d−w。
通过建立道路边界斥力势场以限制汽车的行驶区域,并适当考虑车辆速度对斥力场的影响
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。