更多无人机知识请关注同名公众号无人机系统技术

1 前言

上一篇讲到了欧拉角表示姿态时会遇到万向锁的问题,这就导致同一种空间状态欧拉角的表示方式不唯一,当出现万向锁现象时,同一种旋转有无数种欧拉角表示形式,从而导致了欧拉角差值时出现问题,因为当你俯仰角接近90°时,两组千差万别的欧拉角表示可以是同一种旋转。所以为了解决这些问题,数学上想出了用四元数的形式来表征姿态的方法。

2 四元数由来

四元数是由爱尔兰数学家Hamilton发明的,是发明的不是发现的,数学上的很多东西跟物理不一样,它不一定是事物的发展规律,它有时候就是数学家们凭空想象出来的东西,有可能这个东西诞生以后就没有人再用过,也有可能过了很多年,有人发现这个理论可以解释很多现象,或者这个理论可以用来分析很多无法用现有知识解释的现象。所以,大家平常没事做的时候可以天马行空,头脑风暴一下,记得把你想到的东西记下来,没准几百年以后就会有用你名字命名的理论存在了。

回到四元数上来,对于导航飞控的算法,我们需要对四元数有什么了解,其实很简单,我们要知道它的基本运算规律,要知道它以什么样的方式表征姿态,要知道它跟其他两个表征姿态的欧拉角和旋转矩阵方式如何互相转换。除此之外,还有后续如何使用四元数进行建模和控制律设计,如何在导航算法中得到四元数的状态,这些在以后的篇幅中会进行解释,今天,我们就来看看上面几个问题是怎么解决的。

3 基本运算规律

四元数是由1个实数加上3个复数组合而成,通常可以表示成w+xi+yj+zk或者(w,(x,y,z)),其中w、x、y、z都是实数,而i^2 = j^2 =k^2 = -1, i^0 = j^0 = k^0 = 1。那对于四元数的运算法则,我们要清楚的有以下几个,假设有两个四元数分别为q1=(w1,(x1,y1,z1))和q2=(w2,(x2,y2,z2)),令v1 = (x1,y1,z1),v2= (x2,y2,z2),则

4 四元数的姿态表示

了解了四元数的基本运算规律后,我们来看下它如何表征姿态,假设存在一根旋转轴u,有一个绕u轴旋转σ角度的这么一个旋转存在,那这时候代表这个旋转的四元数是这样子的:

其中u是旋转轴的单位向量,q是一个单位四元数。

那上述这个四元数有什么用呢,它对任何向量施加以下算子运算后可以得到该向量绕u轴旋转σ角度后的向量:

至于为什么会有这个结果,我们这儿就不展开证明了,思路就是你要证明v和w之间的夹角是σ就行,证明的事情交给数学家们去做,我们只需要知道四元数这么写可以用来表征姿态,其实是表征旋转关系,跟旋转矩阵的表示方法类似,只不过它只需要4个元素,而旋转矩阵需要9个元素。

5 欧拉角、旋转矩阵、四元数:

四元数转旋转矩阵:

利用罗德里格斯公式即可:

旋转矩阵转四元数:

已知旋转矩阵:

则四元数为:

欧拉角转四元数:

已知欧拉角:α、β、γ

四元数为:

四元数转欧拉角:

已知四元数:

欧拉角为:

但是当β角度为90度时,四元数反向计算欧拉角时会出现奇点,是无法计算的。因为这时候简化后的四元数是这样的:

所以atan2中后面那一项就变成了0:

这时候我们通常令α=0,然后解出欧拉角的值。

6 总结

到这里基本上欧拉角、旋转矩阵、四元数的关系就说清楚了,对于四元数,我们不需要去想象它是怎么旋转的,我们只需要知道它是怎么表征姿态的,后续会告诉你们它是如何进行建模和状态估计的,这就足够了,那我们来总结一下这三种方法各自的优缺点:

  1. 欧拉角:非常直观,我们可以很容易理解它的意思,也能想象出对应的空间位置,但是存在万向锁现象,导致后面有很多数学问题。
  2. 旋转矩阵:其实旋转矩阵和欧拉角是一个意思,欧拉角就是旋转矩阵,旋转矩阵在一定意义上就是欧拉角,旋转矩阵有9个元素,计算繁杂,而且也不直观。
  3. 四元数:没有奇点,能表征任何旋转关系,而且表示简单,只有四个元素,计算量小,但是不直观。

更多无人机知识请关注同名公众号无人机系统技术

