Nav2概述

4 篇文章 0 订阅

Nav2是ROS Navigation Stack的专业支持版,借助于自动驾驶车辆使用的技术,并经过优化和重新设计,专门用于移动和表面机器人。该项目旨在安全地让移动机器人通过多种类型的环境和各种机器人运动学类别完成复杂任务。它不仅可以从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 Planner)
  • 控制机器人按照路径移动(Nav2 Controller)
  • 平滑路径规划,使其更连续和可行(Nav2 Smoother)
  • 将传感器数据转换为世界的代价地图表示(Nav2 Costmap 2D)
  • 使用行为树构建复杂的机器人行为(Nav2 Behavior Trees和BT Navigator)
  • 在失败情况下计算恢复行为(Nav2 Recoveries)
  • 按顺序跟随路径点(Nav2 Waypoint Follower)
  • 管理服务器的生命周期和看门狗(Nav2 Lifecycle Manager)
  • 插件,以启用自己的自定义算法和行为(Nav2 Core)
  • 监控即将发生碰撞或危险情况的原始传感器数据(碰撞监视器)
  • Python3 API以Pythonic方式与Nav2交互(简易指挥官)
  • 对输出速度进行平滑处理,以确保指令的动态可行性(速度平滑器)

我们还提供了一组起始插件,以帮助您开始使用。所有插件的列表可以在导航插件页面找到,这些插件涵盖了常见行为和机器人平台类型的算法。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值