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 link
s, joint
s, 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.
2 | No.2 Revision |
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 link
s, joint
s, 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.