Open Source Robotics

精選高品質的開源機器人專案、工具與軟體,推動機器人社群向前發展。

Jacobian

  • 又稱: Jacobian Matrix, Robot Jacobian, Manipulator Jacobian
  • 類別: Foundations & spatial maths › Kinematics
  • 標籤: mathematics, kinematics, control, velocity, singularity

把關節速度與末端執行器速度關聯起來的矩陣,是機器手臂控制的基礎。

定義

在機器人學中,雅可比矩陣是描述關節速度與末端執行器速度之間關係的矩陣。它是連接機器人關節空間(馬達角度)與任務空間(夾爪在真實世界中的位置與方向)的基本數學工具。

對於有 n 個關節的機器手臂,雅可比矩陣是一個 6×n 的矩陣(6 列分別對應末端執行器的 3 個線速度與 3 個角速度)。把雅可比矩陣乘以關節速度向量,就得到相應的末端執行器速度:

v_end_effector = J q_dot**

雅可比矩陣的主要用途: - 速度控制:給定期望的末端執行器速度,利用雅可比矩陣的反矩陣計算所需的關節速度。 - 力映射:雅可比矩陣的轉置把末端執行器的力映射回關節扭矩,讓工具尖端的力控制成為可能。 - 奇異點偵測:當雅可比矩陣降秩(行列式趨近於零)時,機器人就接近奇異點,也就是在某些方向上無法移動的組態。偵測到這一點可以防止危險的高速關節運動。 - 逆向運動學:迭代式 IK 求解器利用雅可比矩陣計算微小的關節調整量,讓末端執行器朝目標位姿移動。 - 可操作度分析:雅可比矩陣揭示了機器人在某個組態下,往不同方向移動與施力的能力有多好。可操作度橢球把這種能力視覺化。

雅可比矩陣會隨機器人的組態而改變:關節移動時,每個時間步都必須重新計算。這讓以雅可比矩陣為基礎的控制在運算上很有效率(矩陣乘法),但會隨組態而變。

對任何從事機器手臂控制、力控制,或超越基本關節空間控制之運動規劃的人來說,了解雅可比矩陣都不可或缺。

為何重要

雅可比矩陣是關節速度與工具速度之間的橋梁:這個矩陣說明了每個關節轉動時,末端執行器以多快的速度、往哪個方向移動。它讓平順的笛卡兒控制成為可能,也揭露了機器人的弱點:在雅可比矩陣降秩的地方,手臂處於奇異點,在某個方向上完全無法移動。力控制也仰賴它,因為同一個矩陣把工具上的力與關節上的扭矩關聯起來。

主要應用

  • 分解速率控制:以指令的笛卡兒速度驅動工具
  • 視覺伺服,把影像空間的誤差轉換成關節運動
  • 力控制與阻抗控制,把工具的力映射到關節扭矩
  • 在規劃期間偵測並避開奇異點
  • 可操作度分析,量測手臂在某個姿態下能多自由地移動
  • 冗餘手臂上的零空間控制,在保持工具不動的同時移動手肘

實際應用

在遠端操作或視覺伺服迴路中,控制器反覆計算期望的工具速度,並乘以雅可比矩陣的反矩陣,得到關節速度。這在手臂接近奇異點之前都運作良好;奇異點通常是完全伸直的手肘或對齊的手腕,在那裡反矩陣會發散,微小的指令運動就需要極大的關節速度。量產控制器以阻尼最小平方法防範這種情況,它犧牲一點精度來換取穩定性,這也是為什麼手臂在接近工作範圍邊緣時,常感覺遲緩或不肯移動。

常見誤解

  • 雅可比矩陣是機器人的固定屬性:它隨每個組態而改變,必須持續重新計算
  • 它一定可以求反:在奇異點上它會降秩,反矩陣並不存在
  • 它只與速度有關:它的轉置把工具的力與關節扭矩關聯起來,這是力控制的基礎
  • 奇異點是罕見的極端情況:完全伸直的手臂或對齊的手腕,都是再普通不過的要求姿態

誰需要了解

  • 任何實作笛卡兒速度控制或力控制的人
  • 撰寫遠端操作或視覺伺服迴路的開發者
  • 調查手臂在某些姿態下變得不穩定之問題的工程師
  • 從位置控制邁向速度與力控制的學生
  • 任何在評估手臂在整個工作範圍內是否具備可用靈巧度的人

相關技術

  • 逆向運動學
  • 奇異點分析
  • 分解速率運動控制
  • 可操作度橢球
  • Denavit-Hartenberg 參數
  • 阻尼最小平方法(Levenberg-Marquardt)
  • 零空間投影
  • 旋量理論

相關術語

  • Inverse Kinematics
  • Kinematics
  • DOF
  • Joint

相關專案

  • Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
  • MoveIt 2: Motion planning framework for ROS 2 robot arms, with kinematics and collision checking
  • PyRoki: Modular Python toolkit for kinematic optimization across CPU, GPU, and TPU via JAX
  • MuJoCo MPC: DeepMind's interactive real-time model predictive control framework for MuJoCo
  • PyPose: PyTorch library for differentiable robotics with deep learning and Lie group optimization
  • DART: C++ physics engine for articulated rigid body dynamics and robotics simulation

影片

  • Velocity Kinematics & Jacobian Matrix | Robotics 101: Engineering Simplified

維基百科

  • 雅可比矩阵

本網站需要 JavaScript 才能正常運作。請啟用 JavaScript 以瀏覽我們的開源機器人專案。