Navigation 2 概述

Navigation 2 项目是 ROS Navigation Stack 的精神继承者。该项目寻求找到一种安全的方法,使机器人从 A 点移动到 B 点。项目内容包括动态路径规划,计算电机速度,避障和恢复等。

Navigation 2 使用行为树来调用模块化服务器以完成一个 Action。Action 可以是计算路径,控制量,恢复或任何其它与导航相关的 Action。这些节点都是通过 ROS Action 服务器与行为树(BT)进行通信的单独节点。您可以通过下图更好地了解 Navigation 2 的结构。注意:可以在控制器,规划器和恢复器的服务器中提供多个匹配行为树插件格式的插件,用于创建上下文有关的导航行为。

Navigation 2 的期望输入是符合 REP-105 的 TF 变换,使用静态 Costmap 图层的地图源,行为树 XML 文件以及任何相关的传感器数据源。然后它将为完整约束或非完整约束机器人的电机提供有效的速度指令。我们目前支持完整约束的和差速驱动的底座类型,但计划在不久的将来也会支持 Ackermann 机器人。

它包括以下工具:

  • 加载,提供和存储地图(Map Server)
  • 在地图上定位机器人(AMCL)
  • 围绕障碍物规划从 A 到 B 的路径(Nav2 Planner)
  • 控制机器人沿着规划路径运动(Nav2 Controller)
  • 将传感器数据转换为当前世界的代价地图表示(Nav2 Costmap 2D)
  • 使用行为树构建复杂的机器人行为(Nav2 Behavior Trees 和 BT Navigator)
  • 计算故障情况下的恢复行为(Nav2 Recoveries)
  • 跟随连续路点运动(Nav2 Waypoint Follower)
  • 管理服务器的生命周期(Nav2 Lifecycle Manager)
  • 使用自定义算法和行为来编写插件(Nav2 Core)

我们还提供了一组启动插件来帮助您入门。NavFn 使用 A* 或 Dijkstra 算法计算从当前位置到目标位置的最短路径。DWB 将使用 DWA 算法来计算跟随路径的控制量,并提供若干个插件用于轨迹评价。恢复行为包括:等待,旋转,清除代价地图和倒车。一组行为树插件可用于调用这些服务器并计算条件。最后,还有一组 Rviz 插件,用于与导航堆栈交互并控制生命周期。
官方介绍:
https://navigation.ros.org/
源码:
https://github.com/ros-planning/navigation2

Navigation 2 概述(一)相关推荐

  1. ROS与navigation教程——概述

    navigation是ROS的二维导航功能包,简单来说,就是根据输入的里程计等传感器的信息流和机器人的全局位置,通过导航算法,计算得出安全可靠的机器人速度控制指令. 代码库:https://githu ...

  2. Navigation框架介绍

    Navigation框架 概述 Navigation,导航, Google官方对它的描述: 今天,我们宣布推出Navigation组件,作为构建您的应用内界面的框架,重点是让单 Activity 应用 ...

  3. UE——导航系统(NavigationSystem)

    文章目录 一.基本导航 二.修改导航网格 1.使用Navigation Modifier Volumes 2.使用Nav Link Proxy 2.1 连接两个导航区域 2.2 修改连接方向 2.3 ...

  4. .Net Framework 3.0 概述

    Microsoft .NET Framework 3.0, the managed programming model for Microsoft® Windows®, includes the .N ...

  5. Tapestry框架概述

    Tapestry带来了真正的Java web应用程序OOP编程,摘自<深入浅出Tapestry>中的一句话.这本书也是我学习Tapestry的参考之一,其他参考资料如<Tapestr ...

  6. WKWebView概述

    一.概述 1.iOS 8 SDK中发布了新的WebView框架----WebKit.framework. 2.WebKit使用WKWebView来代替IOS的UIWebView和OSX的NSWebVi ...

  7. Prism框架(一)——概述Prism框架的设计目的是用来帮助构建丰富、灵活、易维护的WPF和Si...

    Si Prism框架(一)--概述Prism框架的设计目的是用来帮助构建丰富.灵活.易维护的WPF和Si 提问者:mfksnr120(ID:187460) | 悬赏 0.0 希赛币 | 回答数:0 | ...

  8. 使用Redux在React Navigation App中管理状态

    by Andrea Bizzotto 通过安德里亚·比佐托(Andrea Bizzotto) 使用Redux在React Navigation App中管理状态 (Managing State in ...

  9. 理解ROS Navigation Stack,看完这篇你就知道啦!

    前言 ROS Navigation Stack是ROS提供的一个二维的导航功能包集合,通过输入里程计.传感器信息和目标位姿,输出控制机器人到达目标状态的安全速度指令.ROS Navigation St ...

最新文章

  1. Fluke OTDR新增SmartLoop双向测试功能
  2. freemarker if判断
  3. Gradle sync failed: failed to find Build Tools revision 21.1.2
  4. Nginx location执行顺序和匹配规则
  5. 视觉意识的主动推理模型
  6. django,项目,app,静态文件02,数据库
  7. CCF201812-2 小明放学
  8. C#如何获取物理网卡,虚拟网卡,以及无线网卡
  9. Spark核心编程原理
  10. 蓝牙耳机连接电脑,提示无法安装驱动程序
  11. 【RF】射频集成电路与系统设计
  12. als算法参数_推荐算法之ALS
  13. (给3d人物模型添加原始动画文件 针对3d模型有动画文件 没有Avatar 没有Animator Controller)
  14. Go语言Cookie常用设置
  15. 文件夹下载器案例实战
  16. 【程序员必备】七夕表白攻略:教你用代码轻松打动她的内心!
  17. Onvif协议学习:14、球机云台控制PTZ
  18. 诱惑视频木马样本态势
  19. 【PE】PE文件结构学习
  20. bat批量修改文件后缀

热门文章

  1. 4.6、在线调试工具 ILA 的使用
  2. 火源计划软件测试,科幻RPG射击新游《火源计划》今日首测 版本揭秘
  3. 解决oppo、vivo手机从相册选择图片获取图片地址问题
  4. JavaWeb核心知识
  5. 1.1微信小程序 框架(MINA)概述
  6. 推荐给大家一个好的软件自学网站
  7. orcl表的相关知识
  8. 值得购买的国产蓝牙耳机有哪些?性价比高的国产蓝牙耳机盘点
  9. Vue过滤器filters
  10. 5分钟看懂怎么买车险最适合自己、最划算