惯性传感器IMU-九轴IMU

source:3轴、6轴、9轴IMU的区别_6轴imu和9轴imu区别-优快云博客
3轴、6轴、9轴IMU的区别

IMU、陀螺仪、惯性测量单元简介-优快云博客

1. 3轴、6轴、9轴IMU的区别

  • 1.1 3轴IMU即只有3轴陀螺仪的IMU,其因为只有一个3轴陀螺仪,所以只能感知载体roll、pitch、yawl共3个自由度的姿态信息。
  • 1.2 6轴IMU在3轴IMU的基础上加装了3轴加速度计,因此在感知载体姿态的基础上,还能感知载体3个自由度上的加速度信息。
  • 1.3 9轴IMU在6轴IMu的基础上加装了3轴磁强计,由于3轴陀螺仪只能估计载体自身的相对位姿变化(通过加速度计也可获得载体的绝对roll和pitch),单凭3轴陀螺仪无法获取载体的全部姿态信息,而通过3轴磁强计就可以,本质上磁强计的感知原理类似于指南针。

2. 磁力计简介

  • 磁力计也称为磁强计,地磁、磁感器,可用于测试磁场强度和方向,磁力计的原理跟指南针原理类似,可用于定位设备的方位。
2.1磁力计定位原理

由于地球重力场相当于已知信息,因而当载体处于平稳运动时,完全可以依靠采集自加表的测量信息来推算得到载体除了航向外的其它两个姿态信息,而若将加表与其它传感器如磁力计结合使用,就能实现在多种运动情况下测得完整的载体姿态信息。 [1]
磁力计的基本工作原理如下:设磁力计三轴磁分量的数据为[Mbx Mby Mbz]载体的横滚角和俯仰角分别为φ 和θ 。则有
在这里插入图片描述
式中Xh 为磁力计在水平方向 X 轴上的分量,Yh 为磁力计在水平方向 Y 轴上的分量,具体如图《倾角、重力及水平分量的关系》所示。
在这里插入图片描述
方位角可以根据上面求得的两个分量按下面的公式计算
在这里插入图片描述
其中,ϕM0 为磁方位角,载体的方位角ϕM 需要经过磁偏角修正后才能得到,即ϕM = ϕM0 − ϕ0
ϕ0 为磁偏角,可以根据地球磁场模型 WMM2005 以及载体所处的位置查得。

2.2 磁力计误差来源

磁力计是一种可以测量环境磁场强度的传感器,本文正是通过利用磁力计测得磁场强度进而得到所需的载体方位角信息。作为一种实用器件其存在误差是无可避免的,目前通常将磁力计的误差划分为自身内部误差、应用安装误差以及罗差。

(1)自身内部误差

磁力计的自身内部误差有零位误差、灵敏度误差和正交误差。

(2)应用安装误差

当将磁力计安装于载体上时没有实现磁力计的坐标系与载体坐标系相互重合,这就产生了安装误差。

(3)罗差

因为铁磁材料本身的特性会对外界磁场产生影响,因此当它出现在磁力计周围时必然会对其产生影响进而引起误差,我们把这种误差称之为罗差。这种影响产生的干扰磁场分为硬铁磁场和软铁磁场。对于铁磁材料和电器设备会产生硬铁磁场,其对磁力计测量值的影响等同于在地磁场的测量值上附加了一个大小和方向不变的常值偏移。由于受外界磁场影响而产生的磁场称为软铁磁场,其大小和方向会随着载体姿态和位置的变化而变化。

### MEMS磁力计工作原理 MEMS(微机电系统)磁力计用于检测磁场强度及其方向。这类传感器通常基于各向异性磁电阻(AMR)效应、巨磁阻(GMR)效应或隧道磁阻(TMR)效应来实现。 #### 各向异性磁电阻(AMR) 在AMR材料中,电子散射率依赖于电流相对于磁化矢量的角度。当外加磁场改变时,这种角度变化会引起材料电阻的变化。通过测量电阻的变化就可以得知周围环境中的磁场情况[^3]。 #### 巨磁阻(GMR) GMR结构由多层不同类型的铁磁金属组成,在这些层之间存在非磁性的隔离层。在外加磁场的作用下,相邻两层之间的相对取向会发生改变从而影响整个器件的总电阻值。相比传统的AMR技术,GMR具有更高的灵敏度和更宽广的操作范围。 #### 隧道磁阻(TMR) TMR元件利用量子力学中的隧穿现象:两个被极薄绝缘屏障分隔开来的铁磁薄膜间会有少量载流子穿过该势垒完成传导过程;随着外界施加的不同大小及方向上的磁场作用,这两片膜内的自旋排列也会随之调整进而引起导电性能显著差异——这便是用来探测磁场的基础机制之一。 为了计算磁方位角,需要将来自磁力计的数据转换到水平面上进行处理[^1]。对于集成有DMP(Digital Motion Processor)功能模块的设备如 MPU6050,则可以通过连接额外的磁力计(HMC5883L),让其直接提供包含地理坐标系内指向信息在内的融合数据包给应用端使用[^2]。 ```python def calculate_magnetic_azimuth(magnetometer_data, tilt_angle): """ 计算磁方位角 参数: magnetometer_data (tuple): 磁力计原始读数(X,Y,Z) tilt_angle (float): 设备倾斜角度 返回: float: 经过补偿后的磁方位角 """ import math # 将磁力计数据投影至水平面 mx = magnetometer_data[0]*math.cos(tilt_angle)+magnetometer_data[2]*math.sin(tilt_angle) my = magnetometer_data[1] # 使用反正切函数求解方位角 heading = math.atan2(my, mx)*180/math.pi if heading < 0: heading += 360 return heading ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值