URDF format 中 TYPE revolute 與 prismatic 關節的差別
在 URDF (Unified Robot Description Format) 或 SDF (Simulation Description Format) 中,關節 (joint) 的 type 會決定機械手臂的運動方式。
| 關節類型 | 描述 | 運動方式 | 常見應用 |
|---|---|---|---|
revolute | 旋轉關節 | 以固定軸旋轉 (類似門的鉸鏈) | 機械手臂的 關節, 機器人的 輪子轉向 |
prismatic | 滑動關節 | 直線運動 (類似抽屜) | 伸縮機構, 直線滑軌, 氣壓缸 |
🔹 revolute (旋轉關節)
📌 旋轉關節 (revolute) 是最常見的機械手臂關節,允許圍繞特定軸旋轉,通常有角度限制 (limit)。
✅ 範例 (URDF)
🔹 解析
axis xyz="0 0 1"→ 旋轉軸為 Z 軸 (垂直旋轉)limit lower="-1.57" upper="1.57"→ 允許旋轉 -90° 到 90° (±1.57弧度)velocity="1.0"→ 最大旋轉速度 1.0 rad/s
✅ 應用
- 機械手臂關節 (
robot_arm) - 自主機器人的輪子 (
ackermannsteering) - 機械夾爪旋轉 (
gripper rotation)
🔹 prismatic (滑動關節)
📌 滑動關節 (prismatic) 允許物體在 直線方向 移動,常用於機械手臂的伸縮機構** 或 線性滑軌。**
✅ 範例 (URDF)
🔹 解析
axis xyz="1 0 0"→ 滑動方向為 X 軸limit lower="0.0" upper="0.5"→ 允許的滑動範圍 0 到 0.5 公尺velocity="0.2"→ 最大滑動速度 0.2 m/s
✅ 應用
- 直線滑軌 (
linear rail,如 CNC 機械) - 機械手臂伸縮關節 (
telescopic joint) - 氣壓缸或電動缸 (
pneumatic actuator)
🚀 revolute vs prismatic 總結
| 屬性 | revolute (旋轉關節) | prismatic (滑動關節) |
|---|---|---|
| 運動方式 | 旋轉 (angular movement) | 直線 (linear movement) |
限制 (limit) | lower 和 upper 是 角度 (rad) | lower 和 upper 是 距離 (m) |
| 應用 | 機械手臂、輪子轉向、旋轉機構 | 滑軌、伸縮臂、直線運動 |
| URDF 設定 | type="revolute" | type="prismatic" |
軸向 (axis xyz) | 旋轉軸 | 滑動方向 |
🚀 revolute & prismatic 混合應用
📌 假設你要設計一個機械手臂,底部關節可以旋轉,手臂可以前後伸縮,則可以這樣設計
✅ 效果
base_rotation可以旋轉 360°arm_extension可以前後滑動 50 cm
🚀 總結
revolute(旋轉關節) → 旋轉運動 (angular movement),常用於機械手臂 旋轉關節。prismatic(滑動關節) → 直線運動 (linear movement),常用於 伸縮臂 或 滑軌。- 關鍵差異
revolute受角度限制 (rad)prismatic受距離限制 (m)
- 可混合使用 → 例如
revolute+prismatic打造旋轉 & 伸縮機械手臂!
沒有留言:
張貼留言