Notice the size of the robot1_physics.urdf
file. It has 314 lines of code to define our robot. Imagine if you start to add cameras, legs, and other geometries, the file will start to increase and the maintenance of the code will start to become more complicated.
Xacro helps to reduce the overall size of the URDF file and makes it easier to read and maintain. It also allows us to create modules and reutilize them to create repeated structures such as several arms or legs.
To start using xacro
, we need to specify a namespace so that the file is parsed properly. For example, these are the first two lines of a valid xacro
file:
<?xml version="1.0"?> <robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="robot1_xacro">
In it, we define the name of the model, which in this case is robot1_xacro
. Remember that the file extension will be .xacro
instead of .urdf
.