PART 01
向量定义
在机器人学和计算机图形学中,有两个术语有严格的区分。
RPY 角 (Roll-Pitch-Yaw angles)
方向向量/法向向量 (Direction Vector / Normal Vector)
PART 02
方向向量/法向向量
指表示方向的单位向量,即三维空间中的一个归一化矢量。
n
(法向)就是一个方向向量。
n_x, n_y, n_z
是这个向量的三个分量,即向量在基坐标系 X、Y、Z 轴上的投影。
这种表示也被称为 方向余弦 (Direction Cosines),因为三个分量分别是该向量与三个坐标轴夹角的余弦值。
特点
特性 | 说明 |
|---|---|
定义形式 | 单位向量(n_x, n_y, n_z),满足 n_x2+n_y2+n_z2=1 |
物理意义 | 直接指向空间中的一个具体方向 |
自由度 | 2 个独立自由度(因为是单位向量,三个分量受一个约束) |
唯一性 | 对于一个给定方向,有唯一表示 |
奇异性 | 无奇点 |
直观性 | 可以直接用来做位移:位移 = 距离 × 方向向量 |
用途 | 几何计算、力控、导纳控制、坐标系与基坐标系之间的映射 |
特性 | 说明 |
|---|---|
定义形式 | 三个角度 (roll,pitch,yaw) |
物理意义 | 描述“怎么从基坐标系转到当前姿态”的过程 |
自由度 | 3 个独立参数 |
唯一性 | 不唯一:不同角度组合可表示同一姿态 |
奇异性 | 有万向节死锁:Pitch = ±90° 时,Roll 和 Yaw 自由度为 1 |
直观性 | 不直接;不能直接把角度乘到距离上做位移 |
用途 | 运动插补、用户界面显示、某些轨迹生成 |
PART 03
RPY 角
一种用三个 顺序旋转角度 表示空间姿态的欧拉角约定,RPY 来源于船舶/航空术语,由绕固定轴的旋转序列定义:
通常是地球固定轴按 Z → Y → X 顺序施加旋转。
特点
PART 04
区别对比
比较维度 | RPY 角 | 法向向量 n_xy |
|---|---|---|
表达什么 | 姿态本身的“旋转过程” | 某个轴的“最终方向” |
参数数量 | 3 | 3 个分量,2 个独立自由度 |
是否可直接用于位移 | 否 | 是(直接乘以距离) |
是否有奇异 | 有(Pitch=±90°) | 无 |
唯一性 | 差(同一姿态无数种表示) | 好(唯一方向) |
语义清晰度 | 依赖位姿序列定义 | 几何上唯一且不变 |
RPY 和法向向量 n的关系
RPY是“过程的描述”,法向向量是“结果”。
形式 | 含义 | 特点 |
|---|---|---|
RPY 角度 | 描述“为了得到这个姿态,基坐标系按什么顺序旋转了多少度” | 三个数、有顺序依赖、不直观 |
法向向量 n | 描述“末端工具的 Z 轴最终指向哪里” | 一个方向向量、直接可用、无顺序歧义 |
数学关系: 给定一个旋转矩阵 R,可以用 RPY 序列表达它的旋转过程,反过来,给定 RPY 角度,可以计算出旋转矩阵。
而法向向量 n 就是旋转矩阵的 第三列 :

无论旋转用欧拉角、四元数还是其他方式表示, 法向向量是唯一的 ,它是姿态的最终结果。
例: 末端先偏航 30°,再俯仰 45°。
RPY 变化 ⇒ 旋转矩阵变化 ⇒ 法向向量随之变化。 RPY 里的“pitch”好像和法向关系紧密,但实际上法向方向同时受 yaw、pitch 甚至 roll 的影响 。
PART 05
末端姿态表达
用法向向量 n,不能用 RPY 角度直接作方向向量

理由有两点:
而 n是数值唯一的物理方向,绕过所有这些麻烦。
具体使用方法
在控制循环的第一步,做完正运动学后 不要用欧拉角 ,而是直接取旋转矩阵的第三列:
R = forward_kinematics(q) # 得到 3x3 旋转矩阵
n = R[:, 2] # 取第三列 → 工具 Z 轴方向
n = n / norm(n) # 保证单位向量然后用它合成位移:
delta_p = delta_x * t_x + delta_y * t_y + delta_z * n这里 tx 、 ty 分别是旋转矩阵的第一列和第二列(切向), n是法向。
PART 06
总结
RPY 只是计算中间的过渡产物,不适合直接用于控制。
从正运动学得到旋转矩阵后, 立即提取它的三个列向量作为工具坐标系的方向基 。
法向控制用第三列 n,切向控制用第一、二列 tx,ty 。