Gazebo教程(使用roslaunch启动Gazebo,world文件和URDF模型)
启动Gazebo,打开world模型以及向仿真环境中插入机器人模型的方法有很多.在这个教程中,我们将使用rosrun和roslaunch来实现.这里包括将URDF文件存储在ROS包中,并保留相对于ROS工作区的各种资源路径。(本文转载自https://www.jianshu.com/p/4d8b8327eb9b,转载目的便于自己学习)
一.使用roslaunch打开world模型
roslaunch是一个启动ROS节点并插入机器人模型的标准方法.要建立一个空的world模型,我们只需要运行
roslaunch gazebo_ros empty_world.launch
1.roslaunch参数
你可以更改launch文件中的参数来改变Gazebo的启动行为:
paused:在暂停状态下启动Gazebo(默认为false).
use_sim_time:告诉ROS节点要求获取ROS话题/clock发布的时间信息(默认为true).
gui:启动Gazebo中的用户界面窗口(默认为true).
headless recording:启动Gazebo状态日志记录(默认为false).
debug:使用gdb以调试模式启动gzserver(默认为false).
verbose:用–verbose运行gzserver和gzclient,并将错误和警告打印到终端(默认为false).
2.roslaunch命令示例
通常情况下使用默认值就可以了,这里只是一个例子:
roslaunch gazebo_ros empty_world.launch paused:=true use_sim_time:=false gui:=true throttled:=false recording:=false debug:=true verbose:=true
3.运行其他demo worlds
其他的demo worlds已经包含在gazebo_ros中了,它包括:
roslaunch gazebo_ros willowgarage_world.launch
roslaunch gazebo_ros mud_world.launch
roslaunch gazebo_ros shapes_world.launch
roslaunch gazebo_ros rubble_world.launch
mud_world.launch的代码如下:
在这个launch文件中,我们继承了大多数empty_world.launch中的内容.只改变了world_name参数,用mud.world代替了empty.world.其他的参数使用默认的就好了.
4.world文件
继续查看mud_world.launch文件,我们现在看m