基于改进势场法的机器人动态避障路径规划
立即解锁
发布时间: 2025-08-21 00:42:46 阅读量: 2 订阅数: 16 


智能计算理论与技术进展
### 基于改进势场法的机器人动态避障路径规划
在机器人的自主运动中,路径规划是关键问题之一,尤其是在存在静态和动态障碍物的复杂环境中。传统的势场法虽然在机器人路径规划和避障方面有一定应用,但在动态避障规划中存在不必要避障的缺点。本文将介绍一种新的势场法,以解决这一问题。
#### 1. 引言
自主机器人路径规划旨在在包含静态和动态障碍物的环境中,寻找一条从起点到目标点的无碰撞且最优的路径。由于环境复杂、实时性和不确定性,避障问题成为移动机器人路径规划的关键。过去有许多解决该问题的方法,常见的有人工势场(APF)法、网格法、遗传算法、模糊方法、神经网络等。其中,势场法因其数学分析简单、计算量小和实时控制良好,常用于机器人路径规划和避障。
然而,大多数先前的势场法主要适用于静态环境下的路径规划。为了改进动态避障路径规划中的 APF 方法,研究人员进行了诸多尝试。例如,Fujimura 将时间作为规划模型的参数,提出了动态人工势场法;Han Yong 将目标的速度引入势场;Ge 在引力势函数中加入目标相对于机器人的相对速度,在斥力势函数中加入相对速度;Lu Yin在此基础上加入相对加速度;Li Guanghui 在斥力势场中引入速度矢量场以提高避障敏捷性。
尽管这些方法在动态环境中改善了机器人的运动规划,但由于环境复杂且缺乏利用相对速度的预先规划,仍然存在不必要避障的问题。为解决这一问题,也有其他研究提出了不同的方法,如 Zhang Feng 基于相对坐标调整机器人速度值和方向以避免碰撞;Duan Hua 使用碰撞时间参数替代相对位置以消除无意义的碰撞运动;Xie Hongjian 分析机器人相对速度和相对位置之间的角度来改变避障方向速度以避免动态障碍物。
本文提出了一种新的势场法,用于移动机器人的运动规划,以克服动态环境中的上述缺点。新的斥力势不仅是障碍物和机器人相对位置的函数,还依赖于相对速度的角度和大小。此外,将指数形式的碰撞角引入斥力势作为限制,以消除明显的不必要避障运动。
#### 2. APF 方法及其在动态环境中的局限性
APF 方法由 Khatib 于 1986 年首次提出。其基本概念是,移动机器人在一个虚拟力场中运动,目标具有引力势 $U_{att}$,障碍物具有斥力势 $U_{rep}$。引力势 $U_{att}$ 随机器人与目标的相对距离减小而减小,斥力势 $U_{rep}$ 随机器人与目标的相对距离减小而增大。虚拟力等于所有引力和斥力势的负梯度,机器人在该力的驱动下从初始位置到达目标位置。
传统 APF 方法在避障规划中通过调整引力和斥力参数通常是有效的,但在局部规划中也存在明显缺点。在以前的方法中,只要机器人与障碍物的距离处于斥力势作用的给定范围内,机器人就会受到斥力驱动,导致以下两种不必要的避障情况:
- 情况一:尽管机器人与障碍物的距离较短,但实际上没有碰撞的可能性,机器人仍受到斥力驱动。
- 情况二:机器人受到过大的斥力,而不是适当的力,从而偏离最优路径。
显然,这种避障规划并非最优,且耗时更多。根本原因是缺乏充分利用相对速度和障碍物信息的预测规划。
#### 3. 改进的 APF 方法及其分析
移动机器人在动态环境中的运动规划问题是在避免移动和静态障碍物的同时,规划和控制机器人从初始位置以期望的方式跟踪目标状态。为简化分析,我们做出以下假设:
- 假设 1:为简化起见,将机器人和障碍物的形状扩展为圆形。
- 假设 2:障碍物相对于机器人的相对位置和速度由机器人传感器测量。
##### 3.1 改进的斥力势场和斥力函数
考虑到斥力在避障运动中作用最小,斥力势应仅在某些碰撞角内起作用,其大小不仅随机器人和障碍物的相对位置和速度变化,还会在碰撞角内随机器人与障碍物相对速度和相对位置的角度增大而减小。碰撞角是确保机器人沿当前前进方向不会与障碍物碰撞的最小角度。
如图 1 所示,y 轴表示机器人当前的移动方向,V 是障碍物 O 相对于机器人 R 的相对速度,$\vec{n}_{RO}$ 是从机器人指向障碍物中心的单位向量,$d_m$ 是机器人与障碍物之间允许的最短距离。$\theta_m$ 是定义的碰撞角,它随机器人与障碍物之间的距离减小而增大。从图中可以看出关系 $\sin\theta_m = \frac{d_m}{d}$,其中 $d = \vert\vec{p}_{obs}(t) - \vec{p}(t)\vert$,表示障碍物与机器人之间的距离。$\theta$ 是机器人相对于障碍物的相对速度与机器人相对于目标的相对位置之间的角度,满足 $\theta = \theta_v - \theta_o$。
假设机器人在下一时间段内沿当前前进方向移动,那么:
- 当满足 $\theta = \theta_m$ 时,机器人 R 将无碰撞地通过障碍物 O。
- 当满足 $\theta > \theta_m$ 时,没有碰撞的可能性。
- 当满足 $\theta < \theta_m$ 时,机器人 R 将在某个时刻与障碍物 O 碰撞。
此外,$\theta$ 越大,垂直于机器人和障碍物相对位置方向的切向力需求越小。因此,斥力势应满足以下条件:随机器人与障碍物的相对位置减小而增大,在 $\vert\theta\vert$ 小于碰撞角 $\theta_m$ 时,随 $\theta$ 增大而减小。
本文的斥力势函数如下:
\[
U_{rep}(\vec{P},\vec{V}) =
\begin{cases}
not\ defined, & \rho(\vec{P}_{s,obs}) < d_m \\
\frac{1}{2}\left(\frac{1}{\rho(\vec{P}_{s,obs})}-\frac{1}{\rho_0}\right)^2\left(e^{\frac{\theta_m - \theta}{\varepsilon}} - 1\right)\left(\frac{\rho(\vec{P}_{s,goal})}{d_g}\right)^2, & 0 < \rho(\vec{P}_{
0
0
复制全文
相关推荐








