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






审核编辑:刘清

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

    关注

    2525

    文章

    48137

    浏览量

    740255
  • 计算器
    +关注

    关注

    16

    文章

    425

    浏览量

    36518

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

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

收藏 人收藏

    评论

    相关推荐

    求教有关求解姿态问题!

    * recipNorm;q1 = q1 * recipNorm;q2 = q2 * recipNorm;q3 = q3 * recipNorm;我参考网上广泛流传的微分IMU程序,想单纯用陀螺仪来
    发表于 02-14 20:10

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

    与欧拉角之间的转换

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

    关于mpu6050求解的问题

    本帖最后由 234鞋子 于 2017-7-13 20:41 编辑 mpu6050陀螺仪,加速度计输出的数据还算正常,但是更新的就不正常了。我都没有动那个6050,打印的
    发表于 07-13 20:05

    ,卡尔曼资料

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

    请问大轴生成角度是用dmp还是

    请问一下,大轴生成角度是用dmp还是呢,我在网上看了好多别人的程序,看他们都是用的
    发表于 04-12 02:27

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

    之一。由于方向余弦法在对载体姿态动力学求解时会产生歪斜、刻度和漂移误差等,然而,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

    如何使用计算俯仰角和横滚角

    文档ICM20602加速度、角速度姿态解算系列文章目录前言一、原始数据二、法计算角度1.
    发表于 01-11 06:08

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

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

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

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