Gazebo | Ignition | Community
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

The turtlebot_gazebo turned out to be the best reference. In particular, I looked at the turtlebot_description and kobuki_description files. The primary difference between .urdf.xacro files and plain .sdf seems to be the ability to write macros in files which are eventually passed to xacro for compilation into sdf files.

However, it's still less clear to me when I should be writing xdf xml and when I should be writing urdf. The Gazebo ROS documentation claims that I should be using <gazebo> tags for my links, joints, and the main robot tag. However, I seem to be getting similar functionality simply by putting the relevant tags in directly (<surface>, <dynamic>, <static>, etc). However, I haven't done an exhaustive test to see whether e.g. my friction settings are actually taking effect, and Gazebo isn't just using default values.

As is, my .urdf.xacro file is a bit of a mix, using a <gazebo> environment to contain <plugin> tags, but regular <surface> etc tags for other things. I'll let the file itself stand as an answer to this question, but would still appreciate some review on it.

The turtlebot_gazebo turned out to be the best reference. In particular, I looked at the turtlebot_description and kobuki_description files. The primary difference between .urdf.xacro files and plain .sdf seems to be the ability to write macros in files which are eventually passed to xacro for compilation into sdf files.

However, it's still less clear to me when I should be writing xdf xml and when I should be writing urdf. The Gazebo ROS documentation claims that I should be using <gazebo> tags for my links, joints, and the main robot tag. However, I seem to be getting similar functionality simply by putting the relevant tags in directly (<surface>, <dynamic>, <static>, etc). However, I haven't done an exhaustive test to see whether e.g. my friction settings are actually taking effect, and Gazebo isn't just using default values.

As is, my .urdf.xacro file is a bit of a mix, using a <gazebo> environment to contain <plugin> tags, but regular <surface> etc tags for other things. I'll let the file itself stand as an answer to this question, but would still appreciate some review on it.

Subsequently, I tried to use <gazebo> tags as described in the Gazebo ROS documentation, and as is used in kobuki_gazebo.urdf.xacro.