控制器服务器 [待校准@2573]

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

控制器服务器实现用于处理堆栈的控制器请求的服务器,并托管插件实现的映射。它将采用控制器、进度检查器和目标检查器的路径和插件名称来使用和调用适当的插件。 [待校准@2574]

参数

controller_frequency [待校准@2575]

类型

默认值

double

20.0 [待校准@2576]

描述

运行控制器的频率 (赫兹)。 [待校准@2577]

controller_plugins [待校准@2578]

类型

默认值

vector<string>

['FollowPath'] [待校准@2579]

描述

用于处理请求和参数的控制器插件的映射名称列表。 [待校准@2580]

Note [待校准@2581]

此列表中定义的每个插件命名空间都需要有一个: 代码: plugin 参数,用于定义要在命名空间中加载的插件的类型。 [待校准@2582]

示例: [校准@小鱼]

controller_server:
  ros__parameters:
    controller_plugins: ["FollowPath"]
    FollowPath:
      plugin: "dwb_core::DWBLocalPlanner"
progress_checker_plugin [待校准@2584]

类型

默认值

string

'progress_checker' [待校准@2585]

描述

用于检查机器人进度的进度检查器插件的映射名称。 [待校准@2586]

Note [待校准@2581]

定义的插件命名空间需要有一个: 代码: plugin 参数,定义要在命名空间中加载的插件的类型。 [待校准@2587]

示例: [校准@小鱼]

controller_server:
  ros__parameters:
    progress_checker_plugin: "progress_checker"
    progress_checker:
      plugin: "nav2_controller::SimpleProgressChecker"
goal_checker_plugin [待校准@2588]

类型

默认值

string

'goal_checker' [待校准@2589]

描述

达到用于检查目标的目标检查器插件的映射名称。 [待校准@2590]

Note [待校准@2581]

定义的插件命名空间需要有一个: 代码: plugin 参数,定义要在命名空间中加载的插件的类型。 [待校准@2587]

示例: [校准@小鱼]

controller_server:
  ros__parameters:
    goal_checker_plugin: "goal_checker"
    goal_checker:
      plugin: "nav2_controller::SimpleGoalChecker"
min_x_velocity_threshold [待校准@2591]

类型

默认值

double

0.0001 [待校准@2592]

描述

控制器服务器过滤接收到的里程表消息的速度部分,然后将其发送到控制器插件。低于该阈值 (以m/s为单位) 的里程表值将设置为0.0。 [待校准@2593]

min_y_velocity_threshold [待校准@2594]

类型

默认值

double

0.0001 [待校准@2592]

描述

控制器服务器过滤接收到的里程表消息的速度部分,然后将其发送到控制器插件。低于该阈值 (以m/s为单位) 的里程表值将设置为0.0。对于非完整的机器人 [待校准@2595]

min_theta_velocity_threshold [待校准@2596]

类型

默认值

double

0.0001 [待校准@2592]

描述

控制器服务器过滤接收到的里程表消息的速度部分,然后将其发送到控制器插件。低于该阈值的里程计值 (以rad/s为单位) 将设置为0.0。 [待校准@2597]

failure_tolerance [待校准@2598]

类型

默认值

double

0.0

描述

被调用的控制器插件可能失败的最大持续时间 (秒) (即插件的代码: computeVelocityCommands 函数引发异常) 之前: 代码: 'nav2_msgs::action::FollowPath' 操作失败。将其设置为-1.0的特殊值使其无限,禁用0,以及适当超时的任何正值。 [待校准@2599]

speed_limit_topic [待校准@2600]

类型

默认值

string

"speed_limit"

描述

限速订阅主题名称。这可以由速度过滤器发布 (请参考 速度过滤器参数 [待校准@2976] 配置页面)。如果您提供外部服务器来发布 these messages ,您也可以在没有速度过滤器的情况下使用它。 [待校准@2602]

odom_topic [校准@小鱼]

类型

默认值

string

"odom"

描述

获取速度瞬时测量的主题。 [待校准@2603]

提供的插件 [待校准@2604]

下面列出的插件在 nav2_controller 命名空间内。 [待校准@2605]

默认插件 [待校准@2606]

当: 代码: progress_checker_plugin ,: 代码: goal_checker_plugin 或: 代码: controller_plugins 参数没有被覆盖时,将加载以下默认插件: [待校准@2607]

命名空间

Plugin [校准@小鱼]

"progress_checker"

"nav2_controller::SimpleProgressChecker"

"goal_checker"

"nav2_controller::SimpleGoalChecker"

"FollowPath"

"dwb_core::DWBLocalPlanner"

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
    failure_tolerance: 0.3
    odom_topic: "odom"
    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: "dwb_core::DWBLocalPlanner"