DWA论文翻译

摘要

        本文介绍了一种能够令机器人进行自主避障的动态窗口法(dynamic window approach ,DWA)。该方法是从机器人的运动动力学直接推导出的,因此特别适合在高速运动的机器人。与以往方法不同的是,该方法直接在速度空间中搜索控制机器人平移和旋转速度的命令。它优势在于它完美的结合了机器人的运动运动学。这是通过将搜索空间缩小到动态窗口来实现的,动态窗口包括在短时间间隔内可达到的速度。在动态窗口内,该方法只考虑那些令机器人可以安全避停的admissible velocities。 在这些速度中,DWA通过最大化目标函数来选择最优的平移速度和旋转角速度。目标函数包含了机器人的前向速度,到轨迹上下一个障碍物的距离和朝向目标位置的进度。实验证明DWA能够令机器人在复杂和动态的环境中以最大95cm/s的速度工作。

1 简介

        室内机器人研究的一个终极目标是实现机器人在复杂危险的环境中安全的完成任务。例如,在室内办公环境中协助人类的服务机器人应该能够对不可预见的变化做出快速反应,并在各种各样的环境下执行任务;然而当今大多数商用移动设备在这方面做的都不是很好。它们的运动规划往往依赖于一个准确的静态的环境,因此当行人或者其他无法预料的障碍物突然出现在它们前进路线上的时候它们往往不知所措。自主移动机器人应能够感知它们周边的环境,处理突然情况,动态规划轨迹以完成它们的任务。

        本文着重于以上机器人的某一方面:也就是避障。本文提出的动态窗口方法是直接从同步驱动移动机器人的运动动力学出发,专门针对速度和加速度受限的约束而设计的。 简而言之,我们的方法在计算下一个steering command时只考虑一个周期的时间间隔,以避免一般运动规划问题的巨大复杂性。在这样的时间间隔内,用circular curvatures逼近轨迹的结果是一个由平移速度和旋转角速度构成的二维搜索空间。 搜索空间可进一步简化为允许机器人安全刹停的admissible velocities。由于电机的加速度有限,因此速度受到进一步的限制:机器人只考虑在下一个时间间隔内可以达到的速度。这些速度形成了以机器人当前速度为中心的动态窗口。

        我们通过最大化目标函数来对动态窗口中由平移速度和旋转角速度组成的admissible velocities进行筛选。目标函数包含了机器人的前向速度、到轨迹上下一个障碍物的距离和朝向目标位置的进度。通过结合这些因素,机器人能够以一个较快的速度朝目标点前进,同时绕开障碍物。目标函数中的这些因素使得避障策略非常的鲁棒和完美。

图1 机器人RHINO

        DWA在RHINO机器人上进行了测试。在实验中,我们使用了超声波传感器构建了局部地图(障碍场)。该方法已被证明可以在多个室内环境中以95cm/s的速度可靠地运行并避免碰撞【3】。即便采用其他传感器如相机和红外探测器作为输入,DWA也没有问题。

        DWA与之前的方法在以下三个方面不同:(a) 它是直接从移动机器人的运动动力学推导出来的;(b)它考虑到了机器人的惯性,这对具有扭矩限制的机器人在高速运动时尤为重要;(c)在各种杂乱的动态环境中可以以高达95cm/s的速度安全运行。我们设想这种方法将特别适合速度较高的机器人和电机扭矩有限的低成本机器人。

        本文的剩余部分组织结构如下:第2节为相关工作。第3节给出一个自主机器人的通用运动学方程,其中的一个关键成果是自主移动机器人的轨迹可以由有限的几段的圆弧近似。第4节详细的描述我们的算法。第5节是实验总结,接下来的第6节是对更深入研究话题的讨论。

