URDF 入门指南:创建你的第一个机器人模型
最近在学习 ROS 机器人开发,发现 URDF(Unified Robot Description Format) 是描述机器人模型的必备技能。作为一个刚入门的新手,记录下如何用 URDF 创建一个简单的两节机械臂模型。
URDF 基础概念
URDF 是 ROS 中用来描述机器人物理结构和运动特性的 XML 格式文件。它主要包含以下几个核心元素:
- link 标签:定义机器人的刚性部件,相当于机器人的'骨骼'
- joint 标签:定义 link 之间的连接方式和运动特性
- visual 标签:定义部件的可视化外观
- collision 标签:定义部件的碰撞属性
创建两节机械臂模型
我们要创建一个由两个长方体组成的简单机械臂:
- 基座 (base_link):长 30cm 的立方体,固定在坐标系原点
- 机械臂 (arm_link):长 20cm 的立方体,通过旋转关节连接到基座
1. 定义基座 (base_link)
基座是机械臂的固定部分,我们用一个立方体表示。在 URDF 中,几何形状可以用 box、cylinder、sphere 等基本形状描述。这里使用 box,并设置尺寸为 0.3 米 (30cm) 的立方体。
2. 定义机械臂 (arm_link)
机械臂部分同样使用 box 几何体,尺寸设为 0.2 米 (20cm) 的立方体。为了让机械臂能够旋转,我们需要在基座和机械臂之间添加一个旋转关节。
3. 创建旋转关节 (arm_joint)
关节类型选择"revolute"(旋转关节),这是 URDF 中最常用的关节类型之一。需要设置以下参数:
- 旋转轴 (axis):这里设为 Z 轴
- 限制 (limit):设置关节的运动范围,比如 -90 度到 90 度
- 父 link 和子 link:分别连接到 base_link 和 arm_link
以下是完整的 URDF 代码示例:
<robot name="simple_arm">
<link name="base_link">
<visual>
<geometry>
<box size="0.3 0.3 0.3"/>
</geometry>
</visual>
</link>
<link name="arm_link">
<>

