主要内容

纯粹追求控制器

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

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

参考坐标系

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

向前看

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

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

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

限制

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

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

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

参考文献

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

另请参阅

|