您当前的位置: 首页 > 

鱼香ROS

暂无认证

  • 0浏览

    0关注

    498博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Nav2中文网】五、普通教程(四)(SLAM) 建图时导航

鱼香ROS 发布时间:2022-04-08 13:54:16 ,浏览量:0

  • 本教程来自:Nav2中文网
  • Nav2交流社区:https://fishros.org.cn/forum
  • ROS2/Nav2千人交流群:(QQ)139707339
  • 更多精彩教程请关注微信公众号:鱼香ROS
  • 欢迎添加机器人小伊微信,解锁机器人学习特殊服务
(SLAM) 建图时导航 [校准@混沌无形]
  • 概述
  • 必要条件
  • 教程指南
概述

本文件阐述了如何使用Nav2与SLAM。下面的步骤向ROS 2用户展示了如何生成占据栅格图并使用Nav2来移动他们的机器人。本教程适用于仿真机器人和物理机器人,但在此将在物理机器人上完成。 [校准@混沌无形]

前完成本教程,如果你刚接触ROS Navigation2,极力推荐完成 入门 。 [校准@混沌无形]

在本教程中,我们将使用SLAM工具箱。更多信息可以在 ROSCon talk for SLAM Toolbox 中找到 [待校准@1344]

要求

您必须安装Navigation2、Turtlebot3和SLAM工具箱。如果你没有安装它们,请遵循 入门 。 [待校准@1345]

SLAM工具箱可以通过以下方式安装: [待校准@1346]

sudo apt install ros--slam-toolbox [待校准@1347]

或通过以下方式从工作区中的源编译: [校准@混沌无形]

git clone -b -devel git@github.com:stevemacenski/slam_toolbox.git [校准@混沌无形]

Tutorial Steps 0-启动机器人交互界面 [校准@混沌无形]

对于本教程,我们将使用turtlebot3。如果你有其他机器人,请用你的机器人专用接口替换。通常,这包括URDF的机器人状态发布者,仿真或物理机器人接口、控制器和安全节点等。 [校准@混沌无形]

在本教程中,每当您打开新终端时,请先运行以下命令。 [待校准@1267]

  • source /opt/ros//setup.bash [待校准@1268]
  • export TURTLEBOT3_MODEL=waffle [待校准@1269]

启动机器人界面和机器人状态发布者, [校准@混沌无形]

ros2 launch turtlebot3_bringup robot.launch.py [待校准@1353]

1- 启动Navigation2 [待校准@1354]

在没有nav2_amcl和nav2_map_server的情况下启动导航。假设SLAM节点将发布到/map话题并提供map->odom转换。 [校准@混沌无形]

ros2 launch nav2_bringup navigation_launch.py [待校准@1356]

2-启动 SLAM [校准@混沌无形]

调出你选择的SLAM实现。确保提供map->odom变换和/map话题。运行Rviz添加要可视化的话题,如/map, /tf, /laserscan等。本教程,我们将使用 SLAM Toolbox 。 [校准@混沌无形]

ros2 launch slam_toolbox online_async_launch.py [待校准@1359]

3-与SLAM合作 [待校准@1360]

通过RViz或ROS 2命令行界面请求目标来移动机器人,即: [校准@混沌无形]

ros2 topic pub /goal_pose geometry_msgs/PoseStamped "{header: {stamp: {sec: 0}, frame_id: 'map'}, pose: {position: {x: 0.2, y: 0.0, z: 0.0}, orientation: {w: 1.0}}}"

你应该看到地图现场更新!保存此地图文件: [校准@混沌无形]

ros2 run nav2_map_server map_saver_cli -f ~/map [待校准@1363]

在这里插入图片描述

4-入门简化 [校准@混沌无形]

如果你只想在运行SLAM在turtlebot3开始沙箱世界,我们也提供简易方式使SLAM作为启动配置。而不是单独启动接口,导航,SLAM,你可以继续使用 tb3_simulation_launch.pyslam 配置设置为true。我们提供上述说明假定您想运行SLAM自己机器人会分离仿真/机器人接口和导航启动文件组合 tb3_simulation_launch.py 而言容易测试。 [校准@小鱼]

ros2 launch nav2_bringup tb3_simulation_launch.py slam:=True
  • 本文主要校准贡献:混沌无形
  • 本文遵循知识共享协议,禁止未授权商用转载
关注
打赏
1666092100
查看更多评论
立即登录/注册

微信扫码登录

0.0730s