什么是扭转(旋量、空间速度)Twist?

扭转​ 是一个六维向量它完整地描述了一个刚体在空间中的瞬时运动状态。它被定义为:

V_r = (ω, v_r)

其中:

  • ω​ 是刚体的角速度向量。它描述了刚体旋转的快慢和方向。

  • v_r​ 是刚体上某一特定参考点r线速度向量

关键解读与要点分析

  1. 如何理解扭转?

    PPT中给出了最直观的解释:一个具有扭转 V_r = (ω, v_r)的刚体,可以理解为正在以线速度 v_r进行平移,同时以角速度 ω绕着一根通过参考点 r的轴进行旋转。这两种运动的叠加就是刚体最一般的运动形式。扭转(Twist)是描述整个刚体运动状态的物理量,它属于整个刚体,而不是刚体上某一个特定的点

为什么会产生“针对某一点”的误解?

混淆通常来源于扭转的定义:Twist = (ω, v)

  • ω(角速度): 这显然是整个刚体的属性。刚体上所有点都共享同一个角速度 ω。

  • v(线速度): 这就是误解的根源!​ 这个 v确实是某个特定点的线速度。但关键在于,这个点是我们为了描述方便而任意选取的一个“参考点”

在定义刚体旋量时,线速度 v和角速度 ω的参考坐标系必须统一。​ 旋量 V=(ω,v)是一个整体描述,其所有分量必须基于同一坐标系表达

刚体旋量 V = (ω, v)中的线速度 v特指“在描述该旋量时所选定的那个参考点”的线速度。计算 v的通用黄金法则是:

v= 所选参考点由于刚体运动而产生的线速度

  • v是谁的速度?​ -> 是那个被选中的参考点的速度。

  • 这个速度是相对于谁的?​ -> 是相对于我们描述问题时默认的固定参考系(通常是世界坐标系)的

结论是:扭转必须包含一个参考点来定义其线速度分量,但扭转所描述的运动状态是属于整个刚体的。

通过图片中的陀螺例子来理解

陀螺的整体运动: 陀螺在绕其对称轴旋转(有角速度 ω),同时其底部支点O可能在地面上滑动(有速度 v_o)。这是一个确定的运动状态。

选择参考点: 为了描述这个运动,我们需要选择一个点来表达线速度。

  • 如果我们选择支点O为参考点: 那么它的线速度 v_o可能是非零的(如果滑动)。此时扭转是 (ω, v_o)

  • 如果我们选择陀螺的质心C为参考点: 那么它的线速度 v_c会与 v_o不同。此时扭转是 (ω, v_c)

  • 关键: 虽然 (ω, v_o)和 (ω, v_c)是两个不同的六维向量,但它们描述的是同一个物理运动!它们之间可以通过严格的数学规则进行转换(公式为 v_c = v_o + ω × oc,其中 oc是从O指向C的向量)

这就证明了,扭转的数值表示依赖于参考点的选择,但它所代表的刚体运动本身是唯一的、独立的

总结与类比

概念

描述对象

是否依赖参考点?

类比

刚体的运动

整个刚体

(客观存在)

车轮在滚动(客观事实)

扭转 (Twist)

整个刚体的运动状态

(其坐标表示依赖参考点)

用不同的描述方式来说这个事实:“车轮质心速度是v_c” 或 “车轮接地点速度是v_o”。描述不同,事实相同。

扭转是针对整个刚体而言的。​ 它是一个六维向量,完整地描述了刚体的瞬时运动(包括移动和转动)。虽然我们在书写它时需要指定一个参考点来确定其线速度分量,但这只是为了数学描述的方便,这个物理量本身刻画的是刚体的整体运动特性

  1. 如何计算刚体上任意点的速度?

    这是扭转最直接的应用一旦知道了刚体的扭转 V_r = (ω, v_r),那么刚体上任意一点 p​ 的线速度都可以通过一个公式计算出来:

    v_p = v_r + ω × r_p

    这里 r_p是从参考点 r指向点 p的向量。这个公式在PPT中被标注为“与坐标无关”,意味着它是一个纯粹的几何关系,不依赖于坐标系的选择

  2. 参考点 r是任意选择的!

    这是扭转的一个强大之处。参考点 r可以是刚体上的任意一点,甚至可以是不在刚体上的空间点。选择不同的参考点 r,得到的线速度 v_r会不同,但整个扭转所描述的刚体运动状态是唯一的不同的扭转之间可以通过严格的数学规则进行转换

  3.  旋量是“物理量”

    幻灯片强调,旋量是一个物理量,就像线速度或角速度一样。

    1. 与坐标系无关:一个刚体的运动(旋量)是客观存在的,不依赖于我们选择哪个坐标系来描述它。

    2. 可在不同坐标系间转换:我们可以将旋量表示在任何坐标系中,也可以为它选择不同的参考点。尽管坐标值会改变,但它描述的物理运动本身是不变的。

扭转在参考系中的坐标表示

  • 引入参考系: 为了进行数值计算,我们需要将扭转 V在一个具体的坐标系(例如 {A})中表示出来。

  • 约定: PPT给出了一个常规做法:选择坐标系 {A}的原点作为表示刚体速度的参考点

    • 这意味着,我们不再讨论抽象的 ν,而是讨论坐标系 {A}的原点 O_A的线速度

  • 坐标表示: 因此,扭转在坐标系 {A}下的坐标表示是一个6维列向量:

默认约定默认情况下,当我们写 A V时,就意味着我们使用的是坐标系原点的线速度,即 

如何计算刚体上任意一点的速度?

