Kinematics
- 又稱: Robot Kinematics, Kinematic Analysis
- 類別: Foundations & spatial maths › Kinematics
- 標籤: motion, mathematics, fundamentals, manipulation
研究機器人運動幾何的學問:計算關節角度如何對應到末端執行器的位置(正向運動學)以及反過來的對應(逆向運動學),不考慮力。
定義
運動學是機器人學中描述機器人各部分如何在空間中移動(運動的幾何)的分支,不考慮造成運動的力。它著重於從關節角度計算末端執行器的位置(正向運動學),以及決定到達目標位置所需的關節角度(逆向運動學)。機器人被建模為運動鏈,也就是由關節連接的剛性連桿,每種關節類型(旋轉、移動、球形)各貢獻特定的自由度。Denavit-Hartenberg(DH)慣例提供一套標準的四參數系統,用來建立轉換矩陣。
為何重要
運動學是把關節角度與工具實際位置連結起來的數學,它把運動純粹當作幾何,忽略造成運動的力。它是操作領域中其他一切的基礎:沒有正向運動學,機器人就無法回報自己的工具位置;沒有逆向運動學,就無法要它前往世界中的某處,而只能給它一組關節角度。幾乎每一個視覺化、運動規劃與笛卡兒移動都可以追溯到它。
主要應用
- 正向運動學:從關節角度計算工具姿態,用於顯示、記錄與控制
- 逆向運動學:把想要的工具姿態轉換成能達成它的關節角度
- 工作範圍分析:決定特定手臂幾何能到達的空間範圍
- 模擬與數位孿生,其中模型的運動學必須與硬體相符
- 校正:量測標稱連桿幾何與實際連桿幾何之間的差異
- 軌跡生成,把笛卡兒空間中的路徑轉換成關節運動
實際應用
在 ROS 2 堆疊中,機器人的運動學宣告在 URDF 檔案裡,KDL 或 MoveIt 背後的求解器等函式庫會把這份宣告轉換成可運作的正向與逆向運動學。這就是為什麼 URDF 在實務上如此重要:如果檔案中某個連桿長度差了幾毫米,機器人就會很有把握地回報一個差了同樣距離的工具位置,而每一次笛卡兒移動都會有偏移。軟體不會發出任何抱怨:數學是精確的,但它精確描述的是檔案所描述的機器人,而不是實際造出來的機器人。
常見誤解
- 運動學包含力:它純粹是幾何的;力、質量與扭矩屬於動力學
- 逆向運動學永遠只有一個答案:大多數手臂有好幾個有效的解,有些姿態則完全沒有解
- 運動學正確就代表機器人精確:模型描述的是設計上的機器人,而製造公差、背隙與撓曲會讓真實的機器人有所不同
- 運動學只適用於手臂:移動底盤、腿式機器人與夾爪都有運動學模型
誰需要了解
- 任何以笛卡兒空間而非關節空間為手臂編寫程式的人
- 撰寫或除錯 URDF 模型的開發者
- 調查指令工具位置與實際工具位置之間系統性偏移的工程師
- 修習第一門操作課程的學生
- 任何以量測到的真值校正機器人的人
相關技術
- Denavit-Hartenberg 參數
- 正向運動學
- 逆向運動學
- 雅可比矩陣
- 螺旋理論與指數積
- URDF(Unified Robot Description Format)
- 運動學校正
- 工作範圍分析
相關專案
- LeRobot: HuggingFace ML library for real-world robotics in PyTorch
- Isaac Lab: NVIDIA robot learning framework: one task API across Newton, PhysX and Isaac Sim
- NVIDIA Isaac GR00T: NVIDIA open foundation model for humanoid robot reasoning and skills
- OpenVLA: 7B-parameter Vision-Language-Action model for robotic manipulation
- Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
- OpenArm: 7DOF humanoid arm for physical AI research in contact-rich environments
影片
- Inverse Kinematics of Robots | Robotics 101: Engineering Simplified