Nav2

我们的赞助商

我们的赞助商

概述

Nav2是ROS导航栈的专业支持精神继承者。该项目旨在找到一种安全的方式,使移动机器人能够在多种环境和机器人运动学类别中完成复杂任务。它不仅可以从A点移动到B点,还可以有中间姿态,并代表其他类型的任务,如物体跟踪等。Nav2是一个经过生产级和高质量验证的导航框架,得到全球50多家公司的信任。

它提供感知、规划、控制、定位、可视化等功能,用于构建高度可靠的自主系统。这将通过传感器数据完成环境建模,动态路径规划,计算电机速度,避开障碍物,表示语义区域和对象,并构建更高层次的机器人行为。要了解有关此项目的更多信息,例如相关项目、使用的机器人、ROS1比较和维护者,请参阅:关于和联系。要了解有关导航和ROS概念的更多信息,请参阅:导航概念

Nav2使用行为树通过协调许多独立的模块化服务器来创建定制和智能的导航行为。任务服务器可用于计算路径、控制力量、恢复或任何其他与导航相关的任务。这些独立的服务器通过ROS接口(如动作服务器或服务)与行为树(BT)进行通信。机器人可以利用多个不同的行为树来执行许多类型的独特任务。

下面的图表将让你初步了解Nav2的结构。注意:每个服务器都可以有多个控制器、规划器和恢复插件,这些插件可以与BT插件相匹配。这可以用于创建上下文导航行为。如果你想看一下这个项目和ROS(1)导航之间的比较,请参阅:ROS 到 ROS 2 导航

Nav2的预期输入包括符合REP-105的TF变换、如果使用静态代价地图层则为地图源、BT XML文件和任何相关的传感器数据源。然后,它将为全向或非全向机器人的电机提供有效的速度命令。我们目前支持所有主要的机器人类型:全向、差动驱动、腿部和阿克曼(类似汽车)基本类型!我们通过SE2碰撞检查支持具有圆形和任意形状的机器人的独特功能。

它具有以下工具:

  • 加载、提供和存储地图(地图服务器)

  • 在地图上对机器人进行定位(AMCL)

  • 规划绕过障碍物的从A到B的路径(Nav2规划器)

  • 控制机器人沿着路径移动(Nav2控制器)

  • 使路径规划更连续和可行(Nav2平滑器)

  • 将传感器数据转换为世界的代价地图表示(Nav2代价地图2D)

  • 使用行为树构建复杂的机器人行为(Nav2行为树和BT导航器)

  • 在发生故障时计算恢复行为(Nav2恢复)

  • 按顺序跟随航点(Nav2航点跟随器)

  • 管理服务器的生命周期和看门狗(Nav2生命周期管理器)

  • 启用自定义算法和行为的插件(Nav2核心)

  • 监视原始传感器数据以检测即将发生的碰撞或危险情况(碰撞监视)

  • 以Pythonic方式与Nav2进行交互的Python3 API(简单指挥官)

  • 在输出速度上进行平滑处理,以确保命令的动态可行性(速度平滑器)

Navigation2块图

我们还提供了一套起始插件,以帮助您入门。可以在 导航插件 中找到所有插件的列表-但它们包括针对常见行为和机器人平台类型的算法。

引用文献

如果您使用导航框架、此存储库中的算法或其中的思想,请在论文中引用这项工作!

S. Macenski, F. Martín, R. White, J. Clavero. The Marathon 2: A Navigation System. IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2020.

关于Nav2 Marathon实验的IROS 2020演讲:

@InProceedings{macenski2020marathon2,
author = {Macenski, Steven and Martin, Francisco and White, Ruffin and Ginés Clavero, Jonatan},
title = {The Marathon 2: A Navigation System},
booktitle = {2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
year = {2020}
}

如果您在VSLAM和服务机器人需求的正式比较方面使用了我们的工作,请引用该论文:

A. Merzlyakov, S. Macenski. A Comparison of Modern General-Purpose Visual SLAM Approaches. IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2021.

@InProceedings{vslamComparison2021,
author = {Merzlyakov, Alexey and Macenski, Steven},
title = {A Comparison of Modern General-Purpose Visual SLAM Approaches},
booktitle = {2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
year = {2021}
}

示例

下面是TB3在一个小休息室中导航的示例。