2 相关工作

        机器人的避障方法可以被粗糙的分为两类:全局路径规划方法和局部路径规划方法。典型的全局路径规划算法有road-map,cell decomposition 和势能场等方法(see 【10】 for an overview and futher references)。这些方法通常假设预先已知一个完备的地图。The advantage of global approaches lies in the fact that a complete trajectory from the starting point to the target point can be computed off-line。不过这些方法对具有较快速度的动态障碍物效果很差。Their strength is global path planning。除此之外,当全局地图是不准确的或者并不是完全已知的时候(特别是在复杂的室内环境中),这些方法被证明存在较大问题。Hu/Brady, Moravec and others【5,11】, have shown how to update global world models based on sensory input, using probabilistic representations。全局路径规划方法的第二个缺点是它们通常很慢(由于机器人运动规划的复杂性)【12】。This is particularly problematic if the underlying world model changes on-the-fly, because of the resulting need for repeated adjustments of the global plan。在上述的场景中,重复进行全局路径规划算法代价比较大。

        局部路径规划算法只需要使用环境中的部分信息即可,因而随之而来的问题就是局部路径规划算法通常无法找到最优解。它们极容易陷入局部最小值中(如U形的死胡同这种环境)。然而局部路径规划算法与全局路径规划算法相比优点在于计算量比较小,当机器人的周围环境不断变化的时候这一点就比较重要了。举个例子,如在参考文献【8】提出的势能场方法,它通过假设障碍物对机器人产生斥力而目标点对机器人产生引力,进而能够确定机器人的运动方向。这些方法的计算速度很快,并且通常只考虑机器人周围比较近的部分障碍物。Borensteion 和 Koren【9】就发现这种方法在狭窄走廊这种场景下通常会失效(振荡)。在参考文献【7】中对此提出了一种改进的势能场方法。通过改进势能函数,机器人的运动变的更加高效,并且能够实现一些诸如沿墙跟随或者跟踪的行为。

        在参考文献【2】中,提出了“vevtor field histogram”方法,这个方法是对“virtual force field histogram”【1】的扩展。这个方法使用占据栅格地图(基于超声波传感器数据生成和不断更新)构建了机器人周边的环境。Occupancy information is transformed into a histogram description of the free space around the robot,which is used to compute the motion direction and velocity for the robot。综上所述,局部路径规划算法计算速度很快,并且能够快速的适应环境中不可预知的变化。

图2  场景举例

        大部分局部路径规划算法一般通过两个阶段生成运动指令【1,2,8】。在第一个阶段确定机器人的方向。在第二个阶段则生成相应的the steering commands(使得机器人在相应方向上运动)。严格来讲,如果施加给机器人上的力是无穷大的,那么以上的这些方法都是非常合适的。然而由于机器人会受到加速度的约束,因此必须要考虑the impulse of the robot。

        举个例子,如图2所示,一个具有较大前向速度的机器人在走廊中进行运动,其中目标点则在它右侧的一个门内。很明显,此时最优的方向应该是右转。但如果不考虑无法给机器人一个无穷大的力进行右急转这一点的话,机器人就会撞到右边的墙上。 By only considering the admissible velocities in the dynamic window our method detects that the robot cannot perform the sharp turn。这时,机器人就会还保持着当前的直线运动,最终也就不会撞到墙上了。

3 运动方程

        这部分主要描述了机器人的基本运动学方程【4】。The derivation begins with the correct dynamic laws, assuming that the robot's translational and rotational velocity can be controlled independently (with limited torques)。为了使运动学方程更加实用,我们另外假设了在很短的一段时间内机器人的速度为一个恒定值。基于以上的这些假设,我们发现机器人的运动轨迹是由有限段的圆弧组成的。由于计算圆是否与障碍物相交是非常简单的一件事情,因此采用圆弧表示机器人的运动轨迹能够十分方便的进行碰撞检测。最后我们也推导出了逼近误差的上界。The piecewise circular representation forms the basis of the dynamic window approach to collision avoidance, described in Section 4。

3.1 通用的运动学方程

        令x(t)y(t)\theta(t)分别代表机器人在世界坐标系下的机器人t时刻的坐标和方位角。(x, y, \theta )这个状态空间包含了机器人的运动学属性。The motion of a synchro-drive robot is constrained in a way such that the translational velocity v always leads in the steering direction \theta of the robot, which is a non-holonomic constrain【10】。令x(t_{0})x(t_{n})分别代表机器人在世界坐标系下的机器人在t_{0}t_{n}时刻横坐标,y(t_{0})y(t_{n})分别代表机器人在世界坐标系下的机器人在t_{0}t_{n}时刻纵坐标,相应的,v(t)\omega (t)分别代表机器人在t时刻的平移速度和旋转速度。x(t_{n})y(t_{n})是关于x(t_{0})y(t_{0})\theta(t)的函数:

         方程(1)和方程(2)都依赖于机器人的不能直接设置的速度,因此我们下面将对上述方程进一步的推导。速度v(t)依赖于t_{0}时刻的初始速度v(t_{0})和[t_{0}  t_{1}]这段时间内的加速度\dot{v}(\tilde{t})。同样的,方位角\theta(t)是初始方位角\theta(t_{0})、初始旋转角速度\omega (t_{0})和[t_{0}  t_{1}]这段时间内的加速度\dot{\omega }(\tilde{t})。把v(t_{0})\dot{v}(\tilde{t})\theta(t_{0})\omega (t_{0})\dot{\omega }(\tilde{t})代入到方程(1)中,可以得到方程(3)。

         由于方程(2)与方程(1)类似,这里就不再推导了。

        方程(3)说明了机器人的运动轨迹与t_{0}时刻的状态的(x, y, \theta )以及机器人加速度有关系,而加速度我们是可认为是可控的(对于大部分的移动机器人而言,加速度是电流的单调函数)【6】。因此,当限制了电流的大小时,相应加速度的大小也被限制了。

        由于硬件数字电路的性能限制,所以我们能够设置的电机电流是存在一个范围的(这同时也意味着加速度有一个上下限)。因此,方程(3) can be simplified by assuming that between two arbitray points in time, t_{0} and t_{n}, the robot can only be controlled by finitely many acceleration commands。令n表示时间段的数量,时间段[t_{i}, t_{i+1}](其中k=1...n)内的平移加速度和旋转加速度为常数\dot{v}_{i}\dot{\omega }_{i}\Delta _{t}^{i} = t-t_{i}\Delta _{\breve{t}}^{i} = \breve{t}-t_{i}(其中i=1...n);然后基于每一个时间段内的加速度都是常数这一假设对方程(3)进行离散,最后得到的机器人运动学方程如方程(4)所示:

