继续补充Gazebo的使用,在这之前说明下我的环境。
操作系统:Ubuntu14.04lts
ROS系统版本:Indigo
看这篇文章前,建议先看我写的上一篇文章,【ROS学习笔记】二、Gazebo的使用上
好的,我们继续。
我们继续按照教程走。
一、使用ROS命令将新的对象加入到Gazebo模拟器中。
1)首先我们打开终端,roscore核心记得运行起来。
roscore
ros wiki上是用的是以下命令
roslaunch gazebo_worlds empty_world.launch
原因是因为官方在此处用的并不是ros indigo版本,可能是jade也可能是hydro,具体的我也不清楚,这里给大家推荐一个方法,如何确定gazebo_后面的参数,一般来说,ros会安装在/opt路径下,那么我们进入到/opt/ros/xxx(你的版本,我的是indigo)/share/ , 在这个文件夹下,可以找到你的gazebo_xxx,你可以看到你的后续应该跟的文件名称,是worlds 还是ros就在这里看。
如果你是indigo版本,使用以下命令
roslaunch gazebo_ros empty_world.launch
rosrun gazebo_ros spawn_model -file `pwd`/object.urdf -urdf -z 1 -model my_object
roslaunch gazebo_ros table.launch
有的朋友说,我没有找到gazebo_ros 的launch文件夹下有这个table.launch文件,当然没有,这个是要自己写的,官方知识让你看看,具体的要自己动手。
cd /opt/ros/indigo/share/gazebo_ros
sudo mkdir objects
cd /opt/ros/indigo/share/gazebo_ros/launch
sudo gedit table.launch
rosluanch gazebo_ros table.launch
cd /opt/ros/indigo/share/gazebo_ros/objects
sudo gedit table.urdf.xacro
Gazebo/Wood
50.0
50.0
1000000.0
1.0
Gazebo/Red
1000.0
1000.0
10000000.0
1.0
true
Gazebo/Red
1000.0
1000.0
10000000.0
1.0
true
Gazebo/Red
1000.0
1000.0
10000000.0
1.0
true
Gazebo/Red
1000.0
1000.0
10000000.0
1.0
true
true
table_top_link
保存并关闭文件。
替换为
原因是因为我们使用的indigo版本对应的文件夹名称为gazebo_ros而非gazebo_worlds
我们可以看到,pkg=“gazebo_ros”
发现不同,原来这里pkg="gazebo"
替换为:
roslaunch gazebo_ros table.launch
sudo gedit all.launch
保存并关闭
roslaunch gazebo_ros all.launch
你就会看到你的两个物体先后生成到模拟器中,但要注意,如果你的模拟器中已经存在了这两个物体,那么不会重新添加,因为节点信息已经存在了。