逆向運動學(Inverse Kinematics)
定義
逆向運動學(Inverse Kinematics, IK)是給定末端執行器想要到達的位置與姿態,反推每個關節應該轉到多少角度。它是機械手臂「伸手去拿東西」時最核心的計算。
數學表示
求解 使得 。常見的數值迭代(阻尼最小平方法):
其中 是雅可比矩陣、 是目前末端與目標的誤差、 是阻尼係數,用來避免接近奇異點時解爆掉。
為什麼比正向運動學難
- 多解:同一個目標可能有多組關節角。
- 無解:目標超出工作空間、或姿態做不到。
- 奇異點:在運動學奇異點附近,微小的末端移動需要極大的關節速度。
使用情境
- 抓取與放置:視覺算出物體位姿後,用 IK 求出手臂要擺的關節角。
- MoveIt 2 運動規劃:規劃前先用 IK 確認目標姿態可達。
- 人形機器人與動畫:腳掌踩在指定位置、手伸向目標。
延伸閱讀
常見問題
- 為什麼六軸手臂的逆運動學會有多組解?
- 同一個末端位姿,手臂可以用「手肘朝上或朝下」「手腕翻轉或不翻」等不同組態達成。典型的六軸工業手臂最多可有 8 組解析解,實務上會挑最接近目前關節角、或不超出關節限制的那一組。
- 解析解和數值解該怎麼選?
- 解析解速度快、能列出所有解,但只適用於特定幾何結構(例如腕部三軸交於一點);數值解(雅可比迭代、最佳化)適用任意結構,但需要初始值、可能收斂到局部解。MoveIt 預設的 KDL 是數值解,IKFast 則是自動產生解析解。
faq_01.log
faq_02.log
相關文章
- [教學・ROS]MoveIt2 逆向運動學與路徑規劃
- [教學・運動學]正向運動學 vs 逆向運動學:新手一次搞懂
- [教學・運動學]IK 求解器全面比較:解析解、數值法、CCD、FABRIK 該怎麼選
- [教學・運動學]逆向運動學完整解法:解析解、Pieper 準則與數值迭代法
- [教學・運動學]雅可比矩陣完整推導:從關節速度到奇異點分析
- [論文・抓取]GG-CNN 論文導讀:用像素級生成取代候選抓取評分
- [論文・抓取]GGCNN2 論文導讀:用空洞卷積擴大感受野的即時抓取網路
- [論文・抓取]論文導讀:GR-ConvNet——用殘差卷積網路生成抓取,Jacquard 上達到 94.6%
- [論文・路徑規劃]論文導讀:機場行李推車自主回收——Progressive Perception 搭配 NMPC + CBF 的模組化移動操作系統
- [話題討論]全身控制 vs 逆向運動學:人形機器人操作物體時該用哪一種思路