纯追踪控制器

纯追踪是一种路径跟踪算法。它计算角速度指令,将机器人从当前位置移动到机器人前方的某个前瞻点。线速度假定为常数,因此可以在任何点更改机器人的线速度。然后,该算法根据机器人的当前位置移动路径上的前视点,直到路径的最后一点。你可以把这看作是机器人不断地追逐它前面的一个点。属性LookAheadDistance决定向前看点的放置距离。

这个控制器追踪对象不是传统的控制器,而是用于路径跟踪目的的跟踪算法。您的控制器对于指定的航路点列表是唯一的。可以指定所需的线性和最大角速度。这些属性根据车辆规格确定。给定姿势(位置和方向)在机器人的输入中,物体可以用来计算机器人的线性和角速度指令。机器人如何使用这些命令取决于所使用的系统,因此考虑机器人如何能够执行给定这些命令的运动。视距,它告诉机器人在路径上要走多远。下面一节将更详细地解释此属性。

参考坐标系

了解pure pursuit算法用于输入和输出的参考坐标系非常重要。下图显示了参考坐标系。输入航路点为[x y]坐标,用于计算机器人速度命令。机器人的姿势作为姿势和方向(θ)点列表输入,如下所示:[xyθ]. 积极的xY方向分别为向右和向上方向(图中为蓝色)西塔值是机器人的角度方向,以弧度为单位逆时针测量x-axis(机器人当前处于0弧度)。

前视距离

这个视距属性是控制器的主要调整属性。向前看距离是指机器人在计算角速度指令时,应沿路径距离当前位置的距离。下图显示了机器人和前视点。如图所示,请注意实际路径与航路点之间的直线不匹配。

更改此参数的效果可能会改变您的机器人跟踪路径的方式,并且有两个主要目标:恢复路径和维护路径。为了快速恢复航路点之间的路径,一个小的视距将使您的机器人快速向路径移动。但是,如下图所示,机器人超出了路径,并沿所需路径振荡。为了减少沿路径的振荡,可以选择更大的前视距离,但是,这可能会导致拐角附近的曲率更大。

这个视距属性应针对您的应用程序和机器人系统进行调整。不同的线速度和角速度也会影响该响应,因此路径跟踪控制器应予以考虑。

局限性

关于这种纯追踪算法,有一些限制需要注意:

  • 如上所示,控制器无法准确跟踪航路点之间的直接路径。必须调整参数以优化性能并随时间收敛到路径。

  • 这种纯追踪算法无法在某一点上稳定机器人。在应用程序中,应应用目标位置的距离阈值,以使机器人停在所需目标附近。

工具书类

[1] 库尔特,R。纯追踪路径跟踪算法的实现卡内基梅隆大学,匹兹堡,宾夕法尼亚州,1990年1月。

另见

|