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

入门

本文档将引导您完成安装 Nav2 二进制文件并在 Gazebo 模拟器中导航模拟 Turtlebot 3的过程。 [校准@haisenzeng]

注解

有关其他情况,例如从源代码构建或与其他类型的机器人一起工作,请参阅 编译和安装 。 [校准@haisenzeng]

警告

这是一个Turtlebot 3 操作说明的简化版本。如果您打算在此处提供的最小示例之外继续使用本机器人,我们强烈建议您遵循 official Turtlebot 3 manual [校准@haisenzeng]

安装

  1. 按照官方文档中的说明安装 ROS 2 binary packages [校准@haisenzeng]
  2. 使用操作系统中的包管理器安装 Nav2 包: [校准@haisenzeng]
    sudo apt install ros-<ros2-distro>-navigation2
    sudo apt install ros-<ros2-distro>-nav2-bringup
    
  3. 安装Turtlebot 3 软件包: [校准@haisenzeng]
    sudo apt install ros-<ros2-distro>-turtlebot3*
    

运行示例

  1. 在 GUI 中启动一个终端 [校准@haisenzeng]

  2. 设置秘钥环境变量: [校准@haisenzeng]

    source /opt/ros/<ros2-distro>/setup.bash
    export TURTLEBOT3_MODEL=waffle
    export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/opt/ros/<ros2-distro>/share/turtlebot3_gazebo/models
    
  3. 在同一个终端中,运行: [校准@haisenzeng]

    ros2 launch nav2_bringup tb3_simulation_launch.py
    

    注解

    对于 ROS2 Dashing Diademata 或更早版本请,使用 nav2_simulation_launch.py 。然而,建议使用最新 ROS2长期支持发行版 保证更好的稳定性和功能完整性。 [校准@haisenzeng]

    此启动文件将在 turtlebot3_world 世界中使用AMCL定位器启动Nav2。它还将启动一个机器人状态发布端以提供一个带有 Turtlebot3 URDF 和 RVIZ 的 Gazebo 实例的转换,。
    如果一切正确启动,你会看到RViz和Gazebogui这样: [校准@haisenzeng]

  4. 单击 RViz左下角的 “启动” 按钮。这将导致Nav2变为激活状态。它应该改变外观以显示地图。

开始导航

启动后,机器人最初不知道它在哪里。默认情况下,Nav2会等待用户给机器人一个大致的起始位置。查看机器人在Gazebo中的位置,并在地图上找到该位置。通过点击RViz中的"2D Pose Estimate" 按钮,然后通过在地图上机器人预估的位置处点击来设置机器人初始位置 。可以通过向前拖动刚才单击的位置来设置机器人起始的移动方向。 [校准@haisenzeng]

目前为止如果使用的都是默认值,则该机器人应大致如下图所示。 [校准@haisenzeng]

如果设置的机器人位置不完全正确,那也没关系。Nav2在导航时会对位置进行优化。如果愿意,也可以再次单击"2D Pose Estimate"按钮并重新尝试设置机器人的初始位置。 [校准@haisenzeng]

一旦设置好了机器人的初始位置,就会完成坐标变换树,同时Nav2将会完全激活并准备就绪。这时就可以看到机器人和点云了。 [校准@haisenzeng]

接下来,点击 “Navigaton2 Goal” 按钮并选择一个目的地。这会调用BT导航仪(navigator)通过动作服务器到达该目标位置。可以通过在RViz左下角显示的Navigation 2 rviz插件暂停(取消)或重置该动作。 [校准@haisenzeng]

现在就可以看到机器人在移动了! [校准@haisenzeng]

