机器人局部避障的动态窗口法(dynamic window approach)

时间:2024-03-22 18:08:10

概述
​ 动态窗口法主要是在速度(v,w)空间中采样多组速度,并模拟机器人在这些速度下一定时间(sim_period)内的轨迹。在的到多租轨迹以后,对这些轨迹进行评价,选取最优轨迹所对应的速度来驱动机器人运动。
​ 该算法突出点在于动态窗口这个名词,它的含义是依据移动机器人的加减速性能限定速度采样空间在一个可行的动态范围内。

1. 机器人运动模型

模型1

简单,最常用,但不是动态窗口论文中的模型。

首先假设机器人不是全向移动的只能前进和旋转(v,w)模拟轨迹时,先考虑两个相邻时刻,(一般码盘采样周期ms计)运动距离短,简单起见可以将相邻两点运动轨迹看成直线,即沿机器人坐标系*x轴移动了v*t,投影到世界坐标系*就能得到t+1时刻相对于t时刻机器人在世界坐标系中坐标的位移 \delta x和 \delta y。
机器人局部避障的动态窗口法(dynamic window approach)

以此类推,如果想求一段时间内的轨迹,只需要讲这段时间的位移增量累计求和就行了。

机器人局部避障的动态窗口法(dynamic window approach)
模型2

上面的计算中,假设相邻时间段内机器人的轨迹是直线,不够准确。

更准确的做法是用圆弧来代替,dwa论文原文中推到的那样

模型3

还有很多其他推导方法

2.速度采样

速度如何采样?

2.1移动机器人受自身最大速度最小速度的限制:

机器人局部避障的动态窗口法(dynamic window approach)

2.2移动机器人受电机性能的影响

​ 存在最大的加减速限制,所以机器人轨迹前向模拟的周期sim_period内,存在一个动态窗口,在该窗口内的速度是机器人能够实际到达的速度

机器人局部避障的动态窗口法(dynamic window approach)

2.3基于移动机器人安全的考虑:

为了能够在碰到障碍前停下来,因此在最大减速度条件下,速度有一个范围:

注意:为了简化每组速度对应轨迹的计算,该算法假设机器人在往前模拟轨迹的这段时间(sim_period)内速度不变,直到下一时刻采样给定新的速度命令。

动态窗口采样的轨迹如下图所示:

3.评价函数

在采样的速度组中,有若干组轨迹是可行的,因此采用评价函数的方式为每条轨迹进行评价。

在原始论文中,采用的评价函数如下:

机器人局部避障的动态窗口法(dynamic window approach)

3.1方位角评价函数

​ 用来评价机器人在当前设定的采样速度下,达到模拟轨迹末端时的朝向和目标之间的角度差距。如下图所示:

机器人局部避障的动态窗口法(dynamic window approach)

角度相差越小评价的分越高

3.2空隙

代表机器人在当前轨迹上与最近的障碍物之间的距离。如果这条轨迹上没有障碍物,那就将其设定一个常数。

3.3速度

用来评价当前轨迹的速度大小。

总结:三者构成的评价函数的物理意义是:在局部导航过程中,使得机器人避开障碍,朝着目标以较快速度行驶,缺一不可。

编辑整理自 白巧克力亦唯心http://blog.csdn.net/heyijia0327