ROS2极简总结-Nav2-概述(下)恢复器

Posted zhangrelay

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROS2极简总结-Nav2-概述(下)恢复器相关的知识,希望对你有一定的参考价值。

恢复器概述 Recovery Overview

注意最右侧黄色部分,具体如下。

 


插件 Plugins

  • BackUp 备份
  • Spin 旋转
  • Wait 等待

恢复服务器 Recovery Server

定义机器人可以执行的恢复操作。

[nav2_costmap_2d]

  • 清除代价地图

[nav2_recoveries]

  • 旋转 - 按给定角度原地旋转
  • 备份 - 给定距离的线性平移
  • 停止 - 停止机器人
recoveries_server:
  ros__parameters:
    costmap_topic: local_costmap/costmap_raw
    footprint_topic: local_costmap/published_footprint
    cycle_frequency: 10.0
    recovery_plugins: ["spin", "backup", "wait"]
    spin:
      plugin: "nav2_recoveries/Spin"
    backup:
      plugin: "nav2_recoveries/BackUp"
    wait:
      plugin: "nav2_recoveries/Wait"
    global_frame: odom
    robot_base_frame: base_link
    transform_timeout: 0.1
    use_sim_time: False
    simulate_ahead_time: 2.0
    max_rotational_vel: 1.0
    min_rotational_vel: 0.4
    rotational_acc_lim: 3.2

生命周期管理器 Life Cycle Manager

NAV2 中的节点由 ROS2 的生命周期管理器管理(参考ROS2极简总结,核心和新增概念部分)。


Nav2目标

Nav2 的目标是:

  • 可定制 - 定制行为的逻辑能力,更少分叉代码
  • 模块化 - 更轻松地替换规划器和控制算法
  • 可扩展性 - 使用 Python 或其他语言编写规划程序和控件

使用以下方法提高质量:

  • 可靠性 - 系统应该能够以一致的方式执行
  • 质量 - 提交的代码应该在合并前进行验证
  • 可维护性 - 工作流程应防止上述回归

Nav2总结

  • 许多节点参与导航功能实现,都非常重要的。
  • 基于插件的,如果有自定义的规划器,可以把它当作插件来使用
  • 很多参数(可以对其中一些使用动态重新配置)
  • 始终小心命名(主题、TF),否则容易出错。
  • 使用行为树 XML 编排导航操作

关于导航实践部分,请参考:

  • Nav2极简笔记系列

以上是关于ROS2极简总结-Nav2-概述(下)恢复器的主要内容,如果未能解决你的问题,请参考以下文章

ROS2极简总结-Nav2-概述(中)控制器

ROS2极简总结-Nav2-行为树

ROS2极简总结-Nav2-地图和自适应蒙特卡洛定位

Nav2极简笔记02-导航概念

ROS2极简总结-文件系统

ROS2极简总结-坐标变换-TF