纯追踪控制

Github 上的源代码 [校准@小鱼]

受监管的纯追踪控制器在纯追踪控制器上实现了一种变化,这种变化专门针对服务/工业机器人的需求。它通过路径的曲率来调节线性速度,以帮助减少盲角周围高速的过冲,从而使操作更加安全。它也比任何其他目前可用的纯粹追求的变化更好地遵循路径。它还具有在靠近其他障碍物时减速的启发式方法,这样当附近潜在的碰撞时,你可以自动减速机器人。它还实现了通过速度来缩放的自适应超前点特征,以在更大的平移速度范围内实现更稳定的行为。 [待校准@2787]

更多完整信息请参见包装的 README[待校准@2788]

纯追踪控制参数 [待校准@2789]

desired_linear_vel [待校准@2790]

类型

默认值

double

0.5

描述

所需使用的最大线速度 (m/s)。 [待校准@2791]

lookahead_dist [待校准@2792]

类型

默认值

double

0.6 [待校准@2793]

描述

use_velocity_scaled_lookahead_distfalse 时,用于找到超前点的超前距离 (m)。 [待校准@2794]

min_lookahead_dist [待校准@2795]

类型

默认值

double

0.3

描述

参数 use_velocity_scaled_lookahead_disttrue 时的最小超前距离 (m) 阈值。 [待校准@2796]

max_lookahead_dist [待校准@2797]

类型

默认值

double

0.9

描述

参数 use_velocity_scaled_lookahead_disttrue 时的最大超前距离 (m) 阈值。 [待校准@2798]

lookahead_time [待校准@2799]

类型

默认值

double

1.5 [待校准@2800]

描述

use_velocity_scaled_lookahead_disttrue 时,预测速度的时间。也被称为超前增益。 [待校准@2801]

rotate_to_heading_angular_vel [待校准@2802]

类型

默认值

double

1.8 [待校准@2803]

描述

如果 use_rotate_to_headingtrue ,这是使用的角速度。 [待校准@2804]

transform_tolerance

类型

默认值

double

0.1

描述

TF变换公差。 [待校准@2805]

use_velocity_scaled_lookahead_dist [待校准@2806]

类型

默认值

bool

false

描述

是否使用速度缩放的超前距离或常数 lookahead_distance[待校准@2807]

min_approach_linear_velocity [待校准@2808]

类型

默认值

double

0.05

描述

接近目标时应用的最小速度 (m/s) 阈值,以确保进度。必须是 > 0.01[待校准@2809]

max_allowed_time_to_collision_up_to_carrot [待校准@2810]

类型

默认值

double

1.0

描述

向前投射速度命令以检查碰撞的时间。前 Humble ,这是 max_allowed_time_to_collision[待校准@2811]

use_regulated_linear_velocity_scaling [待校准@2812]

类型

默认值

bool

true [校准@小鱼]

描述

是否对路径曲率使用调节特征 (例如在高曲率路径上运行缓慢)。 [待校准@2814]

use_cost_regulated_linear_velocity_scaling [待校准@2815]

类型

默认值

bool

true [校准@小鱼]

描述

是否使用受管制的特征来接近障碍物 (例如,接近障碍物时速度慢)。 [待校准@2816]

regulated_linear_scaling_min_radius [待校准@2817]

类型

默认值

double

0.90 [待校准@2818]

描述

use_regulated_linear_velocity_scalingtru 时,触发调节特征的转弯半径 (m)。记住,更尖锐的转弯半径更小。 [待校准@2819]

regulated_linear_scaling_min_speed [待校准@2820]

类型

默认值

double

0.25

描述

任何受监管的试探法可以发送的最小速度 (m/s),以确保即使在具有高曲率的高成本空间中,过程仍然可以实现。必须是 > 0.1[待校准@2821]

use_rotate_to_heading [待校准@2822]

类型

默认值

bool

true [校准@小鱼]

描述

使用完整的planner时,是否能够旋转到粗糙的航向和目标方向。推荐用于所有可以就地旋转的机器人类型。 [待校准@2823]

注意: use_rotate_to_headingallow_reversing 不能同时设置为 true ,因为这会导致不明确的情况。 [待校准@2824]

allow_reversing [待校准@2825]

类型

默认值

bool

false

描述

当计划的路径涉及反向 (由方向尖点表示) 时,使机器人能够反向驱动。 [待校准@2826]

注意: use_rotate_to_headingallow_reversing 不能同时设置为 true ,因为这会导致不明确的情况。 [待校准@2824]

rotate_to_heading_min_angle [待校准@2827]

类型

默认值

double

0.785 [待校准@2828]

描述

如果 use_rotate_to_headingtrue ,路径方向和启动机器人方向 (弧度) 的差异会触发旋转。 [待校准@2829]

max_angular_accel [待校准@2830]

类型

默认值

double

3.2 [待校准@2782]

描述

如果 use_rotate_to_headingtrue ,则旋转至航向时的最大允许角加速度 (rad/s)。 [待校准@2831]

Example

controller_server:
  ros__parameters:
    use_sim_time: True
    controller_frequency: 20.0
    min_x_velocity_threshold: 0.001
    min_y_velocity_threshold: 0.5
    min_theta_velocity_threshold: 0.001
    progress_checker_plugin: "progress_checker"
    goal_checker_plugin: "goal_checker"
    controller_plugins: ["FollowPath"]

    progress_checker:
      plugin: "nav2_controller::SimpleProgressChecker"
      required_movement_radius: 0.5
      movement_time_allowance: 10.0
    goal_checker:
      plugin: "nav2_controller::SimpleGoalChecker"
      xy_goal_tolerance: 0.25
      yaw_goal_tolerance: 0.25
      stateful: True
    FollowPath:
      plugin: "nav2_regulated_pure_pursuit_controller::RegulatedPurePursuitController"
      desired_linear_vel: 0.5
      lookahead_dist: 0.6
      min_lookahead_dist: 0.3
      max_lookahead_dist: 0.9
      lookahead_time: 1.5
      rotate_to_heading_angular_vel: 1.8
      transform_tolerance: 0.1
      use_velocity_scaled_lookahead_dist: false
      min_approach_linear_velocity: 0.05
      max_allowed_time_to_collision_up_to_carrot: 1.0
      use_regulated_linear_velocity_scaling: true
      use_cost_regulated_linear_velocity_scaling: false
      regulated_linear_scaling_min_radius: 0.9
      regulated_linear_scaling_min_speed: 0.25
      use_rotate_to_heading: true
      allow_reversing: false
      rotate_to_heading_min_angle: 0.785
      max_angular_accel: 3.2