姿态解算一、主线姿态表示方式:矩阵表示,轴角表示,欧拉角表示,四元数表示
惯性测量单元IMU(InertialMeasurementUnit):MPU6050芯片,包含陀螺仪和加速度计,分别测量三轴加速度和三轴角速度
注意,传感器所测数据是原始数据,包含了噪声,无法直接用于飞行器的姿态解算,因此需要对数据进行滤波
滤波算法:非线性互补滤波算法,卡尔曼滤波算法,Mahony互补滤波算法
二、知识点补充加速度计和陀螺仪加速度计:加速度计,可以测量加速度,包括外力加速度和重力加速度,因此,当被测物体在静止或匀速运动(匀速直线运动)的时候,加速度计仅仅测量的是重力加速度,而重力加速度与坐标系(绝对坐标系)是固连的,通过这种关系,可以得到加速度计所在平面与地面的角度关系也就是横滚角和俯仰角
把加速度传感器水平静止放在桌子上,它的Z轴输出的是1g的加速度
因为它Z轴方向被重力向下拉出了一个形变
可惜的是,加速度传感器不会区分重力加速度与外力加速度
所以,当系统在三维空间做变速运动时,它的输出就不正确了,或者说它的输出不能表明物体的姿态和运动状态
陀螺仪:陀螺仪测量角速度
陀螺仪模型如图1所示,陀螺仪的每个通道检测一个轴的旋转
图1[引自网络]上图中,Rxz是R在XZ面上的投影,与Z轴的夹角为Axz
Ryz是R在ZY面上的投影,与Z轴的夹角为Ayz
陀螺仪就是测量上面定义角度的变化率,换句话说,它会输出一个与上面这些角度变化率线性相关的值
加速度计工作原理介绍(摘自网络)大多数加速度计可归为两类:数字和模拟
数字加速度计可通过I2C,SPI或USART方式获取信息,而模拟加速度计的输出是一个在预定范围内的电压值,你需要用ADC(模拟量转数字量)模块将其转换为数字值
不管使用什么类型的ADC模块,都会得到一个在一定范围内的数值
例如一个10位ADC模块的输出值范围在0-1023间