传感器建模及校准含matlab代码

无人机或机器人中常用的传感器主要有:加速度计、陀螺仪、磁力计、气压计、测距仪(超声波或者激光)、GPS。

1、加速度计

加速度计测量的是扣除重力以外的其他力的和。故地面上加速度敏感到的力即为支持力,其方向向上,大小为g(9.80665)。

加速度计模型
常用标定手段:
1、利用静止状态的加速度计向量的模值始终等于g,可以采取处于静止状态下各个方向的加速度计矢量,利用最小二乘获取上述图片中的9个变量。

2、将加速度各个轴分别向上、向下采集其数据,然后求解上述的模型参数。

  • Reference vectors
  • accel_corr_ref[6][3] = [ g 0 0 ] // nose up
  •                    | -g  0  0 |     // nose down
    
  •                    |  0  g  0 |     // left side down
    
  •                    |  0 -g  0 |     // right side down
    
  •                    |  0  0  g |     // on back
    
  •                    [  0  0 -g ]     // level
    
  • accel_raw_ref[6][3]
  • accel_corr_ref[i] = accel_T * (accel_raw_ref[i] - accel_offs), i = 0…5
  • 6 reference vectors * 3 axes = 18 equations
  • 9 (accel_T) + 3 (accel_offs) = 12 unknown constants
  • Find accel_offs
  • accel_offs[i] = (accel_raw_ref[i2][i] + accel_raw_ref[i2+1][i]) / 2
  • Find accel_T
  • 9 unknown constants
  • need 9 equations -> use 3 of 6 measurements -> 3 * 3 = 9 equations
  • accel_corr_ref[i2] = accel_T * (accel_raw_ref[i2] - accel_offs), i = 0…2
  • Solve separate system for each row of accel_T:
  • accel_corr_ref[j2][i] = accel_T[i] * (accel_raw_ref[j2] - accel_offs), j = 0…2
  • A * x = b
  • x = [ accel_T[0][i] ]
  • | accel_T[1][i] |
    
  • [ accel_T[2][i] ]
    
  • b = [ accel_corr_ref[0][i] ] // One measurement per side is enough
  • | accel_corr_ref[2][i] |
    
  • [ accel_corr_ref[4][i] ]
    
  • a[i][j] = accel_raw_ref[i][j] - accel_offs[j], i = 0;2;4, j = 0…2
  • Matrix A is common for all three systems:
  • A = [ a[0][0] a[0][1] a[0][2] ]
  • | a[2][0]  a[2][1]  a[2][2] |
    
  • [ a[4][0]  a[4][1]  a[4][2] ]
    
  • x = A^-1 * b
  • accel_T = A^-1 * g

2、陀螺仪

陀螺仪主要用来敏感各个轴的角速度运动,其模型如下:

其精密校准方法同加速度计,首先利用转台获取其各个时刻的角度信息,然后利用单子样或双子样算法获取其解算的表达式,然后利用最小二乘得到其参数解。

但真实场景下我们常采用的是低精度MEMS,也很难有转台设备。通常下普通校准方法如下:
将陀螺仪处于静止状态时,其测量信息的均值及为零偏;将其旋转10圈,其解算得到的角度* 比例因子 = 10*360,即获取其估计的比例因子参数。安装角度信息则不考虑。

3、磁力计


根据采集的充足磁力计数据,将其拟合成球形或者椭球形。然后带入上述公式获取其对应系数。

4、气压计

气压计是根据采集到的气压,然后利用下述公式可以转换为高度信息。利用气压计进行高度估计时可以代入下述公式。

最低绝对零度 T 0 = − 273.15 ∘ {{T}_{0}}=-{{273.15}^{\circ }} T0=273.15,海平面温度 T s = 15 ∘ {{T}_{s}}={{15}^{\circ }} Ts=15,温度高度梯度 a = − 6.5 1000 ∘ / m a={{\frac{-6.5}{1000}}^{\circ }}/m a=10006.5/m,海平面气压为 p 1 {p_1} p1 kPa,当前气压计测量的气压为 p {p} pkPa,重力加速度为 g {g} g m/s2,气体常数 R = 287.1 ( J / k g . K ) R=287.1(J/kg.K) R=287.1(J/kg.K) T s {{T}_{s}} Ts换至开氏温度 T 1 {{T}_{1}} T1 T 1 = T s − T 0 {{T}_{1}}={{T}_{s}}-{{T}_{0}} T1=TsT0

