Github 上的源代码 [校准@小鱼]
受监管的纯追踪控制器在纯追踪控制器上实现了一种变化,这种变化专门针对服务/工业机器人的需求。它通过路径的曲率来调节线性速度,以帮助减少盲角周围高速的过冲,从而使操作更加安全。它也比任何其他目前可用的纯粹追求的变化更好地遵循路径。它还具有在靠近其他障碍物时减速的启发式方法,这样当附近潜在的碰撞时,你可以自动减速机器人。它还实现了通过速度来缩放的自适应超前点特征,以在更大的平移速度范围内实现更稳定的行为。 [待校准@2787]
更多完整信息请参见包装的 README
。 [待校准@2788]
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 [待校准@2813] |
描述是否对路径曲率使用调节特征 (例如在高曲率路径上运行缓慢)。 [待校准@2814]
use_cost_regulated_linear_velocity_scaling [待校准@2815]
类型 | 默认值 |
---|---|
bool | true [待校准@2813] |
描述是否使用受管制的特征来接近障碍物 (例如,接近障碍物时速度慢)。 [待校准@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 [待校准@2813] |
描述使用完整的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]
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