主要内容

纯追求控制器

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

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

参考坐标系

理解纯追踪算法用于输入和输出的参考坐标系是很重要的。下图是参考坐标系。输入路径点是(x, y)坐标,用于计算机器人速度命令。机器人的姿态输入为姿态和姿态()列表中的点(x yθ)。积极的xy方向分别为右上方向(图中蓝色)。的θ值为机器人逆时针方向以弧度测量的角度方向x-axis(机器人当前在0弧度)。

展望未来的距离

LookAheadDistance属性是控制器的主要调整属性。向前距离是沿着路径的距离,机器人应该从当前位置看的,以计算角速度命令。下图显示了机器人和前瞻性点。如此图像中显示,请注意,实际路径与航点之间的直接行不匹配。

改变这个参数的效果可以改变你的机器人如何跟踪路径,有两个主要的目标:恢复路径和保持路径。为了快速恢复路径之间的路点,小LookAheadDistance将使你的机器人快速移动到路径。但是,如下图所示,机器人超过了路径,并沿着期望的路径振荡。为了减少沿路径的振荡,可以选择较大的前方距离,但这可能导致较大的弯角附近的曲率。

LookAheadDistance应为您的应用程序和机器人系统进行调整。不同的线性和角速度也会影响此响应,并且应考虑控制器后的路径。

限制

关于此纯追踪算法有几个限制:

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

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

参考

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

另请参阅

|