3.2 近似的运动学方程

        方程(4)描述了在通用情况下机器人的控制,但这对于确定机器人的转向帮助不是很大。这是因为根据上述方程计算生成的轨迹非常复杂,此外,使用上述方程进行几何操作(如相交检查)的代价也比较大。

        为了得到更加实用的运动学模型,通过假设时间段[t_{i}, t_{i+1}]内的速度是一个常数来对方程(4)进行简化。当时间间隔足够小的时候,简化后的运动学方程(6)会收敛于方程(4)。基于上述假设,我们最后发现了机器人的运动轨迹近似于由一段段的圆弧组成。不过使用分段圆弧来表示机器人的轨迹非常适合用于机器人的实时控制,这在第4章进行了详细的描述。

        当时间间隔[t_{i}, t_{i+1}]足够小的时候,由于机器人运动的平滑性,v(t_{i})+\dot{v}\Delta _{t}^{i}可以使用任意的速度v_{i}\epsilon [v_{i}, v_{i+1}]代替。同样的,\theta (t_{i})+\dot{\omega }(t_{i}) +\frac{1}{2}\dot{\omega }(t_{i})(\Delta _{t}^{i})^{2}可以使用\theta (t_{i})+\dot{\omega _{i}}代替,其中\dot{\omega _{i}} \epsilon [\dot{\omega}(t_{i}), \dot{\omega}(t_{i+1})]。基于以上,我们得到了方程(5)。

通过对方程(5)进行积分,可以得到方程(6)

其中:

同样的,对于纵坐标,有类似的结果如下:

注意当\omega _{i}=0时,那么机器人的运动是一条直线。相反,当\omega _{i}\neq 0时,机器人的运动轨迹是一个的圆。

其中,圆的方程为:

        方程(12)说明了第i段轨迹是一个以圆心为(M_{x}^{i}, M_{y}^{i})半径为\frac{v_{i}}{\omega _{i}}的圆。因此,当假设每个时间段内的速度为常数的时候,我们可以近似的认为机器人的运动轨迹是由一系列的直线和圆弧组成的。

        我们注意到,在方程(5)和(9)中,除了初始条件外,机器人的运动轨迹是由机器人的速度控制的。当我们进行控制机器人的时候,since the dynamic constraints of the robot impose bounds on the maximum deviation of velocity values in subsequent intervals,因此我们不可能随意的给机器人一个任意的速度。

3.3 逼近误差的上界

        Obviously, the derivation makes the approximate assumption that velocities are piecewise constant within a time interval。This error is bounded linearly in time between control points, t_{i+1}-t_{i},a fact which will be used below for modeling uncertainty in the robot's position。

        令E_{x}^{i}E_{y}^{i}分别代表了在时间段[t_{i}, t_{i+1}]内的X轴和Y轴误差。另外令\Delta _{t_{i}}=t_{i+1}-t_{i}。The deviation in the direction of any of the two axes is maximal if the robot moves on a straight trajectory parallel to that axis(意思就是沿着X或者Y轴线直行的时候逼近误差最大)。Since in each time interval we approximate v(t) by an arbitrary velocity v_{i}\epsilon [v(t_{i}), v(t_{i+1})],an upper bound of the error E_{x}^{i} and E_{y}^{i} for (i+1)-th time interval is governed by E_{x}^{i}, E_{x}^{i}\leq \mid v(t_{i+1})-v(t_{i}))\mid \Delta t_{i} ,which is linear in \Delta t_{i}

        读者应该注意到,逼近误差的上界只适合用于内部预测机器人的位置。而在实际控制中,机器人的位置是采用安装于电机上的光电编码器确定的(在我们的实现中秒测量4次)。

        以上完成了对机器人运动的推导。总结一下:经推导机器人的运动轨迹可以近似由一系列的圆弧组成,and we have derived a linear bound on the error due to an approximate assumption made in the derivation (速度为常数假设)。

