该博客讨论了我在理解和实施本文中的经验: 实时多代理导航的互速度障碍。 这项研究由北卡罗来纳大学教堂山分校的Jur van den Berg,Ming Lin和Dinesh Manocha进行,2008年。
本文讨论了避免通过本地冲突而无需任何显式通信的多个代理在环境中导航。 尽管之前也有类似的方法,但是这种方法是分散的,并且还期望其他代理人能够做出回报(分担避免障碍的责任)。 它还考虑了环境中其他代理的动态性质。
在深入了解往复速度障碍(RVO)概念之前,有一些先决条件:
P1。 速度障碍(VO)的概念:
我们将看到RVO是VO的扩展,它几乎没有优势。 正式地
障碍物B对主体的速度障碍物就是由该主体的所有那些速度组成的集合,这些速度将导致障碍物B在某一时刻以一定速度移动。
这意味着,给定环境中的每个代理都应了解会导致与其他代理/障碍物碰撞的速度。 这样,代理可以成功导航并达到其目标。
让我们从一个非常简化的场景开始:如图所示,将2个代理A和B视为具有(位置,速度)的点对象 。

通过查看图像,我们可以说,如果代理A以相同的速度继续前进,它将与代理B发生碰撞。这意味着,

对于VO以外的任何其他速度,代理A不会与代理B发生碰撞。并且根据交换律,我们可以说,对于一对代理,碰撞是相互的,即

现在,让我们将代理B视为光盘,同时将代理A仍然是重点,从而将其扩大一个档次。 现在,VO将显示为一定范围的速度。

范围是将导致切线轨迹的值。 这就是为什么我们得到一个速度锥,而这个锥中的所有速度都属于VO的原因。

在为现实情况定义数学模型(所有代理的物理尺寸都不为零)之前,我们应该了解Minkowski Sum的含义及其在导航和路径规划中的意义。
P2。 Minkowski总和:
在几何中,欧几里得空间中两组位置向量A和B的Minkowski和 (也称为膨胀)是通过将A中的每个向量与B中的每个向量相加而形成的。

让我们举个例子,了解正在发生的事情。 如图所示,考虑2组位置矢量Q1和Q2。

可以将以Q2为中心的这两组向量的Minkowski总和定义为:

也就是说,我们将绿色正方形中所有点的矢量和与红色正方形中所有点的矢量求和。 结果将是蓝色方块。 非正式地,它可以看作是使绿色正方形的角沿红色正方形的边缘滑动。
那么,本文的意义何在?为什么我们需要它? 好吧,在现实生活中,代理人的物理方面并不是重点。 但是对于设计数学模型,希望将代理视为点,这样更容易获得广义模型。 这就是为什么我们考虑诸如点之类的对象,而Minkowski Sum的概念将有助于我们对其进行概括。 在这种情况下,Minkowski和可以视为:
将感兴趣的代理的物理尺寸简单转移到环境中,然后将代理视为重点。 结果是“关注点代理”的新配置空间。

这是通过使用Minkowski和完成的,但我们取Q1的取反并执行相同的上述过程。 现在,我们获得了一个边缘区域,该区域定义了Q1或我们感兴趣的代理的配置空间。

这是在代理具有2 DOF的假设下进行的。 也就是说,它只会翻译。 如果考虑旋转,即3DOF,则将有所不同。