无人机/平衡车等姿态测量相关知识

简介: 陀螺仪 测量敏感角运动的一种精密传感器,是惯性导航系统的中最重要、技术含量最高的仪器,是惯导系统中的核心器件。在干扰力矩的作用下陀螺仪产生的进动,使得自转轴在惯性空间逐渐偏离原来的方位,这种现象称之为漂移,零偏漂移就是零输入(静止)下的漂移。

陀螺仪

测量敏感角运动的一种精密传感器,是惯性导航系统的中最重要、技术含量最高的仪器,是惯导系统中的核心器件。在干扰力矩的作用下陀螺仪产生的进动,使得自转轴在惯性空间逐渐偏离原来的方位,这种现象称之为漂移,零偏漂移就是零输入(静止)下的漂移。

 

加速度计

加速度本身难以直接测量,因此通过测量敏感质量块上形成的惯性力,间接测量载体受到的加速度在惯性空间,加速度计无法区分惯性力和万有引力。因此加速度计的输出反映的是单位检测质量所受的惯性空间的合力,即惯性力与万有引力的矢量和。

 

信号融合

陀螺仪具精确但有零点漂移特性,其测量误差会随着时间的累加而不断的累积,从而影响测量精度。因此,短时间测量应信任陀螺仪。加速度计一直受到平衡车振动的影响,混叠额外的高频振动量干扰,但是漂移小。因此,长时间测量应信任加速度计。所以单一的传感器测量难以得到精确的姿态角度,需用多传感器信号融合的方法,来获得准确的姿态角度量。

 

标定

标定是计算修正偏移量的过程,得到偏移量后,在使用传感器时需要将传感器输出数据减去偏移量,这样才能得到修正后的数据。

标定有很多方法,比较简单的一种方法,当然也是最不精确的一种方法是在静止时取多次测得数据的平均值,标定后要将偏移量减去。

 

四元数与欧拉角

3D图形学中,最常用的旋转表示方法便是四元数和欧拉角,比起矩阵来具有节省存储空间和方便插值的优点。

根据欧拉旋转定理,任何两个坐标系的相对定向,可以由一组四个数字来设定;其中三个数字是方向余弦,用来设定特征矢量(固定轴);第四个数字是绕着固定轴旋转的角值。这样四个数字的一组称为四元数。

确定导弹(或飞机)在空间中的方向需要用三个角度,分别为偏航角、俯仰角和滚转角,这三个角度通常称为欧拉角,或弹体的姿态角。这三个角度是地面坐标系与弹体坐标系之间的角度关系,即地面坐标系经过三次旋转即可转到弹体坐标系。

 

MPU6050

MPU6050不只是简简单单整合了3轴陀螺仪、3轴加速器;其含可藉由第二个I2C端口连接其他厂牌之加速器、磁力传感器、或其他传感器的数位运动处理(DMP: Digital Motion Processor)硬件加速引擎,由主要I2C端口以单一数据流的形式,向应用端输出完整的9轴融合演算技术。

InvenSense 的运动处理资料库,可处理运动感测的复杂数据,降低了运动处理运算对操作系统的负荷,并为应用开发提供架构化的API

关于量程和测量精度MPU6050加速度测量值为例:量程是±8g时,测量精度是4096LSB/g

一般我们可以用mg/LSB来表示灵敏度,例如:mpu6050输出的位数为16(216次方共65536LSB)对应满量程,当量程为±8g时对应灵敏度就为16g/65536LSB=0.244140625mv/g,取倒数为4096LSB/g,因为mpu6050只能16位输出,所以测量范围越大,对应精度就越低。


MPU9250

MPU9250是一个QFN封装的复合芯片(MCM),它由2部分组成。一组是3轴加速度还有3轴陀螺仪,MPU6050。另一组则是AKM公司的AK8963 3轴磁力计。所以,MPU9250是一款9轴运动跟踪装置,他在小小的3X3X1mm的封装中融合了3轴加速度,3轴陀螺仪以及数字运动处理器(DMP)。MPU9250的具有三个16位加速度AD输出,三个16位陀螺仪AD输出,三个6位磁力计AD输出。精密的慢速和快速运动跟踪,提供给客户全量程的可编程陀螺仪参数选择(±250,±500,±1000and±2000°/秒(dps)),可编程的加速度参数选择±2g,±4g,±8g,±16g,以及最大磁力计可达到±4800uT

