xacro

xacro provide macro extension for original URDF, including variables and functions. We need to include namespace at robot element.

<robot name="test" xmlns:xacro="http://wiki.ros.org/xacro">
...
</robot>

property

<xacro:property name="xxxx" value="yyyy" />

macro

Define a macro,

<xacro:macro name="my_macro" params="param1 param2 ...">
...
</xacro:macro>

Call macro,

<xacro:my_macro param1=xxx param2=xxx .../>

include

<xacro:include filename="test.xacro" />