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

基础概念

欧拉角的内旋和外旋

旋转矩阵和变换矩阵

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

转换公式推导

旋转矩阵就是交接确认绕各个轴旋转所得的旋转矩阵相乘之后得到的 的一个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)。

我们需要更多信息。观察 r11r21

复制代码
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

相关推荐
沫儿笙7 小时前
弧焊机器人保护气智能节气阀
人工智能·机器人
暂未成功人士!8 小时前
简单了解李群和李代数的相关概念以及典型应用
人工智能·机器人·slam·姿态·李群李代数
GOWIN革文品牌咨询9 小时前
人形机器人企业如何统一发布会、路演PPT和官网的品牌表达
人工智能·机器人·b2b品牌战略·b2b品牌定位·b2b品牌全案·b2b品牌营销·工业软件品牌升级
The moon forgets10 小时前
跨本体机器人学习:人类运动解码通用物理交互
学习·机器人·交互·具身智能·vla
hujinyuan2016010 小时前
2025年12月中国电子学会青少年机器人技术等级考试试卷(四级) 真题+答案
算法·机器人
hai31524754310 小时前
九章编程法 · HTTP转发代理网关【终极完美版·矩阵步进交换】
人工智能·网络协议·线性代数·http·矩阵·极限编程
工业机器人销售服务12 小时前
伯朗特铸铁工件自动清渣打磨,去除铸造残渣,提升工件后续加工精度
机器人·自动化
HKUST_13 小时前
香港科技大学(广州)机器人与自主系统学域(ROAS)夏令营招募
机器人·夏令营·研究生·香港科技大学广州·博士·暑假·奖学金
m0_3801671413 小时前
Crypto API 使用场景:交易机器人、看板、预警与风险系统
ai·机器人·区块链
Bode_200213 小时前
离散制造系统中自动化底座的主要软件品牌
运维·机器人·自动化·制造