4 动态窗口法

        动态窗口法直接在速度空间中搜索机器人的控制指令。The dynamics of the robot is inporporated into the method by reducing the search space to those velocities which are reachable under the dynamic constraints(意思是考虑了运动学特性后可以减小了需要搜索的速度空间)。除此之外,我们只考虑那些遇到障碍物能够保证停下来的速度。对速度空间的裁剪是在算法的第一步完成的。在算法的第二步我们会选择那些令目标函数值最大的速度。A Brief outline of the different parts of one cycle of the algorithm is given in 图 3。在我们当前的实现中执行上述一个周期需要大概0.25s的时间。

图3 Different parts of the DWA

        在本文的剩余部分我们将使用图2为例来阐述DWA算法的不同部分。

4.1 搜索空间

4.1.1 圆弧轨迹

        在第3章我们得到了这么一个结论:机器人的运动轨迹能够使用一系列的圆弧近似。在本文的剩余部分我们称这些圆弧为curvatures。每段curvature 是由一对速度向量(v_{i},w_{i})唯一确定,我们称这些速度向量为速度。To generate a trajectory to a given goal point for the next n time intervals the robot has to determine velocities (v_{i},w_{i}), one for each of the n intervals between t_{0} and t_{n}(意思是说找到一条去目标点的轨迹就是确定在每个时间段内速度)。当然以上的前提是轨迹不会与障碍物相交。需要搜索的空间大小与时间段的数量成指数关系。

        To make optimization feasible, DWA只着重考虑第一个时间段内的速度,然后假设剩余n-1段的速度为常数(这也就意味着在[t_{1}, t_{n}]内的加速度为零)。以上的这些简化基于以下的这些事实(a) the reduced search space is two-dimensional and thus tractable, (b) the search is repeated after each time interval, and (c) the velocities will automatically stay constant if no new commands are given。

4.1.2 推荐的速度

        复杂环境中的障碍物对进一步缩小搜索速度空间也提供了一定的帮助。例如,最大的admissible 速度 on a curvature depends on the distance to the next obstacle on this curvature。Assume that for a velocity (v, w) the term dist(v, w) represents the distance to the closet obstacle on the corresponing curvature( 在第5.2节我们将介绍怎么计算到给定轨迹的距离)。如果机器人能够在撞到机器人停下来,那么这个速度是admissible。Let \dot{v}_{a}\dot{v}_{b} be the acceleration for breakage。admissible的速度定义如下所示:

        上述方程v_{a}所定义的集合就是机器人遇到障碍物时能够确保停下来的速度。

 4.1.3 例1

        再次考虑图2给出的例子。图4展示了当加速度\dot{v_{b}}=50cm/s和角加速度\dot{w_{b}}=60deg/s时admissible速度。此外,黑色的区域代表了non-admissible速度。例如 right wall II 空间内的速度会导致机器人向右急转然后撞到 right wall。The non-admissible areas are extracted from real world proximity information; in this special case this information was obtained from sonar sensors(参考第5部分内容)。

4.1.4 动态窗口

        考虑到加速度是有界的这种情况我们可以进一步的把搜索空间缩小为一个窗口(包含了在下次积分时can be reached的速度)。令t代表积分时间,(v_{i},w_{i})代表平移和角加速度,(v_{a},w_{b})代表机器人实际的速度,那么动态窗口V_{d}可以被定义为如下:

动态窗口是以机器人的实际速度为中心,并且其窗口大小依赖于机器人的加速度。在动态窗口外面的速度是在下次积分时can not be reached,因而我们也不必考虑它们是否会撞到障碍物。

4.1.5 最终的搜索空间

        以上对搜索空间(速度)进行各种约束的结果是区域v_{r}(处于一个动态窗口中)。令v_{s}代表包括了所有可能速度的区域,然后定义v_{r}是以上各种约束区域的交集,也就是:

 在图5中结果v_{r}是白色的区域。

4.1.6 例2

        An exemplary dynamic window obtained in the situation shown in Figure 2, given acceleration of 50 cm/sec^{2} and 60 deg/sec^{2} and a time intercal of 0.25 sec is shown in Figure 5。到长方形两角的点划线代表了can be reached 极限轨迹。

