turtlebot3官方实现案例:
-
Nav2极简笔记03-启动文件launch
现有大部分资料都是使用cartographer先进行环境地图构建,然后保存地图后,再使用其导航。故学生有如下提问:

这个问题本身非常有价值!
只能试探性给出一些建议,未必准确。

当然也可以多机器人同时环境探索并实现地图构建!
简要说明一下:

jackal_cartographer_navigation
同时定位和地图绘制(SLAM)的自主规划和移动。
使用说明
-
要开始使用Google Cartographer进行2-D SLAM,请将此存储库克隆到工作目录(例如catkin_ws)中:
git clone http://github.com/jackal/jackal_cartographer_navigation.git -
在工作区中安装依赖项(例如catkin_ws):
rosdep install --from-paths src --ignore-src --rosdistro=$ROS_DISTRO -y -
生成工作空间并打开两个新的终端/选项卡,为每个终端/选项卡提供工作空间:
source devel/setup.bash-
使用front_laser配置启动Gazebo仿真:
roslaunch jackal_gazebo jackal_world.launch config:=front_laser -
启动Cartographer节点以开始SLAM:
roslaunch jackal_cartographer_navigation cartographer_demo.launch -
启动Rviz:
roslaunch jackal_viz view_robot.launch
-
-
在Rviz可视化器中,确保已启用“导航”组中的可视化器。
-
使用顶部工具栏中的2D Nav目标工具在可视化工具中选择一个移动目标。确保选择一个未占用的位置(深灰色)或未使用的位置(浅灰色)。
-
随着机器人的移动,应该会看到灰色的静态地图(地图主题)在增长。当Cartographer算法试图定位机器人时,地图中可能会有离散的跳跃。
-
要保存生成的地图,可以运行map_saver实用程序:
rosrun map_server map_saver -f <filename>
调整cartographer参数
获取低延迟SLAM调整Cartographer,编辑在jackal_cartographer_navigation/config目录中的jackal.lua配置文件。
更多配置信息参考:
本文档介绍了如何使用ROS和Cartographer进行实时SLAM(同时定位和映射)以及导航。首先,需要克隆并安装jackal_cartographer_navigation存储库,然后在Gazebo中启动仿真环境。接着,启动Cartographer节点进行SLAM,并在Rviz中进行可视化。通过2DNav目标工具设置移动目标,观察地图构建过程。最后,可以使用map_saver保存地图并调整Cartographer参数以优化性能。文章还提供了配置文件链接以帮助调整参数。
4763