origin柱状图同时有两组数和两组数差值_简单搞定四元数相关推荐

  1. 两次结果的绝对差值_多图示例:如何呈现论文结果中的各种图表

    本文根据<Journal of the American College of Cardiology>上曾发表的一篇文章<Making Sense of Statistics in ...

  2. 为什么连续申请的两个 int 型变量的地址差值为 12 而不是 4 ?

    @time 2019-07-20 @author Ruo_Xiao 举栗说明,不同的编译方式结果不一样. #include <iostream>int main() {int i;int ...

  3. 两次结果的绝对差值_你知道电子天平的检定和检定结果的影响因素有哪些吗?...

    插播个小故事: 某天一位朋友的用户对朋友说要买一台天平,制定的URS太"猖狂"没有能满足的天平,朋友硬着头皮报了一个型号,鞋子和脚不匹配,穿鞋的果然来找卖鞋子的: 用户要买量程11 ...

  4. wpf datagrid 计算两个列的差值_天体到达指定方位角的时间计算

    接上一篇天体的升起.中天.落下时间 - 且听风吟的文章 - 知乎,天体的升起落下和中天是满足一些特殊条件,对于一般情况,如指定一个方位角,要求其到达的时间,我们也可以计算出来. 可以先判断一个天体的方 ...

  5. 两寸照片电子版怎么弄?教你一分钟搞定

    怎么把证件照尺寸修改成两寸电子版呢?证件照大家在很多地方都会用得到,可以说是我们必不可少的一种证件,但是在使用的过程中也会遇到很多问题,例如证件照的背景色与要求不符,又或者是证件照的尺寸或者格式不符合 ...

  6. 举例说明层次分析的三大原则_《搞定》一个境界、两个维度、三大原则让你轻松搞定繁重的事务...

    文/定石 不知道,你现在是不是还是这种情况,要做的事情一大堆,单位的事情要忙,家里的事情要忙,孩子的事情要忙,父母的事情要忙.各种各样的事情,好像都急,干着这个,想着那个,另一个还放在心上不踏实,整体 ...

  7. 吃串串,数签签,这个 AI 神器一秒搞定

    来源:PaperWeekly本文约1700字,建议阅读5分钟 本文为你介绍一款小程序"AI数签神器". Make AI everywhere 不只是工程师的一句口号,如今,AI不光 ...

  8. 吃串串,数签签,这个AI神器一秒搞定

    Make AI everywhere 不只是工程师的一句口号,如今,AI 不光已经在金融.医疗.工业等行业取得了令人惊叹的表现,它还深入到了日常生活的方方面面. 国庆去哪旅游还没定下来,打开电脑,出行 ...

  9. 两个PDF比较标出差异_轻松搞定PDF格式转换

    PDF是我们最常用的文件类型,它是由Adobe公司发明的文件格式,是 Portable Document Format的缩写,意为"便携文档格式".由于PDF的格式稳定,无论是在安 ...

  10. 93没有了_93平旧两居大变身,二手房这样装修10万块搞定

    这是一套比较特殊的二手房装修案例,因为房子之前是作为办公室工作使用,十年前找熟人装修的,实地去测量的时候发现很多问题.由于新业主是年轻人,风格上选择了北欧风,兼具性价比和颜值. 面积:93平 风格:北 ...

最新文章

  1. 节能信标无线感应定位测试:200kHz
  2. 量化策略研究员 - 工具篇
  3. C语言OJ项目参考(2399)求倒数和
  4. Word画线条5大技巧,简单实用!
  5. sqlyog设置自动补全_sqlyog智能提示如何设置?sqlyog智能提示设置流程介绍
  6. 关于module require的学习
  7. 关于https工程的nginx简单配置
  8. 20190602:JDBC的增删改操作实践
  9. java函数式 new_Java函数式编程-4.lambda表达式一些高级用法
  10. 基于C语言实现的遗传算法系统
  11. bat脚本重启tomcat
  12. sudo chmod 755 ....指令分析
  13. 前端实现base64解码编码
  14. 印刷厂ERP系统源码
  15. 复购率/回购率/新购人数
  16. 【SLAM】2019浙大SLAM暑期学校--刘浩敏《集束调整》学习记录
  17. 带你快速看完9.8分神作《Effective Java》—— 序列化篇(所有RPC框架的基石)
  18. 系统分析师考试论文案例集
  19. 个人作业二-软件案例分析
  20. 请收下!春节聚会装B指南!附研习社工作汇报(2020)

热门文章

  1. MT6573 android 系统默认语言处理流程
  2. 安卓h5 微信 字体大小影响h5样式bug
  3. 接近开关NPN和PNP区别
  4. 2022-2027年中国OLED行业市场调研及未来发展趋势预测报告
  5. 中国新型显示产业竞争格局与发展规模预测报告2022版
  6. 交换机的工作原理是什么,它有什么功能与作用?
  7. 如何实现手机注册验证
  8. 传奇源码分析-服务器端
  9. 如何将Kali Linux中的Firefox浏览器语言设置为中文
  10. 将 Word 转换为 Markdown格式【详细版本】2022.5.6