单纯追求控制器

单纯追求是路径跟踪算法。它计算从当前位置移动所述机器人在机器人前面达到一些先行点的角速度指令。线速度假定为常数,因此,可以在任何点改变机器人的线速度。然后,该算法基于移动机器人上,直到路径的最后一个点的当前位置的道路上先行点。你可以认为这是机器人不断追在它前面的一个点。该物业LookAheadDistance决定先行点多远放置。

controllerPurePursuit对象是不是一个传统的控制器,但作为以下用途的跟踪算法路径。控制器是唯一指定航点的列表。所需的线性和最大角速度可以被指定。这些特性是基于车辆的规格确定。鉴于车辆作为输入的姿态(位置和方向),该对象可以被用来计算用于机器人的线速度和角速度的命令。机器人是如何使用这些命令取决于你使用的系统上,所以考虑的机器人,将如何执行给予这些命令的议案。最后一个重要的属性是LookAheadDistance,它告诉机器人多远沿路径上跟踪实现。此属性更详细地在下面一节中说明。

参考坐标系

理解通过其输入和输出的单纯追求算法中使用的参考坐标框架是非常重要的。下图显示了基准坐标系。输入航路点是[X Y]坐标,其被用于计算所述机器人的速度命令。机器人的姿态是作为点的姿态和方向(THETA)列表作为输入[X Y的2θ。正Xÿ方向是向右和向上的方向分别(蓝色图)。该THETA值是机器人的从弧度逆时针方向测量的角度取向X轴(机器人目前在0弧度)。

向前看距离

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

改变这个参数的效果可以改变你的机器人如何跟踪路径,并有两个主要目标:恢复的路径和维护路径。为了迅速恢复航点之间的路径,一个小LookAheadDistance会导致你的机器人迅速向道路。然而,如可以在下面的图中可以看出,机器人过冲沿着期望的路径的路径和振荡。为了减少沿路径的振荡,一个更大的前瞻距离可以选择,但是,它可能会导致在靠近弯道曲率越大。

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

限制

有一些限制注意到这一纯追求算法:

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

  • 这种单纯追求算法并不在一个点上稳定的机器人。在您的应用程序,为了一个目标位置的距离阈值应适用于站附近的预期目标的机器人。

参考文献

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

也可以看看

|