0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

四元数转方向余弦矩阵介绍

zhc135136 来源:SmartHWFW 2023-07-17 10:34 次阅读

2.1 欧拉定理

欧拉定理是刚体定点转动理论中的一个重要定理,它表明刚体绕固定点的任何位移都可以通过绕通过此点的某一轴转过一个角度来实现。在单位时间间隔Δt内,假设刚体的角速度为ω,则该转动轴的方向e及绕该轴转过的角度φ分别为:e = ω/|ω|,φ = |ω|Δt。

c36f2ed8-232b-11ee-962d-dac502259ad0.png

相应四元数表示式为:

c386ef78-232b-11ee-962d-dac502259ad0.png

满足约束条件

c398112c-232b-11ee-962d-dac502259ad0.png

以超复数形式表示有:

c3a56188-232b-11ee-962d-dac502259ad0.png

满足约束条件

c3b1d828-232b-11ee-962d-dac502259ad0.png

利用三角公式:

c3c23c86-232b-11ee-962d-dac502259ad0.png

可将四元数转化成姿态矩阵 b系到R系

c3d1e726-232b-11ee-962d-dac502259ad0.png

可将四元数转化成姿态矩阵 R系到b系

c3de3a26-232b-11ee-962d-dac502259ad0.png

Tips:R系是一种用于描述空间中点位置的导航坐标系,其中的坐标值表示相对于地球的位置。b系是一种用于描述载体(例如航空器、船舶等)位置的坐标系,其中的坐标值表示相对于载体的位置。

3. Matlabe四元数转方向余弦矩阵

API

function[y1,...,yN]=myfun(x1,...,xM)声明名为myfun的函数,该函数接受输入x1,...,xM并返回输出y1,...,yN

q2mat(),qua2dcm(),quat2dcm()将四元数转换矩阵

c3f7fb64-232b-11ee-962d-dac502259ad0.png

c4163f98-232b-11ee-962d-dac502259ad0.png

4.C语言实现四元数转方向余弦矩阵

基于 QMI8658 姿态传感器实现四元数转换为方向余弦矩阵的过程如下:

STEP1: 根据传感器获取到的四元数数据,我们可以得到四元数的四个分量:q0、q1、q2、q3。

STEP2: 我们可以根据四元数的定义,将其转换为方向余弦矩阵。具体的转换公式如下:

| C11  C12  C13 |
| C21  C22  C23 |
| C31  C32  C33 |
其中,C11、C12、C13、C21、C22、C23、C31、C32、C33 
分别表示方向余弦矩阵的九个元素。

STEP3: 我们可以通过串口将获取到的四元数和方向余弦矩阵输出。

以下是基于 QMI8658 姿态传感器获取到的静止放置在水平面,Z轴向上的四元数和方向余弦矩阵数据:

c42dc1f4-232b-11ee-962d-dac502259ad0.png

我可以使用Wolfram Alpha计算器进行计算和校验,并给出结果。

c443ad34-232b-11ee-962d-dac502259ad0.png






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2549

    文章

    50836

    浏览量

    752452
  • 计算器
    +关注

    关注

    16

    文章

    437

    浏览量

    37305

原文标题:MEMS_惯性传感器程序集01-四元数转方向余弦矩阵

文章出处:【微信号:SmartHWFW,微信公众号:SmartHWFW】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    书,自行下载
    发表于 08-17 12:08

    与欧拉角之间的转换

    与欧拉角之间的转换
    发表于 08-17 12:08

    ,卡尔曼资料

    本帖最后由 大肠经 于 2017-7-17 14:34 编辑 ,卡尔曼资料,我总结的,希望对大家有帮助,含关键代码
    发表于 07-17 14:30

    经典干货:无人机解算姿态角解析

    之一。由于方向余弦法在对载体姿态动力学求解时会产生歪斜、刻度和漂移误差等,然而,SINS 中在进行姿态求解时估计出这些误差是很重要的。与方向余弦法相比,
    发表于 06-11 08:30

    更新算法问题

    我采用的算法计算欧拉角,板子上的数据通过串口保存下来在在matlab上计算的,结果如附件,横轴是时间,纵轴是姿态角,三个依次是pit rol和yaw,我是测试的时候将器件晃动了
    发表于 06-21 04:37

    请问我用欧拉角造成的这些问题该怎么解决?

    我用欧拉角的时候出现了一些问题。我是按偏航,俯仰,横滚的顺序解算的,动作是三个轴依次360°。根据
    发表于 06-26 04:37

    【案例分享】轴飞行器6050六轴传感器软件姿态解算

    描述的方向余弦矩阵描述则为:所以在软件解算中,我们要首先把加速度计采集到的值(三维向量)
    发表于 07-11 06:00

    飞控示意附图

    ``飞控示意附图如下:飞控逻辑框图,轴机飞控实况1,多旋翼机1飞控方位向量,轴机飞控实况1,飞控示意2大湾区2020-8-4``
    发表于 08-04 09:20

    姿态解算需要频繁组合旋转和用旋转变换向量

    一、、欧拉角、方向余弦阵在姿态解算中使用姿态角是由旋转产生的,一般旋转有4种表示方式:方向
    发表于 08-17 06:28

    请问MotionFX库中的是如何排序的?

    我正在研究 MotionFX 库,我想了解 MotionFX 库以什么顺序给出。阅读手册,我知道 MotionFX 可以计算:旋转、
    发表于 12-09 08:36

    旋转矩阵、欧拉角比较

    MPU的旋转矩阵 欧拉角比较,能够帮助新手了解三者的不同之处
    发表于 12-08 11:41 55次下载

    采用余弦相似度的习俗非负矩阵分解算法

    算法的性能同时,为了降低各特征之间的关联,强化非负矩阵分解模型特征的独立性,引入了余弦相似度,提出了基于余弦相似度的稀疏非负矩阵分解算法。该算法在处理高维数据和提取特征方面具有显著优势
    发表于 05-08 16:06 7次下载

    MPU6050的解算姿态方法

    使用MPU6050硬件DMP解算姿态是非常简单的,下面介绍由三轴陀螺仪和加速度计的值来使用软件解算姿态的方法。我们先来看看如何用欧拉角描述一次平面旋转(坐标变换):MPU6050
    发表于 12-06 12:36 24次下载
    MPU6050的<b class='flag-5'>四</b><b class='flag-5'>元</b><b class='flag-5'>数</b>解算姿态方法

    C语言实现欧拉角

    介绍以下内容之前,我们假设读者已经对复数与2D旋转、3D空间中的旋转、的性质以及
    的头像 发表于 08-07 09:57 1379次阅读
    C语言实现欧拉角<b class='flag-5'>转</b><b class='flag-5'>四</b><b class='flag-5'>元</b><b class='flag-5'>数</b>

    MSP430F5xx系列上使用方向余弦矩阵算法的九轴传感器融合

    电子发烧友网站提供《MSP430F5xx系列上使用方向余弦矩阵算法的九轴传感器融合.pdf》资料免费下载
    发表于 10-18 10:40 0次下载
    MSP430F5xx系列上使用<b class='flag-5'>方向</b><b class='flag-5'>余弦</b><b class='flag-5'>矩阵</b>算法的九轴传感器融合