机器人--欧拉角--旋转矩阵

基础概念

欧拉角的内旋和外旋

旋转矩阵和变换矩阵

欧拉角---->旋转矩阵

转换公式推导

旋转矩阵就是交接确认绕各个轴旋转所得的旋转矩阵相乘之后得到的 的一个3*3的矩阵而已。

我们要推导的案例是 ZYX欧拉角(内旋) 的转换公式:

  • 旋转顺序:先绕Z轴转 rz得到旋转矩阵R_z,再绕Y轴转 ry旋转矩阵R_y,最后绕X轴转 rx旋转矩阵R_x

  • 对应旋转矩阵:R = R_z(rz) * R_y(ry) * R_x(rx)

  • 已知旋转矩阵元素 r11, r12, ..., r33,求 rx, ry, rz

基本旋转矩阵:

复制代码
# 绕X轴旋转rx
R_x(rx) = [1,     0,       0;
           0, cos(rx), -sin(rx);
           0, sin(rx),  cos(rx)]

# 绕Y轴旋转ry  
R_y(ry) = [cos(ry), 0, sin(ry);
              0,    1,    0;
          -sin(ry), 0, cos(ry)]

# 绕Z轴旋转rz
R_z(rz) = [cos(rz), -sin(rz), 0;
           sin(rz),  cos(rz), 0;
               0,       0,    1]

组合旋转矩阵:

R = R_z(rz) * R_y(ry) * R_x(rx)

让我们一步步计算这个乘积。

得到完整的旋转矩阵:

复制代码
R = [r11, r12, r13;
     r21, r22, r23;
     r31, r32, r33]
     
其中:
r11 = cos(rz)*cos(ry)
r12 = cos(rz)*sin(ry)*sin(rx) - sin(rz)*cos(rx)
r13 = cos(rz)*sin(ry)*cos(rx) + sin(rz)*sin(rx)

r21 = sin(rz)*cos(ry)
r22 = sin(rz)*sin(ry)*sin(rx) + cos(rz)*cos(rx)
r23 = sin(rz)*sin(ry)*cos(rx) - cos(rz)*sin(rx)

r31 = -sin(ry)
r32 = cos(ry)*sin(rx)
r33 = cos(ry)*cos(rx)

旋转矩阵--->欧拉角

转换公式推导

旋转矩阵就是交接确认绕各个轴旋转所得的旋转矩阵相乘之后得到的 的一个3*3的矩阵而已,所以得到这个矩阵之后,只需要逆运算就可以算的三个欧拉角。

反向求解欧拉角:

现在我们从矩阵元素反向求解 rx, ry, rz。

1. 求解 ry

从 r31 = -sin(ry) 得:

复制代码
sin(ry) = -r31

但是仅凭这个无法唯一确定 ry,因为 sin(ry) = -r31 有两个解(ry 和 π-ry)。

我们需要更多信息。观察 r11 和 r21:

复制代码
r11 = cos(rz)*cos(ry)
r21 = sin(rz)*cos(ry)

于是:

复制代码
r11² + r21² = cos²(rz)*cos²(ry) + sin²(rz)*cos²(ry)
           = cos²(ry)*(cos²(rz) + sin²(rz))
           = cos²(ry)

所以:

复制代码
cos(ry) = ±√(r11² + r21²)

结合 sin(ry) = -r31,我们可以用 atan2 函数:

复制代码
ry = atan2(-r31, √(r11² + r21²))

这里用 atan2(y, x) 同时考虑了正弦和余弦,给出了正确的象限。

2. 求解 rz

相关推荐
天树星智源20 分钟前
相机轨迹为什么对不上:问题不在控制模块,而在两段噪声不是同一份
论文阅读·机器人·大模型
Wanda12141 小时前
机器人与机电一体化3D数字孪生机器-Day7
人工智能·3d·机器人·数字孪生
茉莉玫瑰花茶3 小时前
线性代数 [ 矩阵与线性变化 ]
线性代数·math·1024程序员节
ergevv3 小时前
如何使用 NIS 判断观测是否可靠:从卡尔曼滤波推导到机器人实践
机器人·卡尔曼滤波·nis·观测可靠性
茉莉玫瑰花茶3 小时前
线性代数 [ 矩阵乘法与线性变换复合的联系 ]
python·线性代数·math
todoitbo14 小时前
在 Ubuntu ARM64 上运行 Q1 V3.0 MuJoCo 模型:加载、步进和单执行器响应
linux·运维·ubuntu·ai·机器人·仿真教程·启元
dghongcheng15 小时前
喷涂机器人品牌推荐:六轴 vs 协作机器人怎么选
机器人·喷涂·喷漆设备·自动喷涂线·自动喷涂
todoitbo16 小时前
Q1 MuJoCo 模型里的 49 项传感器定义与 60 维数据:一次关节和 IMU 输出核验
人工智能·ai·机器人·1024程序员节·启元机器人
SteveSenna19 小时前
aubo学习:启动真实机械臂
机器人
Wanda12141 天前
机器人与机电一体化3D数字孪生机器-Day6
unity·机器人·数字孪生·1024程序员节