# ROS2中常用的Xacro模板 URDF默认格式是纯文本的,我们并不能在其中加入计算公式和定义,用URDF定义一个机器人模型会导致整个文件非常冗长,使用Xacro工具可以解决这个问题。 Xacro是urdf的定义和生成工具,你按照Xacro提供的方式定义可以复用的模型描述块,之后就可以直接调用这些描述,最后使用xacro指令生成最终的urdf模型了。 ## 1.添加模板 小鱼这里提供了常用的xacro描述定义的代码块,你可以直接引入的你的工程里进行使用。 在你的功能包里新建`xacro_template.xacro`文件,复制粘贴下面的内容到其中。 ```xml ``` ## 2.使用模板生成URDF 接着你可以新建你的机器人模型描述文件,比如`fishbot.urdf.xacro`,之后你就可以在你的描述文件中调用小鱼提供的模板,快速的定义机器人。 比如创建一个正方体的base_link,并导入惯性矩阵。 ```xml ``` 上面w,d,h,代表长宽高,m代表质量。` `用于引入小鱼提供的模板。 接着我们就可以通过xacro指令将其变成正常的urdf,打开终端,进入fishbot.urdf.xacro同级目录,输入指令`xacro fishbot.urdf.xacro -o fishbot.urdf`,即可生成fishbot.urdf,正常生成后的内容如下。 ```xml ``` 这就是xacro的神奇之处,将短短的三行定义根据规则生成长长的URDF,关于xacro的详细使用可以参考 http://ros.org/wiki/xacro 。