您当前的位置: 首页 >  服务器

鱼香ROS

暂无认证

  • 0浏览

    0关注

    498博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Nav2中文网】七、配置指南(十)控制器服务器

鱼香ROS 发布时间:2022-04-18 09:57:47 ,浏览量:0

  • 本教程来自:Nav2中文网
  • Nav2交流社区:https://fishros.org.cn/forum
  • ROS2/Nav2千人交流群:(QQ)139707339
  • 更多精彩教程请关注微信公众号:鱼香ROS
  • 欢迎添加机器人小伊微信,解锁机器人学习特殊服务
控制器服务器 [待校准@2573]

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

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

参数

controller_frequency [待校准@2575]

类型默认值double20.0 [待校准@2576]

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

controller_plugins [待校准@2578]

类型默认值vector[‘FollowPath’] [待校准@2579]

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

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

示例: [待校准@2583]

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]

示例: [待校准@2583]

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]

示例: [待校准@2583]

controller_server:
  ros__parameters:
    goal_checker_plugin: "goal_checker"
    goal_checker:
      plugin: "nav2_controller::SimpleGoalChecker"

min_x_velocity_threshold [待校准@2591]

类型默认值double0.0001 [待校准@2592]

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

min_y_velocity_threshold [待校准@2594]

类型默认值double0.0001 [待校准@2592]

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

min_theta_velocity_threshold [待校准@2596]

类型默认值double0.0001 [待校准@2592]

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

failure_tolerance [待校准@2598]

类型默认值double0.0

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

speed_limit_topic [待校准@2600]

类型默认值string“speed_limit”

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

odom_topic [待校准@2549]

类型默认值string“odom”

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

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

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

  • SimpleProgressChecker [待校准@3148]
  • SimpleGoalChecker [待校准@3139]
  • StoppedGoalChecker [待校准@3155]
默认插件 [待校准@2606]

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

| Namespace [待校准@2608] | Plugin [待校准@2609] | | - | - | | “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"
  • 本文主要校准贡献:小鱼
  • 本文遵循知识共享协议,禁止未授权商用转载
关注
打赏
1666092100
查看更多评论
立即登录/注册

微信扫码登录

0.2671s