实现过程
一、创建工作区
二、使用gazebo 绘制地图,并保存为 .world 文件
三、ros 运行地图
一、创建工作区
mkdir -p catkin_ws/src/tutorials // 创建文件夹
cd catkin_ws/src/tutorials
mkdir launch // 存放 launch 文件
mkdir world // 存放地图文件
二、gazebo绘制地图
1.打开gazebo
sudo gazebo // 打开gazebo,后续保存文件可能需要管理员权限
如果:虚拟机打开后有闪退现象,处理办法如下:
2.运行成功界面,如下:
3.进入编辑界面,如下:
4.点击 wall 后可绘制墙壁
5.点击 Add Texture 可修改墙壁纹理
6.点击 file 的 save as 保存模型文件
7.选择保存名称和保存位置
8.点击模型,通过 pose 修改模型位置
9.通过 insert 可添加其他模型
10.地图绘制好后,保存为 .world 地图文件(文件后缀名一定要是 .world)
11.将 .world 文件复制到 ~/catkin_ws/src/world 文件夹内,地图环境搭建完成
三、ros 运行地图
1.编写 gazebo_world.launch 文件,放到 ~/catkin/src/tutorials/launch 文件夹
1.在/catkin/src/tutorials/launch目录下,打开终端并输入:touch mkdir gazebo_world.launch
2.用记事本打开:gazebo_world.launch文件
3.把下列代码粘贴后、保存。
<launch>
<include file="$(find gazebo_ros)/launch/empty_world.launch">
<arg name="world_name" value="$(find tutorials)/world/room.world"/> // 注意这里是你的地图文件名
<arg name="paused" value="false"/>
<arg name="use_sim_time" value="true"/>
<arg name="gui" value="true"/>
<arg name="headless" value="false"/>
<arg name="debug" value="false"/>
</include>
</launch>
2.编写 CMakeLists.txt 和 package.xml 文件,放到~/catkin/src/tutorials/
1.在终端下运行:touch CMakeLists.txt
//把下列代码copy进CMakeLists.txt并保存
cmake_minimum_required(VERSION 2.8.3)
project(tutorials)
find_package(catkin REQUIRED COMPONENTS)
2.在终端下运行:touch package.xml
//把下列代码copy进package.xml并保存
<?xml version="1.0"?>
<package format="2">
<name>tutorials</name>
<version>0.0.0</version>
<description>The tutorials package</description>
<maintainer email="nan@todo.todo">nanorobot</maintainer>
<license>TODO</license>
</package>
3.在 ~/catkin_ws 文件夹下 catkin 编译
catkin_make
4.source一下:
source devel/setup.bash
5.运行 launch 文件:
roslaunch tutorials gazebo_world.launch
6.运行结果如图: