机器人局部路径规划—动态窗口法
动态窗口法(Dynamic Window Approach,DWA)是一类经典的机器人局部路径规划算法。它的过程主要分为两部分:
-
速度空间(v,ω)(v,\omega)(v,ω)的计算。考虑到实际的运动限制可以得到一个速度范围:
V={ (v,ω)∣v1≤v≤v2, ω1≤ω≤ω2} V = \{ (v,\omega)|v_1\leq v \leq v_2, \; \omega_1\leq \omega \leq \omega_2\} V={ (v,ω)∣v1≤v≤v2,ω1≤ω≤ω2}
这个范围由多种因素决定,如机器人的速度限制、电机的加速度限制、机器人的最小转动角度等。 -
速度空间(v,ω)(v,\omega)(v,ω)的评价。根据给定的评价公式,对速度空间的每一组(vi,ωi)(v_i,\omega_i)(vi,ωi)进行评价,然后选择一组最佳速度作为当前速度。
值得注意的是,在使用DWA方法进行路径规划时,一般应用于以下场景:
- 机器人和目的地的坐标已知,但障碍物坐标未知;
- 有传感器可以检测到障碍物,并且可以得到机器人与障碍物的距离和角度.
接下来,我会详细介绍DWA的算法流程。
1.速度空间计算
在计算速度空间时,为了更加贴近现实,我们一般会考虑一些运动限制。在DWA中,主要考虑了三种运动限制:
- 机器人移动的最大速度限制;
- 电机的最大加速度限制;
- 遇到障碍物时能否在碰撞前停止.
1.1.移动最大速度限制
显然,机器人的速度是不可能无限增加的,所以应该考虑其最大运动速度。于是,我们可以得到如下公式:
vs∈[vmin,vmax] v_s \in [v_{min}, v_{max}] vs∈[vmin,vmax]
ωs∈[ωmin,ωmax] \omega_s \in [\omega_{min},\omega_{max}] ωs∈[ωmin,ωmax]
一般最小线速度取零,最小角速度和最大角速度互为相反数。但考虑到为了增加评价函数的区分度,可以考虑把最小线速度设置为1。因为当线速度为0时,评价函数就无法发挥作用。从下图的上下限可以看出,其最大速度限制设置为:
vmin=0, vmax=90, ωmin=−90, ωmax=90 v_{min}=0, \; v_{max}=90, \; \omega_{min}=-90, \; \omega_{max}=90 vmin=0,vmax=90,ωmin=−90,ωmax=90

如果不考虑其它运动限制,在设置最大速度限制时,上图的坐标系上的所有点都是我们需要考虑的速度,这些速度构成了一个速度空间。
1.2.移动最大加速度限制
由于电机的转矩有限,因此存在一个最大的加速度限制。假设机器人当前速度为(vc,ωc)(v_c,\omega_c)(vc,ωc),在一个有限的时间周期Δt\Delta tΔt,机器人的速度范围应为:
vd∈[vc−v˙aΔt, vc+v˙bΔt] v_d \in [v_c-\dot{v}_a \Delta t, \;v_c+\dot{v}_b \Delta t] vd∈[vc−v˙

动态窗口法(DWA)是一种经典的机器人局部路径规划算法,主要涉及速度空间计算和评价。计算包括最大速度限制、加速度限制和允许速度,形成速度空间的交集。评价函数包含方向角、障碍物距离和速度三部分,通过轨迹预测和速度评价选择最优速度。在复杂环境中,DWA可能存在局限性,如目标与障碍物间有障碍时,参数调整至关重要。
6971

被折叠的 条评论
为什么被折叠?



