正向運動學(Forward Kinematics)
定義
正向運動學(Forward Kinematics, FK)是給定機器人每個關節的角度(或位移),計算末端執行器在空間中的位置與姿態。
數學表示
把每個關節的齊次轉換矩陣依序相乘:
結果 是 4×4 矩陣,左上 3×3 是末端姿態(旋轉矩陣),右上 3×1 是末端位置。各關節的轉換通常用 DH 參數或 URDF 的關節定義寫出。
使用情境
- 即時顯示機器人姿態:RViz 裡看到的手臂模型就是 FK 算出來的。
- 碰撞檢查:規劃器需要知道每個連桿在哪裡,才能判斷是否撞到障礙物。
- 逆運動學數值解:每一次迭代都要先用 FK 算出目前末端位置,再計算誤差。
常見誤解
- FK 很簡單所以不重要? 它是整個運動學體系的地基,雅可比矩陣就是 FK 對關節角的偏微分。
延伸閱讀
常見問題
- 正向運動學和逆向運動學差在哪?
- 正向是「已知關節角,求末端在哪」,答案唯一;逆向是「已知末端要去哪,求關節角」,可能有多組解、無解或落在奇異點,計算難度高得多。
- ROS 2 裡誰負責算正向運動學?
- robot_state_publisher 會根據 URDF 與 joint_states,即時算出每個連桿的座標並發布到 tf2,這就是正向運動學。
faq_01.log
faq_02.log