主要内容

纯追求控制器

纯追踪是一种路径跟踪算法。它计算角速度命令,使机器人从当前位置移动到机器人前面的某个向前看的点。线速度假设为常数,因此可以在任意点改变机器人的线速度。然后,算法根据机器人的当前位置移动路径上的前瞻点,直到路径的最后一点。你可以把它想象成机器人不断地追逐它前面的一个点。LookAheadDistance属性决定了前瞻点的位置。

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

参考坐标系

理解纯追踪算法的输入和输出所使用的参考坐标系是很重要的。下图显示了参考坐标系。输入路径点为(x, y)坐标,用来计算机器人的速度指令。机器人的姿态输入为姿态和方向()的点列表为[x y].积极的x而且y方向分别为右方向和上方向(图中蓝色)。的θ值为机器人的角度方向,以弧度为单位逆时针测量x-axis(机器人目前在0弧度)。

向前看距离

LookAheadDistance属性是控制器的主要调优属性。前瞻距离是指机器人从当前位置到计算角速度命令的路径上应该看多远。下图显示了机器人和前瞻点。如图所示,注意实际路径与路径点之间的直线不匹配。

改变这个参数的效果可以改变机器人跟踪路径的方式,有两个主要目标:重新获得路径和维护路径。为了快速恢复路径之间的路径点,一个小的LookAheadDistance会导致你的机器人快速向路径移动。然而,从下图中可以看到,机器人超过了路径,并沿着期望的路径振荡。为了减少路径上的振荡,可以选择更大的前视距离,然而,这可能会导致转角附近的曲率更大。

LookAheadDistance属性应该针对应用程序和机器人系统进行调优。不同的线速度和角速度也会影响这个响应,应该考虑路径跟随控制器。

限制

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

  • 如上所示,控制器不能精确地遵循路径点之间的直接路径。必须调优参数以优化性能并随着时间收敛到路径。

  • 这种纯粹的追踪算法并不能使机器人稳定在某一点上。在您的应用程序中,应该应用目标位置的距离阈值来阻止机器人接近所需的目标。

参考文献

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

另请参阅

|

Baidu
map