【Nav2中文网】一、入门相关推荐

  1. 【Nav2中文网】五、普通教程(三)用实体Turtlebot3机器人导航

    本教程来自:Nav2中文网 Nav2交流社区:https://fishros.org.cn/forum ROS2/Nav2千人交流群:(QQ)139707339 更多精彩教程请关注微信公众号:鱼香RO ...

  2. 【Nav2中文网】六、插件教程(二)编写新的规划器插件

    本教程来自:Nav2中文网 Nav2交流社区:https://fishros.org.cn/forum ROS2/Nav2千人交流群:(QQ)139707339 更多精彩教程请关注微信公众号:鱼香RO ...

  3. 【Nav2中文网】六、插件教程(一)编写新的二维代价地图(Costmap2D)插件

    本教程来自:Nav2中文网 Nav2交流社区:https://fishros.org.cn/forum ROS2/Nav2千人交流群:(QQ)139707339 更多精彩教程请关注微信公众号:鱼香RO ...

  4. 【Nav2中文网】三、导航相关概念

    本教程来自:Nav2中文网 Nav2交流社区:https://fishros.org.cn/forum ROS2/Nav2千人交流群:(QQ)139707339 更多精彩教程请关注微信公众号:鱼香RO ...

  5. 【Nav2中文网】十一、迁移指南 (四)Galactic到Humble

    本教程来自:Nav2中文网 Nav2交流社区:https://fishros.org.cn/forum ROS2/Nav2千人交流群:(QQ)139707339 更多精彩教程请关注微信公众号:鱼香RO ...

  6. 【Nav2中文网】八、调整指南

    本教程来自:Nav2中文网 Nav2交流社区:https://fishros.org.cn/forum ROS2/Nav2千人交流群:(QQ)139707339 更多精彩教程请关注微信公众号:鱼香RO ...

  7. 【Nav2中文网】四、首次机器人安装指南(六)设置导航插件

    本教程来自:Nav2中文网 Nav2交流社区:https://fishros.org.cn/forum ROS2/Nav2千人交流群:(QQ)139707339 更多精彩教程请关注微信公众号:鱼香RO ...

  8. 【Nav2中文网】十一、迁移指南 (一)Dashing到Eloquent

    本教程来自:Nav2中文网 Nav2交流社区:https://fishros.org.cn/forum ROS2/Nav2千人交流群:(QQ)139707339 更多精彩教程请关注微信公众号:鱼香RO ...

  9. 【Nav2中文网】七、配置指南(三)行为树XML节点 之 控制插件--RoundRobin

    本教程来自:Nav2中文网 Nav2交流社区:https://fishros.org.cn/forum ROS2/Nav2千人交流群:(QQ)139707339 更多精彩教程请关注微信公众号:鱼香RO ...

最新文章

  1. plotly基于dataframe数据绘制柱状图(bar plot)
  2. linux系统/etc目录内容简介
  3. Java之IO流学习总结【上】
  4. sql array 数组基本用法(二)
  5. linux系统-软链接与硬链接区别
  6. 在ue4制作中容易出现哪些问题_青年鸡在育成期容易出现的问题有哪些呢
  7. tensorflow独热编码方法_吴恩达课后作业学习2-week3-tensorflow learning-1-基本概念
  8. 两个常用的Infopath Service读取域值的函数
  9. 计算机会考操作题vb,2016年9月计算机二级考试《VB》上机操作题题库(2)
  10. 网路游侠:某硬件WEB应用防火墙配置图示
  11. 1818 绝对差值和
  12. 【丢不掉的爱好-Android01】兜兜转转
  13. [转载]三、二、一 …… Geronimo!,第 3 部分: 状态问题
  14. Appium之切换输入法
  15. 电商派争夺零售派:传统百货扎堆试水O2O
  16. 论文解读:AdderSR Towards Energy Efficient Image Super-Reso
  17. 几种常见的脚本语言及其简介
  18. ivm 无法播放 解决
  19. 手机什么叫暂时服务器,手机服务器是什么
  20. 广西南宁商际网络淘宝天猫托管代运营/电商培训顾问外包服务商

热门文章

  1. 如何在网络上传输中文
  2. ububtu安装谷歌浏览器+搜狗输入法+WPS+vscode+vim
  3. 挑战高薪!学习人工智能,你准备好了吗?
  4. 第三代半导体项目大事件盘点
  5. c++怎么确定一个整数有几位_德国人怎么学电机——浅谈电机模型(十六):同步电机(三)永磁电机(一)...
  6. java 工具类命名_给大家详解16个超级实用的Java工具类
  7. 【计算机网络】计算机网络常用网络命令
  8. MySQL 索引失效的几种类型以及解决方式
  9. easyX安装过程(详细)
  10. Developing Large Web Applications