在urdf文件中,会有很多内容是一样的,当要改变这些语句重某一个相同的参数时却要更改很多次,很吗发,于是有了一种精简化、可复用、模块化的描述形式——xacro
废话少说
声明重复使用的常量
<?xml version="1.0" ?>
<robot name="robot_name" xmlns:xacro="http://www.ros.org/wiki/xacro">
加入xacro的声明
<xacro:property name="M_PI" value="3.14159" />
定义一个常量属性供调用
<origin xyz="0 0 0" rpy="${M_PI / 2} 0 0" />
使用上述常量属性
...
</robot>
声明重复使用的代码
<xacro:macro name="lalala" params="param1 param2 param3">
<link>......
</xacro:macro>
使用该宏模块的时候,就要输入定义的那几个参数(param1、param2、param3,这三个参数在描述中和常量一样,甚至可以像string类型一样用在两段字符串中间最后合并成一个字符串)
<lalala param1="..." param2="..." param3="...">