四元数姿态解算基础及数学模型
来源:互联网 发布:mac上的网游 编辑:程序博客网 时间:2024/05/17 04:19
姿态的表示方法
载体姿态有多种表示方法,常见的三种:欧拉角,姿态矩阵,四元数
欧拉角的物理意义比较直观,即航向角,俯仰角,横滚角,分别是导航系到载体系的三个旋转角度
姿态矩阵可以由欧拉角直接计算得到,即三个角度对应的转换矩阵相乘(注意顺序,导航系到载体系是按照航向角,俯仰角,横滚角的顺序变换的,所以导航系到载体系变换时,三个矩阵相乘的顺序,应该是横滚*俯仰*航向*导航系坐标矢量),因此结果较之欧拉角稍微抽象一点点
四元数则是一个说来话长的姿态表示方法,直接从四元数“很难”看出载体姿态(这个姿态是对人的想象来说的姿态,因为四元数和欧拉角本无本质区别,只是一种表示方法),那么他的物理意义是什么呢?
四元数表示姿态的物理意义
四元数表示姿态时有多个写法,如下:
欧拉角表示姿态变换时,表征的是分别绕着i,j,k三个坐标轴的三次旋转。根据欧拉定理,这三次旋转可以等效成绕着某轴一次旋转而成。这个某轴就是公式中的u=(u1,u2,u3),旋转角度就是公式中的θ。
数学中四元数通常写为
那么用于姿态表示时q0=cos(θ/2),qi=ui*sin(θ/2),i=1,2,3
使用四元数进行载体姿态更新方程
四元数的更新可通过上式完成。因此只要知道初始四元数(载体的初始姿态)和四元数的导数就可以完成任意时刻四元数的解算
四元数求导
结果中的角速度为导航系到机体系在导航系下的旋转角速度矢量,但是我们通过陀螺仪测得的是载体系下的角速度。不过通过下边的变换:
我们得到了四元数导数和载体系角速度的数学关系,展开上式:
四元数初始值确定
四元数初始值的确实可以看做是一个初始对准的过程。
而上述模型仅仅是理想状态下的数学模型,实际角速度中必然包含零偏等误差,更新过程中又不可避免的有飘漂移发生。所以仅适用上式是无法给出可以使用的姿态的。
实际使用中常常用kalman滤波或者补偿滤波的方法来“校正”这些误差。因此初始值可以不必那么精确。给出一个概略初始值即可。
例如可以通过加速度z轴方向和磁罗盘的输出向量,来完成对准。两者从物理概念上实际上分别完成了调平和指北的任务。
阅读全文
0 0
- 四元数姿态解算基础及数学模型
- 四元数姿态解算
- 四元数姿态解算及多传感器融合详细解析
- 姿态解算之四元数
- 四元数与姿态解算
- 姿态解算(二),姿态更新
- 姿态解算中的欧垃角与四元数
- 四旋翼姿态解算——基础理论及推导
- 姿态解算
- 姿态解算
- 姿态解算
- 姿态解算详解
- 姿态解算
- 硬件姿态解算
- 软件姿态解算
- 【计算机视觉】opencv靶标相机姿态解算2 根据四个特征点估计相机姿态 及 实时位姿估计与三维重建相机姿态
- 四元数AHRS姿态解算和IMU姿态解算分析
- 四元数AHRS姿态解算和IMU姿态解算分析
- Python Django性能测试与优化指南
- 23种设计模式全解析
- 通过表单form模拟post方式提交多参数实现文件下载
- 100ITJAVA面试必考题系列(二)
- php 文件操作函数 之 图片计数器
- 四元数姿态解算基础及数学模型
- Class.create
- jq的$(function(){})与window.onload的区别(转)
- C4996'fopen': This function or variable may be unsafe.解决方案
- Spring任务调度<task:scheduled-tasks>
- Android系统联系人信息获取
- Linux命令全
- VLAN的基本配置和包传输路径测试
- 量化误差与噪声误差