ROS技术空间

ROS SLAM 6 | 自动探索建图

注意:该功能暂只支持ROS套件用户

功能包说明:

机器人自动探索建图,当节点运行时,机器人将探索其环境,直到找不到边界为止。使用move_base进行导航。

与类似的软件包不同,该节点不会创建自己的成本图,这使得配置更容易,效率更高。节点仅订阅nav_msgs/OccupancyGrid消息和map_msgs / OccupancyGridUpdate消息,以构建用于查找边界的地图。

启动底盘通讯与雷达节点

在主控节点启动与底盘余雷达的通讯,同时程序会将IMU姿态与位置融合发布odom位置信息

 roslaunch lingao_bringup robot.launch

启动自动探索建图包

在主控节点启动自动探索建图包,开始执行自动探索建图

roslaunch lingao_slam slam_auto.launch

此时节点启动成功后调用move_base导航包自动探索地图

使用自动探索地图默认使用gmapping建图,如需使用其他slam建图算法可使用参数启动,如karto

roslaunch lingao_slam slam_auto.launch slam_methods:=karto

有些进不去的地方会报[ERROR] [1616841724.607196584]: Failed to get a plan.这样的错误,可继续等待或者结束建图

保存地图

当地图建的差不多的时候就可以保存地图

保存地图使用以下命令(在主控节点输入)

roslaunch lingao_slam save_map.launch 

或者直接使用map_server服务保存在目录下:

roscd lingao_navigation/maps/
rosrun map_server map_saver -f map

保存地图后可看到map.pgm和map.yaml文件就是本次建的地图


结束建图在开启建图的终端下ctrl+c取消即可