Open Source Robotics

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

Screw Axis

  • 又稱: screw, screw motion, twist axis
  • 類別: Foundations & spatial maths › Kinematics
  • 標籤: screw-theory, kinematics, rigid-body-motion, spatial-math, articulated-objects

空間中的一條直線,剛體繞它旋轉的同時沿它平移;任何剛體運動都能這樣描述,機器人關節也以螺旋軸來建模。

定義

螺旋軸(Screw axes)把剛體運動描述為繞空間中一條固定直線的旋轉,再加上沿同一條直線的平移,就像螺帽在螺栓上轉動一樣。Chasles–Mozzi 定理指出,任何剛體位移都可以這樣描述,而瞬時速度也有對應的結果:每一個剛體速度都是繞某條軸的旋轉加上沿該軸的平移。

螺旋軸有三項要素:直線的方向、直線上的一點,以及它的節距(pitch),也就是平移與旋轉的比值。純旋轉的節距為零,這正是旋轉關節或門鉸鏈。純平移是節距為無限大的極限情況,也就是平移關節或滑動的抽屜。把螺旋軸乘上一個速率就得到運動旋量(twist),這是一個結合角速度與線速度的六維向量。力與力矩以同樣的方式組合成力旋量(wrench)。

旋量理論(screw theory)可追溯到 Robert Ball 論螺旋理論的專著,它是現代機器人運動學寫法的基礎。在 Lynch 與 Park 的 Modern Robotics 等教科書所教授的指數積(product of exponentials)公式中,每個關節都以它在固定座標系中的螺旋軸來描述,而正向運動學就是這些旋量之矩陣指數的乘積。這避開了 Denavit–Hartenberg 參數中指定座標系的慣例。

由於旋量描述運動時不需參照特定的物體座標系,它們也是表示物體之間相對運動的自然方式:鉸鏈、蓋子、閥門,或兩隻手握住同一個物體時彼此之間的相對運動,都可以用一條螺旋軸,以及沿該軸運動了多遠來描述。

為何重要

螺旋軸為關節、速度與力提供單一、與座標系無關的描述。它們讓運動學與動力學的推導更簡潔,並為學習與感知系統提供一種表示鉸接運動的精簡方式。

主要應用

  • 以指數積公式計算正向運動學與雅可比矩陣
  • 為門、抽屜與蓋子等鉸接物體建模
  • 描述兩支手臂或兩隻手之間的相對運動
  • 在動力學演算法中把速度與力表示為運動旋量與力旋量

實際應用

為客製機器手臂撰寫運動學的團隊,可以用每個關節在原點姿態、基座座標系中的螺旋軸來定義它,這些螺旋軸直接從 CAD 讀取,再以指數積公式計算正向運動學與雅可比矩陣。在操作任務中,同樣的表示法也用來描述鉸接物體:從觀察到的運動估測櫃門的鉸鏈軸,機器人就能產生一條沿著圓弧的拉動軌跡,而不是與約束硬碰硬。

常見誤解

  • 螺旋軸只適用於螺絲與有螺紋的零件 — 它們能描述任何剛體運動,包括純旋轉與純平移
  • 旋轉與平移一定需要分開描述 — Chasles–Mozzi 定理顯示,一個螺旋運動就足夠了
  • 旋量理論取代了齊次轉換 — 它建立在齊次轉換之上;旋量的矩陣指數得到的就是一般的齊次轉換

誰需要了解

  • 運動學與動力學工程師
  • 為鉸接物體建模的操作研究人員
  • 學習空間數學的機器人學生

相關技術

  • 指數積公式(Product of Exponentials Formula)
  • 運動旋量與力旋量(Twist and Wrench)
  • 李群(Lie Groups,SE(3))
  • Denavit–Hartenberg 參數(Denavit–Hartenberg Parameters)
  • 正向運動學(Forward Kinematics)

相關術語

  • Transform
  • Coordinate Frame
  • Kinematics
  • Jacobian

相關專案

  • 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
  • DART: C++ physics engine for articulated rigid body dynamics and robotics simulation
  • IKPy: Pure-Python inverse kinematics library that builds chains straight from URDF
  • frax: JAX library for fast, differentiable robot kinematics, dynamics and inverse kinematics

影片

  • Screws: a Geometric Description of Twists in Robotics | Fundamentals of Robotics | Lesson 17: Mecharithm - Robotics and Mechatronics

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