四轴飞行器姿态解算预备知识_四轴运动模拟器姿态解算-程序员宅基地

其实我觉得要说四轴的姿态,我们必须说几样东西。
(1)坐标系
(2)方向余弦矩阵
(3)欧拉角
(4)四元数
对上面这四样东西有了初步的理解,就可以开始看IMU的飞控解算程序了。
其实我刚刚接触四轴的时候我没明白为什么四轴里面一会来个地理坐标系,一会来个机体坐标系。搞这么多坐标系干什么用的。后来在秦永元的书里面说了,由于运动的相对性,当我们研究一个运动对象的时候我们必须指明是相对哪个坐标系运动的。因此,针对不同的研究对象和具体任务,正确的选取不同的坐标系是十分必要的,这也是一种默认的习惯。
那么四轴是否就能够看做一个机体坐标系,而我们四轴在三维空间中的运动是不是就把它看做是相对于地理坐标系在运动。正是由于有这样一个关系在里面我们才会引入方向余弦矩阵,四元数。这些听起来高大上的名字其实说穿了只是用来表示坐标系之间的旋转。

有了上面对于坐标系的铺垫,下面我们在谈谈方向余弦矩阵。说这个东西必须拿出一幅图
这里写图片描述

假设为参考坐标系,为机体坐标系,初始时刻两个坐标系重合,经过绕轴旋转度,绕轴旋转度,最后绕轴旋转度后转到它的新位置OXYZ,我们叫这三次小角度转动为欧拉角。其实所谓的欧拉角就是刚体绕坐标轴旋转的角度。
(1)绕轴旋转的方向余弦矩阵为
这里写图片描述
(2)绕轴旋转的方向余弦矩阵为
这里写图片描述
(3)绕轴旋转的方向余弦矩阵为
这里写图片描述
最后我们可以知道为参考坐标系经过的旋转可以转到XYX坐标系。
这里写图片描述

通过上面的一些描述我们就可以对方向余弦矩阵做一个总结。
方向余弦矩阵:这是对于坐标系之间相对转动的一种数学描述。
例如两个重合的坐标系,当一个坐标系相对另外一个坐标系做一次或者多次旋转以后得到另外一个新的坐标系,前者一般叫做固定坐标系,后者叫做动坐标系。而它们之间的这种转动关系就可以用方向余弦矩阵来表示。

上面把方向余弦矩阵和欧拉角的概念都说了,最后我们在谈谈四元数。
一直在说四元数这个东西,对于没有接触过的人这个概念可能有点陌生,下面我就为大家通俗的介绍这个东东。
先来点官方的概念介绍
根据秦永元惯性导航书本上面的知识
(1)四元数的数学定义
顾名思义,四元数就是由四个元构成的数:这里写图片描述

其中,,q1,q2,q3都是实数,i,j,k均是相互正交的单位向量。
(2)四元数在四轴中的表达方式
这里写图片描述

我们把上面这种表示方式称为特征四元数,其范数
,在四轴或者导航中所遇到的四元数均为特征四元数,在相关文献中,统称为四元数,不再另加说明。

好了,四元数的基本数学概念有了就行了,下面我们来说说四元数用来干什么,其实四元数的本质仍然表示的是坐标变换。它和我们上面介绍的方向余弦矩阵本质上说的是同一个东西。
这里写图片描述

同样的图我们用四元数来表示上面这个坐标系的旋转,可以用如下公式来表示
这里写图片描述

通过将上面的方向余弦矩阵和这里的四元数矩阵相互比较就可以求出欧拉角。

今天是第一次在CSDN上面发博客,如果有什么理解或者写的不对的,请大家多多指正。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ggggg12345678/article/details/46476191

智能推荐

java.lang.NoSuchMethodError: org.springframework.core.annotation.AnnotationUtils.isInJavaLangAnnotat_caused by: java.lang.nosuchmethoderror: org.spring-程序员宅基地

文章浏览阅读1.4w次。最近在做spring框架练习时,遇到启动程序报错,摘取部分片段如下:Caused by: java.lang.NoSuchMethodError: org.springframework.core.annotation.AnnotationUtils.isInJavaLangAnnotationPackage(Ljava/lang/annotation/Annotation;)Z at o..._caused by: java.lang.nosuchmethoderror: org.springframework.core.annotation.

大数据开发需要学习哪些编程语言_大数据开发语言-程序员宅基地

文章浏览阅读6.5k次。大数据开发需要学什么编程语言?随着大数据的持续升温,越来越多的人投身于大数据的浪潮之中,不少完全没基础的小伙伴,难免会有这样的疑问,从事大数据需要学习什么编程语言呢?其实这个问题没有固定的答案,像Python、R、Java和Scala都是很好的选择,大家可以根据自身的实际情况进行选择1、Python一般的数据科学家都会选择Python作为大数据语言的首选。一直以来,Python流行于学术界,在自然语言处理(NLP)等领域尤其如此。所以,当有一个需要NLP处理的项目时,就会面临数量多得让人眼花缭乱的选_大数据开发语言

