urdf文件与xacro文件的编写
urdf文件与xacro文件的编写
一、程序包及文件系统
创建工作空间 创建包等不再赘述
/工作空间/src/包 内文件结构如图

二、urdf的编写
1、.urdf文件的写法
1.1、机器人urdf总体框架:
<robot name="pr2">
<!-- 机器人 links joints 等内容 -->
</robot>
机器人内容包含以下几个元素
<link>
定义杆件
<joint>
定义关节
<transmission>
定义变速模块(不常用到)
<gazebo>
用于扩展Gazebo仿真
其实我们最常用的就是link和joint两个标签,仿真会用到gazebo标签,transmission标签目前我也没接触到,以后补。
1.2、link标签

其实link标签只定义杆件的几何参数、惯量、坐标系零点等,不涉及父坐标系和子坐标系等问题,这些坐标关系的定义都在joint标签内进行。
link必须声明自己的名字 这个是必选属性。
link一图搞清结构

参考:http://wiki.ros.org/urdf/XML/link.
例子1:
<link name="my_link">
<inertial>
<origin xyz="0 0 0.5" rpy="0 0 0"/>
<mass value="1"/>
<inertia ixx="100" ixy="0" ixz="0" iyy="100" iyz="0" izz="100" />
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<box size="1 1 1" />
</geometry>
<material name="Cyan">
<color rgba="0 1.0 1.0 1.0"/>
</material>
</visual>
<collision>
<origin xyz="0 0 0" rpy="0 0 0"/>
<geometry>
<cylinder radius="1" length="0.5"/>
</geometry>
</collision>
</link>
例子2:
<link name="torso"><!--link名字必须声明-->
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://robot_description/meshes/base_link.DAE"/>
</geometry>
</visual>
<collision>
<origin rpy="0 0 0" xyz="-0.065 0 0.0"/>
<geometry>
<mesh filename="package://robot_description/meshes/base_link_simple.DAE"/>
</geometry>
</collision>
<collision_checking>
<origin rpy="0 0 0" xyz="-0.065 0 0.0"/>
<geometry>
<cylinder length="0.7" radius="0.27"/>
</geometry>
</collision_checking>
<inertial>
...
</inertial>
</link>
1.3、joint标签

joint一图搞清结构

type详细解释:
指定关节类型,其中type可以是下列之一:
revolute-沿轴旋转并具有由上限和下限指定的有限范围的铰链接头。
continuous-绕轴旋转的连续铰链接头,没有上限和下限。(正儿八经的旋转关节)
prismatic-沿轴滑动的滑动关节,并具有由上限和下限指定的有限范围。
fixed-这实际上不是关节,因为它无法移动。所有自由度均被锁定。这种类型的关节不需要轴,校准,动力学,极限或安全控制器。
floating-该关节允许在所有6个自由度上运动。
planar-此关节允许在垂直于轴的平面内运动。
limit标签各个参数的计算方法参考:http://wiki.ros.org/pr2_controller_manager/safety_limits.
参考: http://wiki.ros.org/urdf/XML/joint.
例子:
<joint name="my_joint" type="floating">
<origin

本文详细介绍urdf文件的结构与编写技巧,包括link、joint标签,以及xacro的宏定义、调用和检查方法。同时涵盖xacro在代码复用和简化URDF编写中的作用,以及各自的launch文件编写范例和模型验证方式。
最低0.47元/天 解锁文章
316





