URDF 機器人模型
URDF 機器人模型
本篇介紹如何在 ROS 2 中,利用 URDF(Unified Robot Description Format)建立與設定機器人模型。
整體概念
機器人模型用來描述機器人的實體結構與幾何形狀。在 ROS 內,通常以 URDF 搭配 3D 模型(常見為 STL)構成描述:
- STL:負責每個零件的網格與外觀
- URDF:定義零件之間的關係、關節、物理屬性與座標轉換
什麼是 URDF?
URDF(Unified Robot Description Format) 是 ROS 中用來描述機器人系統的 XML 格式。
重點特色
- 透過關節描述零件(link)如何連結
- 包含轉換、慣性與物理屬性
- 可引用 STL 檔顯示外觀
- 以結構化的 XML 撰寫,易於維護
基本結構
URDF 檔以 <robot> 為根節點,內含 link 與 joint 定義:

<robot name="robot_name">
<!-- Link definitions -->
<link name="link_name">
<visual>...</visual>
<collision>...</collision>
<inertial>...</inertial>
</link>
<!-- Joint definitions -->
<joint name="joint_name" type="revolute">
<parent link="link1"/>
<child link="link2"/>
<axis xyz="0 0 1"/>
<limit lower="-3.14" upper="3.14" effort="100" velocity="1.0"/>
</joint>
</robot>
在 RViz2 中檢視模型
調整 URDF 前,建議先確認如何在 RViz2 載入模型。
步驟指引
1. 啟動載入 URDF 的節點
將含有 URDF 的 node 啟動,讓 robot description 發佈到 ROS 參數伺服器。
2. 開啟 RViz2 並新增顯示項目
- 於 RViz2 左下角點選 Add
- 在清單中選擇 RobotModel
3. 設定 RobotModel
- 將 Description Source 設為 Topic
- 確認 robot description 有正確發佈
4. 疑難排解
若畫面沒有顯示,可嘗試開關 Visual Enabled,通常就能重新繪製。
5. 管理各個 link
在 Links 區塊可以針對單一 link 開關顯示,方便專注在特定零件。
座標系與轉換
調整 URDF 前,建議先了解 ROS 2 的 TF2(轉換庫)。
右手定則
可以利用右手定則幫助判斷座標軸方向:

拇指 → X 軸正方向
食指 → Y 軸正方向
中指 → Z 軸正方向
手指指向即為正方向,反向則為負方向。
小結
URDF 的常見用處:
- 在 RViz2 呈現機器人
- 供模擬與物理運算使用
- 進行運動學/動力學計算
- 進行校正與參數調整