调整路虎车的转向和导航(3.1 及更高版本)

存档

备注

这些说明适用于 Rover-3.1 及以上版本。对于较新版本的 Rover 固件,请参阅以下说明 策导导航调整指南.

在设置漫游车时,您需要正确设置 6 个关键参数。本指南提供了一套正确设置这些参数的步骤,以便漫游车在自动模式下准确导航。

关键参数

  • STEER2SRV_P:这将告诉漫游车代码漫游车的转弯半径(以米为单位的直径)。正确使用该参数至关重要,因为它可以告诉代码选择什么样的转向角来实现所需的转弯率。

  • TURN_MAX_G:这将告诉漫游车在保持稳定的情况下所能承受的最大重力(以一重力的倍数表示)。如果设置过高,漫游车可能会在转弯时翻车或打滑。如果设置过低,漫游车将无法急转弯。

  • NAVL1_PERIOD:该选项控制导航算法的强度。数字越小表示在自动模式下转弯越积极,数字越大表示转弯越大、越平滑。

  • 转速增益:该值控制漫游车转弯时的减速幅度,占当前目标速度的百分比。要想在转弯时完全不减速,可将其设置为 100。在进行初始调整时,建议使用 100,之后再将其调低,以提高在狭窄赛道中的操控性。

  • CRUISE_SPEED:在自动模式下,该功能控制目标速度(米/秒)。

  • 巡航节流:设定直行时实现 CRUISE_SPEED 所需的油门初始值。这需要 以便漫游车实现良好的速度控制。

步骤 1:设置初始参数

要启动调整程序,请设置以下值:

  • steer2srv_p = 2

  • TURN_MAX_G = 1

  • navl1_period = 6

  • 转速增益 = 100

  • 巡航速度 = 2

  • 巡航节流 = 20

这些都是保守的数值,对于大多数漫游车来说,它们的运行速度都比较缓慢、平缓。

步骤 2:设置 CRUISE_THROTTLE

我们需要 巡航节流 这样我们就知道多大的油门能让我们的速度达到 2 米/秒。

  • 切换到手动模式

  • 缓慢推进油门,直到地面站显示速度为 2 米/秒

  • 注意 HUD 显示的节流百分比

  • 将 CRUISE_THROTTLE 设置为以 2 米/秒的速度直线行驶所需的百分比

步骤 3:设置 STEER2SRV_P

要设置 STEER2SRV_P 参数,需要测量漫游车的转弯半径。

将UGV无人车调至手动模式,并将方向盘用力偏向一侧。然后非常缓慢地将漫游车开一圈。用卷尺测量该圆的直径,并将 STEER2SRV_P 设置为该值(单位:米)。

步骤 4:调整 TURN_MAX_G

"这款" TURN_MAX_G 现在可以对参数进行调整,使您的漫游车在不翻车的情况下行驶得更猛烈。

  • 进入转向模式

  • 以最大转弯率和最大油门转弯

  • 将 TURN_MAX_G 调整到漫游车保持稳定、不开始翻滚和不打滑的最高水平

步骤 5:调整 NAVL1_PERIOD

现在,您终于可以开始在自动模式下调整转向了。要在 "自动 "模式下调整转向,您需要为漫游车创建一个导航任务。最好从一个简单的矩形任务开始。

  • 为UGV无人车创建一个矩形路线

  • 以自动模式运行课程

  • 如果漫游车在直道上穿行,则以 0.5 为增量提高 NAVL1_PERIOD

  • 如果漫游车转向不够急,则以 0.5 为增量降低 NAVL1_PERIOD

  • 如果漫游车在转弯时转向过晚,则以 1.0 为增量提高 WP_RADIUS

您可能还会发现,您可能需要稍微提高 NAVL1_DAMPING 以改善在狭窄航道中的导航。

最终设置

现在您已经调整了基本参数,您可能会发现可以回头调高 CRUISE_SPEED,以加快驾驶速度。如果是这样,请确保调整 CRUISE_THROTTLE 以适应这种情况。

您也可以降低 SPEED_TURN_GAIN,让漫游车在转弯时稍微减速。这样在直行时就能以更高的速度行驶。

完成上述基本操作后,还可以使用其他一些参数来微调转向。请参阅 全部参数列表 了解详情。

需要特别注意的参数有:STEER2SRV_TCONST、STEER2SRV_I、STEER2SRV_D 和 STEER2SRV_IMAX。

解决织布问题

漫游车的一个常见问题是转向 "摇摆",即转向时左右摇晃,而不是平稳转向。出现这种情况可能有几个原因。

首先需要确定的是,问题仅限于低速行驶还是也会影响高速行驶。如果问题只发生在非常低的速度下(例如在执行任务时首次进入自动模式),那么最有可能的问题是 STEER2SRV_MINSPD 太低。默认值为 1.0 m/s,这是相当低的,如果您的 GPS 航向在低速时不是很可靠,那么您可能需要提高这个数值。试试 2.0,看看对低速穿梭是否有帮助。

如果问题也发生在高速行驶时,那么很可能是 L1 导航调整或转向控制器调整的问题。要解决这个问题,您需要了解这些参数的工作原理。

NAVL1_PERIOD 控制 L1 导航控制器改变所需转向方向的速度。将该数值调大可以减少自动模式下的转向,但也意味着您无法在急转弯处准确转向。尝试以 0.5 为单位逐步提高 NAVL1_PERIOD,直到转向停止。对于大多数漫游车来说,6.0 到 8.0 之间的数值比较合适,但有些漫游车可能需要更大的数值。

如果提高 NAVL1_PERIOD 可以解决转向问题,但却无法在任务中处理急转弯,那么您就需要调整转向控制器。

在转向控制器中,有 3 个关键参数可以控制编织:

  • 较小的 STEER2SRV_P 会减少编织,请尝试每次减少 0.1

  • 较大的 STEER2SRV_D 可以 "阻尼 "编织,但如果数值过大,就会产生高速振荡。例如,您可能会发现 0.1 的值会减少阻尼,但 0.2 的值可能会导致转向伺服器高速振荡。如果出现快速振荡,则将 STEER2SRV_D 值减小 50%。

  • STEER2SRV_TCONST 越大,转向控制器的速度就会越慢,这样就会减少转向。试着以 0.1 为单位逐步增大。

使用当前的控制器系统,您确实需要对这些值进行一些试验,以获得您想要的性能。我们希望将来能引入自动调节系统,但目前还需要手动调节。