Turtlebot2 + RplidarA2(三)Gmapping + explore自主探索建图

注:前文链接:Turtlebot2 + RplidarA2(一)Gmapping手动建图Turtlebot2 + RplidarA2(二)Cartographer手动建图
本篇实验内容基于(一)中所配置的环境,在工作空间catkin_ws中进行;其大致思路是安装一个开源的探索功能包,在启动Gmapping建图时在第四个终端内不再调用键盘控制,而是调用该功能包,使机器人自主判断地图边界并发布移动指令前往探索。

1.安装explore_lite开源探索功能包

首先从GitHub上将m-explore项目下载到Downloads目录:

$ cd ~/Downloads
$ git clone https://github.com/hrnr/m-explore.git

再将m-explore目录下的explore目录复制到工作空间的src目录下:

$ cd ~/Downloads/m-explore
$ cp -r explore ~/catkin_ws/src

此时可以看到在~/catkin_ws/src目录下有新的目录explore。
接下来重新编译工作空间并配置环境变量:

$ cd ~/catkin_ws
$ catkin_make
$ source devel/setup.bash

至此完成explore_lite功能包的安装。

2.调用explore_lite完成自主探索建图

此时默认工作空间已经按照Turtlebot2 + RplidarA2(一)Gmapping手动建图进行配置,能够进行Gmapping手动建图。

类似地,分别打开4个终端执行如下命令:

1.启动机器人底盘:

$ roslaunch turbot_bringup minimal.launch

2.调用Gmapping算法,启动雷达、构建地图:

$ roslaunch turbot_slam laser_gmapping_demo.launch

3.启动rviz,可视化实时建图情况:

$ roslaunch turbot_rviz nav.launch

4.启动explore,机器人识别地图边界、自主探索建图:

$ roslaunch explore_lite explore.launch

在这里插入图片描述
可以观察到机器人能够自主地前往已知地图的边界地区,进行探索建图。

将建好的地图保存到指定文件夹(如 ~/map):

$ rosrun map_server map_saver -f ~/map/rplidar_a2_gmapping_auto

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