高等机器人控制(六):刚体的扭转(二)
刚体上点的速度不是独立的 是相关的而这些点的速度可以用几个参数 parameter common to all points on the body 来表示出来在机器人学中的应用。

什么是扭转(旋量、空间速度)Twist?
扭转 是一个六维向量,它完整地描述了一个刚体在空间中的瞬时运动状态。它被定义为:
V_r = (ω, v_r)
其中:
-
ω 是刚体的角速度向量。它描述了刚体旋转的快慢和方向。
-
v_r 是刚体上某一特定参考点r的线速度向量
关键解读与要点分析
-
如何理解扭转?
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”。描述不同,事实相同。 |
扭转是针对整个刚体而言的。 它是一个六维向量,完整地描述了刚体的瞬时运动(包括移动和转动)。虽然我们在书写它时需要指定一个参考点来确定其线速度分量,但这只是为了数学描述的方便,这个物理量本身刻画的是刚体的整体运动特性
-
如何计算刚体上任意点的速度?
这是扭转最直接的应用。一旦知道了刚体的扭转
V_r = (ω, v_r),那么刚体上任意一点p 的线速度都可以通过一个公式计算出来:v_p = v_r + ω × r_p
这里
r_p是从参考点r指向点p的向量。这个公式在PPT中被标注为“与坐标无关”,意味着它是一个纯粹的几何关系,不依赖于坐标系的选择 -
参考点
r是任意选择的!这是扭转的一个强大之处。参考点
r可以是刚体上的任意一点,甚至可以是不在刚体上的空间点。选择不同的参考点r,得到的线速度v_r会不同,但整个扭转所描述的刚体运动状态是唯一的。不同的扭转之间可以通过严格的数学规则进行转换 -
旋量是“物理量”
幻灯片强调,旋量是一个物理量,就像线速度或角速度一样。
-
与坐标系无关:一个刚体的运动(旋量)是客观存在的,不依赖于我们选择哪个坐标系来描述它。
-
可在不同坐标系间转换:我们可以将旋量表示在任何坐标系中,也可以为它选择不同的参考点。尽管坐标值会改变,但它描述的物理运动本身是不变的。
-
扭转在参考系中的坐标表示
-
引入参考系: 为了进行数值计算,我们需要将扭转 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(θ) · 关节角速度通过这个公式,我们可以根据期望的末端运动速度,反算出需要控制的每个关节的速度,这是机器人运动规划和控制的基石。
核心思想:从关节空间到任务空间
控制一个机械臂,我们的目标通常是让它的末端执行器(手爪、焊枪等)完成特定的任务,比如以一定速度移动到某个位置。这发生在三维空间(任务空间)。但机器人是通过驱动各个关节(电机)来实现的,这发生在关节空间。旋量是连接这两个空间的桥梁

第一部分:为什么机械臂末端运动是一个“旋量”?
-
连杆是刚体: 如PPT所述,一个刚体的运动可以用一个旋量
(ω, v_r)完整描述。机械臂的每一个连杆都可以被视为一个刚体。 -
末端执行器的运动: 我们最关心的是最后一个连杆(即末端执行器)的运动。这个运动是一个刚体运动,因此完全可以、且最适合用一个旋量来描述!
-
ω_end: 末端执行器转动的角速度。 -
v_end: 末端执行器上某一点(通常选为其工具中心点)的线速度。
-
所以,当我们说“让机械臂末端以速度 v直线运动同时以角速度 ω旋转”时,我们实质上就是在指定一个旋量:V_end = [v, ω]^T。
第二部分:雅可比矩阵——核心的桥梁
现在的问题是:如何通过控制各个关节的电机的速度,来实现末端执行器期望的旋量?
这个问题的答案就是雅可比矩阵 J(θ)。
-
雅可比矩阵是什么?
-
它是一个矩阵,建立了关节速度 和末端执行器旋量 之间的线性映射关系。
-
它的元素是机器人末端执行器速度关于关节角度的偏导数。
-
它不是一个常数矩阵,而是随机器人当前构型(即各个关节的角度
θ)变化而变化的,所以写作J(θ)。
-
-
核心数学公式
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} 有两个不同的旋量


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


所有评论(0)