4.2 最大化目标函数

        确定速度区域v_{r}后接下来我们考虑从v_{r}中选出一组最优的速度。为了综合考虑target heading,clearance, and velocity等准则,我们在v_{r}中找到令一下目标函数最大的一组速度。当然这是在离散的搜索空间(速度)中完成的。

4.2.1 目标航向

        The target heading heading(v, w)度量的是机器人是否朝着目标点移动,它等于180-\theta,其中\theta是目标点与机器人前进方向的夹角(如图6所示)。由于这个方向随着不同的速度而变化,所以θ是根据机器人的预测位置来计算的。为了确定预测的位置,我们假设机器人在下一个时间间隔内以选定的速度移动。不过在测量机器人真实的target heading的时候,还需要考虑到机器人旋转的动力学特性。因此,在机器人在下一个间隔后施加最大减速度时将到达的位置计算\theta。这使得机器人在规避障碍物的时候可以产生一个朝着目标点的平滑转向。

4.2.2 例3

        图7展示了在示例场景中不同速度时的target heading的估计。在本图和接下来的图中,non-admissible velocities 被设置为零(与图2和图4相比较)。为了清楚起见,我们展示了整个速度空间的估计,而不局限于动态窗口。图7中函数的非线性是由于在确定预测位置时考虑了动力学因素而引起的。因为正的旋转速度使曲率向右,我们在速度空间的右边找到了最佳速度。最佳速度是指在预定的位置上,达到完美朝向目标的速度当旋转速度更高时,函数会下降,因为它们会产生超出目标的转弯。

4.2.3 间隙

        dist(v,w)表示与curvature相交的最近障碍物的距离。如果curvature上没有障碍物,那么将函数值设置为一个较大的值。

4.2.4 例4

        图8中的函数值仅取决于机器人周围障碍物的距离信息。在给定的曲线图中,我们可以找到通向墙较低估计值的curvatures。对于较高的平动速度,这些值属于不允许的范围,因此被设置为零。

4.2.5 速度

        函数velocity(v, w)用于评估机器人在相应轨迹上的进度。它是平移速度v的映射函数,如下图9所示。

4.2.6 平滑

        目标函数的三个分量最后被归一化为[0,1]。这些分量的加权和如图10所示,其中\alpha =2, \beta =0.2,\gamma =0.2。正如预期的那样,通过门区域的最快轨迹得到的评价最高(与图4相比)。Smoothing increases side-clearance of the robot.。结果目标函数如图11所示,其中的最大值的位置用垂直线表示。

        需要注意的是,目标函数G的三个组成部分:target heading,the clearance和velocity都是必要的。只最大化clearance和velocity机器人总是会进入free space,但却没有动力去目标位置。只单独最大化target heading,机器人很快就会得到被第一个障碍物(位于轨迹上的)拦住了,而无法绕过它。只有通过组合所有三个部分,机器人能够在约束条件下(以上所列)以最快的速度规避障碍物,同时在朝着目标位置前进。

        在我们以前的方法(见【3】)中,寻找最佳速度是分两步进行的。在第一步中,只选择了curvatures。This was done by evaluating the target angle and the so-called "n-sec-rule",namely a linear function of the clearance。在第二步,在curvatures上确定最大的速度。Although the resulting behavior of the robot was the same, we decided to use this single step evaluation of the objective function。以上是受到了文献【13】的启发。

4.3 动态窗口的角色

        在上一节中,我们介绍了要最大化目标函数从而使得机器人的轨迹平滑和朝向目标前进。为了便于说明上述最大化的目的,我们展示了对于整个速度空间的评价结果。正如第4.1节所述的,速度空间被减少为只有动态窗口中的admissible velocities。In this section we describe how the robot respects the dynamics by this restriction。此外,我们讨论了不同速度和加速度下的the dependency of the behavior。在这两个例子中,时间间隔均固定为0.25秒。

4.3.1 当前速度的角色

        在下面的这个例子中,我们展示了行为是如何随当前速度变化而变化的。我们假设加速度为50cm/s^{2}和60deg/s^{2}。图12显示了动态窗口v_{d1}v_{d2}分别以75和40cm/s的平移速度作直线运动。图13和图14显示了动态窗口的目标函数值,其中动态窗口之外的函数值为-1。

        在第一种情况下,如当前速度为75cm/s时,由于机器人移动速度太快,无法执行必要的向右急转弯以通过打开的门。图13反映了上述这一点,即导致右转的速度是non admissible。在动态窗口中的速度中,评价最高的生成的是直线运动,如图13中的垂直线和图12中v_{d1}顶部的十字标记所示。

        相比之下,如果当前速度为40 cm/s,则动态窗口包括穿过门的curvatures(见图12和14)。由于更好地评估角度和距离,选择的速度是最极端的右转。

