纯追踪控制
受监管的纯追踪控制器在纯追踪控制器上实现了一种变化,这种变化专门针对服务/工业机器人的需求。它通过路径的曲率来调节线性速度,以帮助减少盲角周围高速的过冲,从而使操作更加安全。它也比任何其他目前可用的纯粹追求的变化更好地遵循路径。它还具有在靠近其他障碍物时减速的启发式方法,这样当附近潜在的碰撞时,你可以自动减速机器人。它还实现了通过速度来缩放的自适应超前点特征,以在更大的平移速度范围内实现更稳定的行为。 [待校准@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_dist
为false
时,用于找到超前点的超前距离 (m)。 [待校准@2794]
- min_lookahead_dist [待校准@2795]
类型
默认值
double
0.3
- 描述
参数
use_velocity_scaled_lookahead_dist
为true
时的最小超前距离 (m) 阈值。 [待校准@2796]
- max_lookahead_dist [待校准@2797]
类型
默认值
double
0.9
- 描述
参数
use_velocity_scaled_lookahead_dist
为true
时的最大超前距离 (m) 阈值。 [待校准@2798]
- lookahead_time [待校准@2799]
类型
默认值
double
1.5 [待校准@2800]
- 描述
当
use_velocity_scaled_lookahead_dist
为true
时,预测速度的时间。也被称为超前增益。 [待校准@2801]
- rotate_to_heading_angular_vel [待校准@2802]
类型
默认值
double
1.8 [待校准@2803]
- 描述
如果
use_rotate_to_heading
是true
,这是使用的角速度。 [待校准@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_scaling
为tru
时,触发调节特征的转弯半径 (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_heading
和allow_reversing
不能同时设置为true
,因为这会导致不明确的情况。 [待校准@2824]
- allow_reversing [待校准@2825]
类型
默认值
bool
false
- 描述
当计划的路径涉及反向 (由方向尖点表示) 时,使机器人能够反向驱动。 [待校准@2826]
注意:
use_rotate_to_heading
和allow_reversing
不能同时设置为true
,因为这会导致不明确的情况。 [待校准@2824]
- rotate_to_heading_min_angle [待校准@2827]
类型
默认值
double
0.785 [待校准@2828]
- 描述
如果
use_rotate_to_heading
是true
,路径方向和启动机器人方向 (弧度) 的差异会触发旋转。 [待校准@2829]
- max_angular_accel [待校准@2830]
类型
默认值
double
3.2 [待校准@2782]
- 描述
如果
use_rotate_to_heading
为true
,则旋转至航向时的最大允许角加速度 (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