ROS学习(12)使用ROS创建自定义地图

文章目录

  • 前言
  • 一、新建环境
  • 二、创建编译功能包
  • 三、新建.world文件
  • 四、新建world启动文件
  • 五、更新启动文件
  • 六、建图


前言

上一篇使用的是柳树车库环境,实现完整建图工作比较复杂,所以准备新建一个简单点的环境,在此基础上实现后面的自定义机器人定位与导航。

一、新建环境

启动gazebo,按下Ctrl+B键,进入编辑器,界面如下:
ROS学习(12)使用ROS创建自定义地图_第1张图片
编辑器由三部分组成:
(1) Palette,在这里可以选择建筑的特征和材料。
(2) 2D View,可以导入floor计划嵌入墙,窗,门和台阶。
(3) 3D View,建筑物的预览,能够设计建筑物不同部分的颜色和纹理。
下图是按照我家房子户型,进行绘制的。绘制完成,选择File-save as菜单,进行保存,效果如下:

可以看到该环境保存到了myHome目录下,主要生成了两个文件,model.config文件和model.sdf文件。

二、创建编译功能包

切换到catkin_ws/src目录下,如下:

catkin_create_pkg mbot_sim_gazebo_map urdf xacro

切换到catkin_ws目录下,编译该功能包,如下:

catkin_make mbot_sim_gazebo_map

在该功能包下创建config、include、src、launch、urdf、map文件夹,在urdf文件下创建urdf文件夹和xacro文件夹,复制meshes文件夹到该功能包下。

切换到usr/share/gazebo-9/models目录,新建mbot_sim_gazebo_navigation_model文件夹,复制myHome文件夹下面的两个文件到该文件夹下,如下:
ROS学习(12)使用ROS创建自定义地图_第2张图片

三、新建.world文件

切换到usr/share/gazebo-9/worlds目录,新建mbot_sim_gazebo_navigation.world文件,内容如下:



	  
	    
	      model://ground_plane
	    
	    
	      model://sun
	    
	    
	      model://mbot_sim_gazebo_navigation_model
	    
	  

编写完该文件后,修改文件夹的权限。

四、新建world启动文件

切换到opt/ros/melodic/share/gazebo_ros/launch目录下,新建mbot_sim_gazebo_navigation_world.launch文件,文件内容如下:



  
     
    
    
    
    
    
  

五、更新启动文件

在启动文件中配置rviz和gmaping包,robot_gazebo_navigation.launch文件内容如下:


 	
    
    

    
    
     
    
    
    
    
    

    
    

      
     

    

    
    
	
	
    

六、建图

按照ROS学习(十一)篇讲解的内容,运行robot_gazebo_navigation.launch启动文件,添加RobotModel和Map后,效果如下:
ROS学习(12)使用ROS创建自定义地图_第3张图片
可以看到,我们新建的环境比柳树车库简单很多。。。
然后使用键盘控制机器人移动,完成整个地图构建,效果如下:
ROS学习(12)使用ROS创建自定义地图_第4张图片
可以看到,整体效果还不错,哈哈。。。

然后我们切换到map目录,使用map_server保存地图即可。

你可能感兴趣的:(ROS,ROS)