4.3.2 加速度依赖

        The restricted search space,评价函数和动态窗口均取决于给定的加速度。考虑当加速度为20cm/s^{2}和30deg/s^{2}时的速度空间,如图15所示。由于相比之下加速度较小,因而admissible velocities的空间也比图4小一点。所以我们只需要考虑最高速度为60cm/s和50deg/s的情况。以40cm/s的平移速度进行直线运动的动态窗口在这里以白色表示。另外由于依赖于加速度,动态窗口的大小也小了一点。

        图16是对整个速度空间的评价。图17是对搜索空间中的动态窗口内的速度的评价。同样,对于机器人而言进行急转弯进入门内太快了,而进行直线运动的速度评价最高(与图13相比较)。

5 实现和实验结果

5.1 RHINO

        我们在RHINO机器人上实现和测试了DWA方法,其中机器人上配备了24个超声波传感器、56个红外传感器和1个双目。超声波传感器的水平视野大概是15度,因而可以在一次测量中获得水平方向360度内的环境信息。另外,一次完整的声纳扫描大约需要0.4秒。

5.2 障碍物线场

        我们使用obstacle line field 作为局部地图,which is a two-dimensional description of sensory data relative to the robot's position(如图18所示)。we adjusted our sonar sensors such that most erroneous readings indicate a too long distance。To be maximally conservative,每次数据都被转换成一条障碍线。如果传感器产生虚假数据时(例如,due to cross-talk),那么可以需要使用一些更复杂的模型如占据栅格地图【11】。

        obstacle line field是由获取的传感器数据构建,并以机器人位置为圆心。It contains a line for each reading of a sonar sensor, which is perpendicular to the main axis of the sensor beam at the measured distance。The length of the line is determined by the breadth of the beam in the given distance。其中机器人与curvatures上的障碍物的距离计算如下:设r为curvatures轨迹的半径,设\gamma为obstacle line 交点与机器人的位置的夹角(见图19)。那么距离下一个障碍定义为\gamma\cdot r

        为了让机器人能够对环境的变化做出快速反应,我们限制obstacle lines的数量为72;并且使用了先入先出的策略移除the least actual lines from the obstacle line field。我们发现这些值可以让机器人在速度高达95cm/s的情况下安全行驶,同时在i486计算机上保持0.25s的计算时间。

5.3 进一步实现细节

        以下的这些策略提高了机器人运动的鲁棒性。由于它们对于本文提出的方法不是必需的,因此我们在这里仅仅对它们进行概述。

  • Rotate away mode 。在极少数的情况下,我们观察到机器人陷入了局部最小值;没有合适的轨迹让机器人进行平移就是这种情况。不过当这种情况发生的时候,很容易被检测到;令机器人一直原地旋转直到机器人可以进行平移为止。
  • Speed dependent side clearance。为了使机器人能够根据其与障碍物之间的距离自动调整速度,我们在机器人附近引入了一个safety margin(它随着机器人的平移速度线性增长)。这样可以使得机器人以较快的速度通过走廊,同时在经过门的时候缓慢通行。可能的偏差来自于第3.3节所述的近似误差。

5.4 实验结果

        基于动态窗口避碰方法,RHINO中已在各种环境中安全运行了两年。它的最大速度被硬件限制在大约95cm/s。在没有障碍物遮挡的情况下,RHINO在通过门或者走廊的时候是可以达到这个速度的。但如果障碍物挡住了它的路,则它会选择较慢的速度,并通过选择适当的轨迹来避免碰撞。例如,当穿过门时,RHINO通常会在门附近减速到20cm/s左右。在本节的剩余部分中,我们将给出使用动态窗口方法生成的实验结果。在下面的图表中场景是用手工绘制的。尽管如此,每张图都是一个实际的实验,所有显示的轨迹都是从实际位置数据中提取出来的。在上述的每个例子中有一条从当前位置到目标点(人工设置的)的全局路径。这是由全局路径规划算法生成的【14,15,16】。