Python读取文件内容-程序员宅基地

文章浏览阅读3.5w次,点赞23次,收藏125次。Python 读取文件内容_python读取文件内容

港科夜闻|香港科大举办网上招生说明会,详细解读招生政策。-程序员宅基地

文章浏览阅读189次。关注并星标每周阅读港科夜闻建立新视野 开启新思维/近日要闻一览/▼1、香港科大举办网上招生说明会,详细解读招生政策。招生说明会邀请了香港科大本科招生办主任和学生大使担任讲者,为有兴趣入读...

【Linux】bash: /home/stefan/jdk1.7.0_55/bin/java: /lib/ld-linux.so.2: bad ELF interpreter_-bash: /home/rootplace/jdk8/bin/java: /lib/ld-linu-程序员宅基地

文章浏览阅读215次。今天在linux系统中配置jdk的时候,配置完成之后提示bash: /home/stefan/jdk1.7.0_55/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory后来感觉可能只因为之前卸载yum导致的问题,因为我在另外一个虚拟机中也是这么配置的于是搜了一下问题,执行如下命令即可yu..._-bash: /home/rootplace/jdk8/bin/java: /lib/ld-linux.so.2: bad elf interpreter: 没有那个文件或目录

高级SQL优化(一) -程序员宅基地

文章浏览阅读319次。目录:Oracle数据完整性和锁机制 索引及优化之表分析 表分析、约束及表间关系 Oracle体系结构1Oracle体系结构2 海量数据库及分区1 海量数据库及分区2 海量数据库及分区3 海量数据库及分区4 高级SQL优化(一) PPT和源码下载: http://sishuok.com/forum/posts/list/6..._高级sql优化

随便推点

Editor_Selection,MenuItem学习02_editor.selection-程序员宅基地

文章浏览阅读305次。//也就选中的物体public class Editor_Selection{/* 1.选中的物体(可操作)2.使用快捷键操作3.选中右击添加组体,要先判断是否有此组件4.MenuItem最二个参数的用法 **/ [MenuItem("EditTools/selection1")] static void SelectionObj() { i_editor.selection

更新版:软件测试菜鸟入门_软件测试在哪更新-程序员宅基地

文章浏览阅读2.5k次,点赞16次,收藏92次。改版前链接:https://weltest.blog.csdn.net/article/details/79847217前言​ 随着技术的发展,各种应用程序、各种App应运而生!在早期,这些应用程序只是通过开发人员、产品以及部分用户使用之后,给出相应的修改意见,感觉都OK后就进行上线,在网上或一些app下载平台上就可以直接使用,没有进行过规范的软件测试!这些软件或多或少会存在一些bug,这些bug有可能是功能上、兼容性、性能等各方面的问题!为了改善软件质量不高的问题,软件测试这门行业才开始受到重视!软件_软件测试在哪更新

SpringBoot保存数据库中文乱码以及输出json乱码_springboot保存中文到数据库乱码-程序员宅基地

文章浏览阅读811次。首先第一个,保存数据库乱码,凡是保存到中文字符的地方都出现乱码,一堆???看不懂的文字,这时候需要检查三个地方,第一检查链接数据库驱动配置是否配置了utf-8url: jdbc:mysql://localhost:3306/sell?characterEncoding=utf-8&useSSL=false第二检查数据库属性,当时创建数据库时是否是utf-8的编码第三若..._springboot保存中文到数据库乱码

Objective-C 类别使用_objective-c 类别shiyong-程序员宅基地

文章浏览阅读387次。Objective-C 类别使用_objective-c 类别shiyong

js 写入图片Exif信息piexifjs-程序员宅基地

文章浏览阅读3.2k次。SamplesInsert Exif into jpegfunction handleFileSelect(evt) { var file = evt.target.files[0]; var zeroth = {}; var exif = {}; var gps = {}; zeroth[piexif.ImageIFD.Ma_piexifjs

设计模式——命令模式实现撤销_软件设计模式命令模式撤销实验的实现-程序员宅基地

文章浏览阅读1k次。总结一下工作中用到的这个设计模式,,看了下大话设计模式里好像也有这个,,以后看到了在完善吧,,现在这个是项目要求实现一个撤销功能,就跟我说用命令模式写就行~听简单的~QAQ然后看了很多关于命令模式的博客,感觉我写的应该差不多吧,,应该没有理解错,直接放代码public class 命令模式 : MonoBehaviour{ CommandManager comdMag = new CommandManager(); public int TestValue = 0; // Start is_软件设计模式命令模式撤销实验的实现

推荐文章

热门文章

相关标签