learning-urdf-02

来源:互联网 发布:觉醒 凯特肖邦 知乎 编辑:程序博客网 时间:2024/06/06 10:53

1.使用xacro简化urdf代码

xacro相当于C语言中的#define用于替换一些常量,使得代码易读易改。
典型用法:

 rosrun xacro xacro model.xacro > model.urdf 

也可以在启动文件中自动生成urdf

<param name="robot_description" command="$(find xacro)/xacro '$(find pr2_description)/robots/pr2.urdf.xacro'" />

在urdf文件头需要声明是xacro文件

<?xml version="1.0"?><robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="firefighter">
1.定义一个属性<xacro:property name="width" value=".2" />2.属性引用${width}3.属性中可以进行数学运算${width/2}4.定义宏<xacro:macro name="default_origin">     <origin xyz="0 0 0" rpy="0 0 0"/></xacro:macro>5.引用宏<xacro:default_origin />6.带参数的宏(可以看成函数)<xacro:macro name="default_inertial" params="mass">         <inertial>                 <mass value="${mass}" />                 <inertia                   ixx="1.0" ixy="0.0" ixz="0.0"                      iyy="1.0" iyz="0.0" izz="1.0"                  />         </inertial></xacro:macro>7.引用宏函数<xacro:default_inertial mass="10"/>
0 0