5.4.1 参数设置

        虽然DWA算法的避障性能取决于加权参数\alpha, \beta\gamma,但加权参数的值即便是稍有变化算法依然很稳定。我们发现\alpha, \beta\gamma的值为0.8,0.1和0.1的时候效果还不错。机器人与目标点的偏离程度主要取决于\alpha与其它两个参数的比值。如果目标航向参数权重较低,则机器人在绕障的时候比较自由。当然如果使用的传感器(例如超声波传感器)角分辨率比较低的话,这可能会阻止机器人到达位于狭窄开口后面的目标点。这是因为机器人在其传感器未检测到开口之前就转身离开了。另一方面,如果目标航向参数权重较高,则会使得机器人在转身前非常接近物体,这就阻碍了机器人平滑的绕开障碍物。

        我们应根据环境的先验知识,选择合适的参数。比如在狭窄的环境中令目标航向权重较高比较合适,但在宽阔且人口稠密的走廊目标选择较低的目标航向权重效果可能会较好。

5.4.2 动态窗口的角色

        第一个实验展示了动态窗口对机器人行为的影响。图20中的三条路径是在不同动力学约束下机器人典型行为的示例(对于速度和加速度,我们使用了与第4.3节相同的值)。实验的关键是机器人在阴影区域采取的路径。在这个区域的时候机器人会检测到右侧的门并决定是否向右进行急转弯。这个决定很大程序上取决于机器人的动力学特性。只有当实际的速度和可能的加速度允许向右急转弯时,机器人才会直接移动到目标点。这个轨迹在图20中采用虚线表示。In the other two cases the robot decides to pass the opening and moves parallel to the wall until the evaluation of the target heading angle becomes very small。

        请注意,如果不考虑动力学约束,尝试向右急转弯几乎肯定会导致机器人与墙相碰撞。 事实上,在最初的模拟实验中,当我们忽略了一些动力学特性,经常会遇到这种类型的碰撞。

5.4.3 走廊中的直线运动

        图21显示了一个沿着走廊行进的例子,其中在走廊中间只有一个障碍物。在这种情况下,RHINO会首先原地旋转直到朝向目标点。然后当机器人检测到障碍物时,机器人会选择一条平滑的轨迹来避开障碍物。虽然RHINO在通过障碍物之前减速到55cm/s,但在它这个实验中的平均速度大约是72cm/s。不过需要注意的是,在绕障碍物后,RHINO在尽可能沿着直线行驶,而不会像其他方法那样摆动。

5.4.4 复杂环境中的快速运动

        第三个实验如图22所示,主要是令机器人穿过一条杂乱的走廊。走廊里的所有人被机器人以最大95cm/s的速度平滑绕过。不过需要注意的是,尽管机器人在通过第四个人和打开的门之间的狭窄通道(宽度小于80cm)时减速到20cm/s以下,但它保持的平均速度大约是65cm/s

5.4.5 AAAI'94 机器人竞赛

        下一个轨迹是在AAAI'94移动机器人比赛的竞技场上生成的。图23显示了竞技场的占据栅格地图和机器人的轨迹。 Here the robot moved free of collisions in an artificial indoor environment during an exploration run。The target points for the collision avoidance were generated by a global planning algorithm。这里的门宽约80-110cm

        通常很难将这里描述的结果与其他研究人员获得的结果进行比较,主要是因为机器人的不同大小和环境的微小变化会对问题的难度产生巨大影响。例如,在类似于图21和图22所示的环境中,Borenstein等人称,他们的机器人大约以58cm/s的平均速度行进【1,2】。不过从一个例子(在参考文献【1,2】中使用的)中可以判断出,我们的结果与Borenstein等人的结果相比好一点。

6 结论

        本文提出了一种移动机器人的避障方法。基于移动机器人的精确运动方程,推导出了可以使用有限段圆弧模拟机器人轨迹的一种方法。动态窗口方法首先通过只考虑the next steering command来修剪整个搜索空间。这产生了一个二维的搜索空间。然后,搜索空间被减小到admissible velocities,使得机器人能够安全停车而不与障碍物相撞。最后,动态窗口将admissible velocities限制为给定的加速度在短时间内可以达到的速度。这样我们就确保考虑到了动力学的约束。机器人不断地选择一条轨迹,在这个轨迹上它可以最大化它的平移速度和到障碍物的距离,同时最小化相对于它自己的前进方向的与目标的角度。这一步是通过最大化目标函数来实现的。

        实验表明,以上的目标函数可以产生一个非常鲁棒和优雅的避碰策略,并令我们的机器人RHINO以高达95cm/s的速度安全运行。RHINO,一个B21移动机器人,经常在无人监督的情况下经常在我们大学大楼里运行。当然,这里描述的方法只是整个自主导航系统中的一部分。例如,文献【3,15,16】综述了构建占据栅格地图、全局路径规划和计算机视觉等方法。

        原则上,本文提出的方法假设已知了障碍物的相对位置等几何信息。因此,它非常适合距离传感器如超声波传感器(实验报告中使用的),或者激光测距仪。在一些初步测试中,我们还使用摄像机和红外传感器探测障碍物。通过了解机器人的几何结构和摄像机的角度,将像素信息转换为距离信息。然而,只有当障碍物离地面比较近的时候,所得到的距离信息才比较准确。不同高度的障碍物会导致过高的估计障碍物的距离,从而导致机器人发生碰撞。立体视觉(双目)可能可以解决这个问题。机器人上的红外传感器由于检测距离比较近(<30 cm),因此当机器人速度比较快的时候可能会发生碰撞。然而,将两个传感器系统中的任何一个与超声波传感器相结合,可以有效的改善机器人轨迹的质量。