这是扭转最直接和重要的应用。一旦知道了刚体在 {A}系中的扭转 ,那么刚体上任意一点 P​ 在 {A}系中的线速度 AvP​可以通过一个简单的公式求出:


其中 Ap是点 P 在 {A}系中的位置坐标。这个公式完美地体现了“平移速度 + 旋转产生的速度”的叠加原理。

详细见上一篇文章

扭转的强大之处:参考点的任意性

虽然PPT约定使用坐标系原点,但参考点可以是任意一点。假设我们选择刚体上另一个点 r作为参考点,其线速度为 ν_r​,那么对应的扭转是 V_r​=(ω,ν_r​)

扭转变换: 不同参考点对应的扭转之间可以通过一个固定的规则进行转换。已知 V_O​=(ω,ν_O​)和点 r相对于原点 O的位置矢量 p_r​,那么点 r的扭转坐标为:

物理等价性: 尽管坐标表示不同(ν_O不等于ν_r​),但它们描述的是同一个刚体运动。计算刚体上任意点的速度,用 V_O​或转换后的 V_r​会得到相同的结果。

复习

要讨论刚体的Velocity 首先要定义刚体的速度 ---什么是刚体的速度 因为刚体上有很多点 刚体上大多数的点速度都不同 要定义刚体的速度到底是定义哪个点的速度 

刚体上点的速度不是独立的 是相关的  而这些点的速度可以用几个参数 parameter common to all points on the body 来表示出来 

在机器人学中的应用

在机器人学中的应用(“举个手臂”的深层含义)

幻灯片中出现的“举个手臂”弹幕,恰恰点出了旋量理论在机器人学中的核心应用。

  • 串联机械臂:机器人的每个连杆都是一个刚体。要描述末端执行器(如手爪)的运动,就是要求解该刚体的旋量。

  • 雅可比矩阵:旋量理论引出了机器人学中至关重要的雅可比矩阵(Jacobian Matrix)。雅可比矩阵建立了关节速度空间与操作空间(末端执行器旋量)之间的线性映射:

    旋量_末端 = J(θ) · 关节角速度

    通过这个公式,我们可以根据期望的末端运动速度,反算出需要控制的每个关节的速度,这是机器人运动规划和控制的基石。

核心思想:从关节空间到任务空间

控制一个机械臂,我们的目标通常是让它的末端执行器(手爪、焊枪等)完成特定的任务,比如以一定速度移动到某个位置。这发生在三维空间(任务空间)。但机器人是通过驱动各个关节(电机)来实现的,这发生在关节空间。旋量是连接这两个空间的桥梁

第一部分:为什么机械臂末端运动是一个“旋量”?

  1. 连杆是刚体: 如PPT所述,一个刚体的运动可以用一个旋量 (ω, v_r)完整描述。机械臂的每一个连杆都可以被视为一个刚体。

  2. 末端执行器的运动: 我们最关心的是最后一个连杆(即末端执行器)的运动。这个运动是一个刚体运动,因此完全可以、且最适合用一个旋量来描述!

    • ω_end: 末端执行器转动的角速度。

    • v_end: 末端执行器上某一点(通常选为其工具中心点)的线速度。

所以,当我们说“让机械臂末端以速度 v直线运动同时以角速度 ω旋转”时,我们实质上就是在指定一个旋量:V_end = [v, ω]^T

第二部分:雅可比矩阵——核心的桥梁

现在的问题是:如何通过控制各个关节的电机的速度,来实现末端执行器期望的旋量?

这个问题的答案就是雅可比矩阵 J(θ)

  1. 雅可比矩阵是什么?

    • 它是一个矩阵,建立了关节速度​ 和末端执行器旋量​ 之间的线性映射关系

    • 它的元素是机器人末端执行器速度关于关节角度的偏导数。

    • 它不是一个常数矩阵,而是随机器人当前构型(即各个关节的角度 θ)变化而变化的,所以写作 J(θ)

  2. 核心数学公式

    V_end = J(θ) * θ̇

    • V_end: 一个6x1的向量,代表末端执行器的旋量​ [v_x, v_y, v_z, ω_x, ω_y, ω_z]^T

    • J(θ): 机器人在当前姿态 θ下的雅可比矩阵(6xN阶,N为关节数)。

    • θ̇: 一个Nx1的向量,代表各个关节的角速度 [θ̇₁, θ̇₂, ..., θ̇_N]^T

    这个公式就是PPT中“对于任何刚体上的点 p,有 v_p = v_r + ω × rp” 这一原理在串联机构上的推广和应用。雅可比矩阵 J(θ)的本质,就是系统性地、自动化地计算每个关节的运动对末端旋量的贡献

第三部分:正运动学与逆运动学问题

基于旋量和雅可比矩阵,我们可以解决机器人学的两个基本问题:

1. 正运动学问题(预测问题)
  • 问题: 已知每个关节的速度 θ̇,求末端执行器的速度(旋量)V_end

  • 解法: 直接代入公式: V_end = J(θ) * θ̇

  • 应用: 仿真、监控机器人运动。

2. 逆运动学问题(控制问题)
  • 问题: 希望末端执行器达到一个期望的速度 V_desired,那么各个关节应该以多快的速度(θ̇)运动?

  • 解法: 求雅可比矩阵的逆(或伪逆): θ̇ = J(θ)⁻¹ * V_desired

  • 应用: 这是机器人实时控制的核心!​ 控制器每秒成千上万次地执行这个计算,根据期望的末端运动,解算出并发送指令给每个关节的电机。

旋量的转换

旋量选取不同的参考点表示出的数值不同 但可进行相互转化 因为旋量是刚体的整体属性

对于frame {A}和frame {B} 有两个不同的旋量

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