其他业界领先的功能还有可编程的数字滤波器,40-85℃时带高精度的1%的时钟漂移,嵌入了温度传感器,并且带有可编程中断。该装置提供I2CSPI的接口,2.4-3.6V的供电电压,还有单独的数字IO口,支持1.71VVDD

通信采用400KHzI2C1MHzSPI,若需要更快的速度,可以用SPI20MHz的模式下直接读取传感器和中断寄存器。

三轴陀螺仪的特性:

用户可编量程(±250,±500,±1000/秒)

三轴(xyz16ADC角速度数字输出。

三轴加速度计的特性:

用户可编量程(±2g,±4g,±8g,±16g

三轴16ADC加速度数字输出

磁场计的特性:

三轴单片霍尔传感器

大量程低功耗高精度

14位(0.6uT/LSB)和16位(15uT/LSB)的分辨率输出

最大±4800uT的测量范围

 

模拟陀螺仪ENC03

最大角速度 +/-300deg./sec.

输出(当角速度=0 1.35 Vdc 

线性度+/-5%FS 

响应频率50Hz max. 

 

模拟加速度计MMA7361

高灵敏度:(800 mV/g )  

可选灵敏度:(±1.5g,±6g  

快速启动时间:(0.5ms反应时间)

 

姿态解算流程


部分资料参考网上各个论坛,来源不明,统一致谢。

延伸阅读:

欧拉旋转—万向节锁(视频)

http://v.youku.com/v_show/id_XNjk1MTkzMTM2.html#paction

AGuide to using IMU (Accelerometer and Gyroscope Devices) in EmbeddedApplications

http://www.starlino.com/imu_guide.html

卡尔曼滤波应用

http://blog.csdn.net/qq_32666555/article/details/54647443




目录
相关文章
|
6月前
|
XML 安全 定位技术
无人船水下地形测量作业流程
无人船水下地形测量作业流程
149 0
|
9月前
|
存储 自动驾驶 安全
基于轨迹优化的自动驾驶汽车跟随自行车模型动力学控制(Matlab代码实现)
基于轨迹优化的自动驾驶汽车跟随自行车模型动力学控制(Matlab代码实现)
|
8月前
|
机器学习/深度学习 传感器 编解码
【雷达成像】基于BP成像方式模拟飞机雷达正侧视或斜视模式下对地面目标成像附matlab代码
【雷达成像】基于BP成像方式模拟飞机雷达正侧视或斜视模式下对地面目标成像附matlab代码
【雷达成像】基于BP成像方式模拟飞机雷达正侧视或斜视模式下对地面目标成像附matlab代码
|
8月前
|
人工智能 自动驾驶 安全
无人车驾驶地面避障(Matlab代码实现)
无人车驾驶地面避障(Matlab代码实现)
|
8月前
|
算法 安全
车-电-路网时空分布负荷预测研究(Matlab代码)
车-电-路网时空分布负荷预测研究(Matlab代码)
|
9月前
|
算法 自动驾驶
【无人车】用于无人地面车辆的路径跟踪算法(Matlab代码实现)
【无人车】用于无人地面车辆的路径跟踪算法(Matlab代码实现)
|
9月前
|
C++
【无人机】采用最基本的自由空间路损模型并且不考虑小尺度衰落(多径多普勒)固定翼无人机轨迹规划(Matlab代码实现)
【无人机】采用最基本的自由空间路损模型并且不考虑小尺度衰落(多径多普勒)固定翼无人机轨迹规划(Matlab代码实现)
|
9月前
|
传感器 编解码 算法
【航空和卫星图像中检测建筑物】使用gabor特征和概率的城市区域和建筑物检测研究(Matlab代码实现)
【航空和卫星图像中检测建筑物】使用gabor特征和概率的城市区域和建筑物检测研究(Matlab代码实现)
|
9月前
|
机器学习/深度学习 传感器 算法
【无人机控制】基于几何自适应控制算法解耦姿态动力学的四旋翼无人机附matlab代码
【无人机控制】基于几何自适应控制算法解耦姿态动力学的四旋翼无人机附matlab代码
|
10月前
|
传感器 机器学习/深度学习 算法
基于卡尔曼滤波器实现无人机室内高度估计附matlab代码
基于卡尔曼滤波器实现无人机室内高度估计附matlab代码