7 致谢

        The authors thank Thomas Hofmann and the other members of the RHINO team for insightful discussion, help and advice.

        One author (S.T.) is sponsored in part by the National Science Foundation under award IRI-9313367, and by the Wright Laboratory, Aeronautical Systems Center, Air Force Materiel Command, USAF, and the Defense Advanced Research Projects Agency (DARPA) under grant number F33615-93-1-1330. The views and conclusions contained in this document are those of the author and should not be interpreted as necessarily representing official policies or endorsements, either expressed or implied, of NSF, Wright Laboratory or the United States Government.

8 参考文献

[1] J. Borenstein and Y. Koren. Real-time obstacle avoidance for fast mobile robots in cluttered environments. In Proc. IEEE Int. Conf. Robotics and Automation , volume CH-2876, pages 572{577, 1990.

[2] J. Borenstein and Y. Koren. The vector field histogram - fast obstacle avoidance for mobile robots. IEEE Transactions on Robotics and Automation , 7(3):278{288, 1991.

[3] J. Buhmann, W. Burgard, A.B. Cremers, D. Fox, T. Hofmann, F. Schneider, J. Strikos, and S. Thrun. The mobile robot Rhino. AI Magazine , 16(1), 1995.

[4] L. Feng, J. Borenstein, and H.R. Everett. "Where am I?" Sensors and Methods for Autonomous Mobile Robot Positioning. Technical Report UM-MEAM-94-21, University of Michigan, December 1994.

[5] H. Hu and M. Brady. A bayesian approach to real-time obstacle avoidance for a mobile robot. In Autonomous Robots , volume 1, pages 69{92. Kluwer Academic Publishers, Boston, 1994.

[6] J.L. Jones and A.M. Flynn. Mobile Robots: Inspiration to Implementation . A K Peters, Ltd., 1993. ISBN 1-56881-011-3.

[7] M. Khatib and R. Chatila. An extended potential field approach for mobile robot sensor-based motions. In Proc. International Conference on Intelligent Autonomous Systems (IAS'4) , 1995.

[8] O. Khatib. Real-time obstacle avoidance for robot manipulator and mobile robots. The International Journal of Robotics Research , 5(1):90{98, 1986.

[9] Y. Koren and J. Borenstein. Potential field methods and their inherent limitations for mobile robot navigation. In Proc. IEEE Int. Conf. Robotics and Automation , April 1991.

[10] J. Latombe. Robot Motion Planning . Kluwer Academic Publishers, Boston, MA, 1991. ISBN 0-7923-9206-X.

[11] H.P. Moravec. Sensor fusion in certainty grids for mobile robots. AI Magazine , pages 61{74, Summer 1988.

[12] J.T. Schwartz, M. Scharir, and J. Hopcroft. Planning, Geometry and Complexity of Robot Motion . Ablex Publishing Corporation, Norwood, NJ, 1987.

[13] R. Simmons. The curvature-velocity method for local obstacle avoidance. In Proc. IEEE Int. Conf. Robotics and Automation , 1996.

[14] S. Thrun. Exploration and model building in mobile robot domains. In Proceedings of the ICNN-93 , pages 175{180, San Francisco, CA, 1993. IEEE Neural Network Council.

[15] S. Thrun and A. Bucken. Integrating grid-based and topological maps for mobile robot navigation. In Proceedings of the Thirteenth National Conference on Arti cial Intelligence AAAI-96 , 1996.

[16] S. Thrun, A. Bucken, W. Burgard, D. Fox, T. Frohlinghaus, D. Hennig, T. Hofmann, M. Krell, and T. Schimdt. Map learning and high-speed navigation in RHINO. In D. Kortenkamp, R.P. Bonasso, and R. Murphy, editors, AI-based Mobile Robots: Case studies of successful robot systems . MIT Press, Cambridge, MA, to appear.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值