GNSS/INS组合导航(1)-- 姿态矩阵
对于开始接触惯性导航的人来说,姿态矩阵是必经之路。我在开始学习惯导的过程中,只是用姿态矩阵,但没具体去研究其对应欧拉角旋转方式,最近把自己绕晕了,所以推导完后记录一下自己对欧拉角与旋转矩阵理解,重点针对自己以往忽视的地方,防止再次遗忘,所以全文可能不会很通顺。在讲姿态矩阵之前,需要先了解一下姿态的基础知识。常用的姿态表示有三种形式:欧拉角、旋转矩阵、四元数,下图来自百度百科,分别表示了飞机的横滚角、俯仰角与偏航角,这就是欧拉角所表示的姿态,将三个欧拉角按照一定的顺序旋转,就可以将一个坐标系下的坐标变换到对应的另一个坐标系下。但是,欧拉角存在万向节死锁问题(详见欧拉角万向节死锁 - 知乎),所以,很多时候会用三维旋转矩阵或者四元数来代替欧拉角进行计算,这也意味着它们之间是可以相互转换的。
欧拉角是由Leonhard Euler 提出的概念,用来描述刚体/移动坐标系在一个固定坐标系中的姿态.简单的说是使用XYZ三个轴的旋转分量,来描述一个6自由度的旋转。
欧拉角一般具有两大类表示方式,每类按照旋转次序的不同分为6小类:
Proper Euler angles (z-x-z, x-y-x, y-z-y, z-y-z, x-z-x, y-x-y)
Tait–Bryan angles (x-y-z, y-z-x, z-x-y, x-z-y, z-y-x, y-x-z).
每个大类都使用了3个变量描述三次旋转过程中的旋转角度,差别在于Proper Euler angles只涉及两个转轴,而Tait–Bryan angles涉及三个转轴。一般在导航中用的的是Tait–Bryan angles,这种旋转方式对应的三个轴的转角也就是我们上文所提及的姿态角:横滚角、俯仰角与偏航角。
除了旋转顺序,欧拉角的旋转还需要注意的是旋转方式,即内旋和外旋。如下图所示,两行都是按照Z-Y顺序旋转,不同的是上面一行的第二次旋转是按照旋转之后的Y轴旋转,而下面一行是按照绕Z轴旋转之前的Y轴进行的旋转,所以,上面一行的旋转被称为内旋(按照坐标系自己的轴向旋转),而下面则被称为外旋(按照参考坐标系的轴向旋转)。
这样,按照旋转角,旋转顺序,旋转方式便能确定一组欧拉角的旋转。
关于旋转角与旋转矩阵的对应关系,需要注意的是坐标旋转和坐标系旋转的区别,两个矩阵互为转置,一定要搞明白坐标旋转与坐标系旋转的区别_https://github.com/heatMa-CSDN博客_坐标旋转写的比较清楚,这里直接给出二维坐标系的旋转矩阵:
该矩阵表示坐标系a顺时针旋转得到坐标系b。将之拓展至三维坐标系下,可以得到对于右手坐标系的三维旋转矩阵:
(1)绕X轴顺时针旋转角
(2)绕Y轴顺时针旋转角
(3)绕Z轴顺时针旋转角
上述旋转矩阵中,同样是顺时针旋转,Y轴的旋转矩阵与X、Z轴不同,有兴趣的读者可以自己旋转一下,看看为什么不同。将三个旋转矩阵按照Z-Y-X的顺序进行连乘,就可以得到三维坐标系的最终旋转矩阵:
在惯性导航中,姿态角就是n系旋转到b系的角度。按照上文求取旋转矩阵的方法,现有姿态角,,,将n系按照Z-Y-X轴旋转顺序,内旋 、、,即可得到n系到b系的旋转矩阵。该矩阵即惯性导航中定义的姿态矩阵,该矩阵对应姿态角( ,, )(有些学者会将该矩阵的转置矩阵记作姿态矩阵)。 已知n系下的姿态角,b系到n系的旋转则是按照X-Y-Z轴分别旋转()。
在载体运动过程中,b系固联于载体,所以b系是不断变化的,而n系是不变的,所以,通过矩阵就可以惯导测得的b系下运动变化量转换到n系下,从而得到导航所需要的n系坐标和速度。
参考:
[1]百度百科-欧拉角
[2]严恭敏. 捷联惯导算法及车载组合导航系统研究[D]. 西北工业大学.
[3]欧拉角细节/旋转顺序/内旋外旋 - 知乎
GNSS/INS组合导航(1)-- 姿态矩阵相关推荐
- 关于GNSS/INS组合导航开源软件GINav
GINav 理论资料 参考<GNSS/INS组合导航软件开发> <组合导航从入门到精通>--1 绪论 <组合导航从入门到精通>--2 高精度GNSS定位模型 < ...
- GNSS/INS组合导航实习面试
GNSS/INS组合导航面试 美团无人机.云创智行.阿里达摩院.图森蔚来组合导航.来牟创新. 腾讯地图出行事业部.百度地图 持续更新 文章目录 GNSS/INS组合导航面试 1.GNSS方面的问题 模 ...
- GNSS/INS组合导航笔记
文章目录 问题1:不可交换误差 问题2:划桨运动 问题3:关于卡尔曼滤波器效果判断(INS/GPS) 问题4:失准角理解 问题5:关于feedback反馈矫正 问题6:组合导航精度结果主要依赖于GNS ...
- GNSS/INS组合导航(八):INS/GPS组合导航
INS/GPS组合导航 对比INS与GPS导航方法,二者都有其各自的优缺点. 惯性导航系统INS是一种全自主的导航系统,可以输出超过200Hz的高频信号,并且具有较高的短期测量精度.除了提供位置与速度 ...
- GNSS/INS组合导航学习-GINAV(一)
从今天开始整理一下,最近半年学习的组合导航算法 目前开源程序 1.严老师PSINS工具箱 (MATLAB--卡尔曼滤波算法) 2.GINAV (MATLAB--卡尔曼滤波算法 ) 3.KF-GINS ...
- GNSS/INS组合导航(七):卡尔曼滤波
Kalman滤波 导航系统的精度受到 惯性传感器初始化以及算法的误差影响.低成本MEMS传感器由于严重的随机误差,INS输出可能迅速漂移.因此低精度的IMU基本上不能作为导航独立传感器进行使用. 在之 ...
- GNSS/INS 组合导航(一):定位技术分类与介绍
一.文档学习连接 https://download.csdn.net/download/yongjinfeiba/10761520 一. 定位技术分类 1.1 基于相对测量的定位(航位推算) (1)轮 ...
- GNSS/INS组合导航(四):惯性导航系统
可以结合下面连接看: https://blog.csdn.net/hltt3838/category_10500565.html 惯性导航理论依据: 牛顿第一定律(在不受外力作用下,物体将保持静止或匀 ...
- GNSS/INS组合导航(三):GPS全球定位系统
全球定位系统(GPS)由美国国防部在20世纪70年代开发.GPS的定位基础是24颗卫星组成的网络.每颗卫星发送一个包含伪随机噪声(PRN)码与导航信息的无线电信号.接收机通过PRN码获得无线电信号的传 ...
最新文章
- java 庖丁解牛api_Java Restful API Best Practices
- ES6中的promise、async、await用法详解
- 小米6发布,雷军亲手终结小米低价时代,低价竞争还能走多远?
- 分析输入url到页面返回的过程(查询返回过程)
- distcc源码研究三
- Go go-metrics
- 前端学习(1921)vue之电商管理系统电商系统之绘制基本布局并且获取数据
- 深入实践Spring Boot1.3 使用Spring Boot
- oracle DataGuard停机和启动顺序
- EntityFramework 如何查看执行的 SQL 代码?
- rapidminer员工离职分析_员工一言不合就离职怎么破?我有Python员工流失预警模型...
- html编写回到顶部,html回到顶部代码
- 读《About Face 4 交互设计精髓》4
- 数据结构保研面试题整理(自用)
- vue 判断设备是手机端还是pc端
- php做后端的优势,【后端开发】php和java的优势
- java 压缩jar_Java基础之实现解压和压缩jar、zip、rar等源码分享
- mysql安装流程以及各类问题解决
- Matlab绘制隐函数总结-二维和三维
- linux 射击 游戏,Ubuntu下安装第一人称射击游戏 Nexuiz 2.4.2(图)