地图构建

Hint

操作环境及软硬件配置如下:

  • OriginBot机器人(导航版)
  • PC:Ubuntu (≥20.04) + ROS2 (≥Foxy)

1. 启动底盘和雷达

SSH连接OriginBot成功后,在终端中输入如下指令,启动机器人底盘和激光雷达:

$ ros2 launch originbot_bringup originbot.launch.py use_lidar:=true

image-20220822151007681

2. 启动SLAM

继续通过SSH连接OriginBot,在终端中输入如下指令,启动cartographer建图算法:

$ ros2 launch originbot_navigation cartographer.launch.py

image-20220822151138811

3. 上位机可视化显示

为了便于查看SLAM的完整过程,在同一网络下的PC端,启动上位机可视化软件:

$ ros2 launch originbot_viz display_slam.launch.py

即可看到此时已经创建出的地图。

image-20220928220241108

Hint

确保在PC端已经完成originbot_desktop代码仓库的下载和编译。如果不方便使用originbot_desktop代码仓库,也可以使用“ros2 run rviz2 rviz2”单独启动Rivz2,手动添加map、tf、laserscan等显示插件,也可以达到类似的效果。

4. 键盘控制建图

为了让机器人建立周边环境的完整信息,我们还需要启动一个键盘控制节点:

$ ros2 run teleop_twist_keyboard teleop_twist_keyboard
Hint

键盘控制节点在PC端或者OriginBot端运行均可。

现在,我们就可以在键盘控制的终端中,点击键盘的上下左右键,控制机器人探索未知的环境啦,Rviz中会逐渐出现地图的全貌。e646ac75c6

5. 保存地图

建图完成后,可以使用如下指令来保存地图:

$ ros2 run nav2_map_server map_saver_cli -f my_map --ros-args -p save_map_timeout:=10000
Info

以上指令会将地图保存到终端的当前路径下,在后续导航使用前,需要拷贝到originbot_navigation功能包中。

图片1