h = ( T 1 ( p p 1 ) − a R / g − T 1 ) / a h=\left( {{T}_{1}}{{\left( \frac{p}{{{p}_{1}}} \right)}^{-aR/g}}-{{T}_{1}} \right)/a h=(T1(p1p)aR/gT1)/a

T s {{T}_{s}} Ts摄氏温度下的大气密度计算公式如下:

ρ = p R ( T s − T 0 ) \rho =\frac{p}{R({{T}_{s}}-{{T}_{0}})} ρ=R(TsT0)p

5、空速管

空速管主要是获取当前的动压,利用动压数据可以获取当前的指示空速和真实空速。还可以利用该数据结合气动数据在线估计当前的风速。

空速计温度为摄氏度 T T T,压差为$dP k P a , 15 摄 氏 度 的 海 平 面 参 考 大 气 密 度 kPa,15摄氏度的海平面参考大气密度 kPa15{{\rho }_{r}}=1.225Kg/{{m}^{3}}$。其转换至指示空速公式如下:

I A S = s i g n ( d p ) 2 ∗ d p / ρ r IAS=sign(dp)\sqrt{2*dp/{{\rho }_{r}}} IAS=sign(dp)2dp/ρr

真实空速计算如下:

ρ = p R ( T − T 0 ) \rho =\frac{p}{R(T-{{T}_{0}})} ρ=R(TT0)p

$$TAS=IAS*\sqrt{\frac{{{\rho }_{r}}}{\rho }}$$

6、GPS


做紧耦合定位时可以利用上述公式作为测量方程。

7、matlab 编程

上述各个传感器模型在matlab中均可以找到,其加速度计、磁力计和陀螺仪封装在imuSensor,GPS传感器模型则集成在gpsSensor。

其imu解算主要有单子样(毕卡)、双子样和四阶龙格库塔法。

关注公众号,获取惯导解算代码、传感器模型代码以及imu的allan方差分析代码

❤️ 扫一扫,添加我的公众号或者搜索【无人机开发】
在这里插入图片描述

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLAB中进行三轴加速度计的校准可以通过以下步骤实现: 1. 收集数据:将加速度计固定在一个平稳的表面上,保持静止并记录加速度计输出的值。重复这个过程在不同的姿态下(例如旋转加速度计90度,180度等),以获取多组数据。 2. 数据处理:将收集到的数据导入MATLAB中,并进行预处理。根据加速度计的静态偏差(offset)和比例因子(scale factor)进行校准。偏差是指在没有外力作用时,加速度计输出的非零值。比例因子是指加速度计输出与真实加速度之间的比例关系。 3. 偏差校准:计算每个轴的偏差值。对于每个数据集,将所有轴的平均值作为静态偏差值。然后,通过减去静态偏差值来校正每个轴的数据。 4. 比例因子校准:计算每个轴的比例因子。对于每个数据集,将轴向的最大差值除以相应的真实加速度(例如,重力加速度)来得到比例因子。然后,通过除以相应的比例因子来校正每个轴的数据。 5. 数据合并:将校准后的数据合并为一个整体的数据集。 6. 参数估计:使用校准后的数据集来估计加速度计的偏差和比例因子。可以使用最小二乘法或其他拟合方法来拟合数据,并计算出偏差和比例因子的估计值。 7. 验证:使用估计的参数对新的数据进行校准,并验证校准效果。可以计算校准后的数据与真实加速度之间的误差,以评估校准的准确性。 以上是一个基本的三轴加速度计校准过程的大致步骤。具体的实现细节和算法选择可能会因具体情况而异。在实际应用中,还需要考虑噪声、温度等因素对加速度计输出的影响,并针对性地进行校准处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值