总体思路

磁力计的数据在实际中是椭球的形状,在此之前使用了球体拟合进行校准,也就是简化为正球体的模型,得出的结果比较差,航向计算不准,还是需要用椭球的模型来估计偏移量,先使用标准的椭球方程,进行化简与变形,得到最小二乘法可以进行估计的标准形式,之后对原始数据进行最小二乘法矩阵的赋值,求解方程,最终观察拟合效果。

椭球方程

椭球的标准方程为:

最小二乘法原理回顾

在这里由于数据是一次性采集完之后处理,因此使用批处理最小二乘法即可,批处理最小二乘法的原理简单来说就是如下的过程:

对于一组采用数据,当前有:

1)数据向量:φ = [x1 x2 ... xn]T

2) 输出向量:y

3) 参数矩阵:θ = [a1 a2 ... an]T

对于单组数据:

实际输出为:y = φT * θ

估计输出就为:y_hat = φT * θ_hat

对于多组采样数据,将单组数据向量集合起来写成矩阵的形式,为:

引入一个估计误差的变量,记作 e:

之后可以根据误差 e,写出最小二乘的指标函数 J:

对 J 求导,便可以得到估计参数 θ_hat 的极值,进而写出估计参数 θ_hat 的表达式:

椭球方程化简

椭球方程化简,就是将椭球方程转化为适合最小二乘法求解的形式,先将椭球方程展开,得到:

最初也是直接使用的此方程进行最小二乘法拟合的,也就是输出矩阵 Y 都是 1 的形式。但使用此方程会有问题,可以求出多个解,使用matlab求解的话,很容易就会求出异常的解,也就是Rx,Ry,Rz很大的时候,也是会满足方程的,但这个解肯定是不对的。

因此需要对此方程进行变种,在查找了网上其他人的做法后,比较好的做法是两边同时乘上 Rx2 ,之后,将 x2 移到等式右边:

以上述方程建立最小二乘法需要的矩阵:

数据向量:φ = [y2 z2 x y z 1]T

输出向量:y = -x2

参数矩阵:θ = [(Rx2/Ry2)   (Rx2/Rz2)   (-2Ox)   (-2Rx2Oy/Ry2)   (-2Rx2Oz/Rz2)   (Ox2+Rx2Oy/Ry2+Rx2Oz/Rz2-Rx2)]T

之后再把单个采样的向量集合起来写成矩阵的形式:

之后就可以求解出估计参数矩阵 θ_hat,进而就可以求解出椭球的三轴中心 Ox,Oy,Oz,以及半轴长 Rx,Ry,Rz:

Ox = -theta_hat(3) / 2;

Oy = -theta_hat(4) / (2*theta_hat(1));

Oz = -theta_hat(5) / (2*theta_hat(2));

Rx = sqrt(Ox*Ox + theta_hat(1)*Oy*Oy + theta_hat(2)*Oz*Oz - theta_hat(6));

Ry = sqrt((Rx*Rx) / theta_hat(1));

Rz = sqrt((Rx*Rx) / theta_hat(2));

原始采样的磁力计数据图:

加上拟合的椭球模型:

【传感器】最小二乘法实现磁力计椭球校准相关推荐

  1. 基于最小二乘法的磁力计椭球拟合方法

    基于最小二乘法的磁力计椭球拟合方法 在写飞控代码时,必然要对磁力计的测量数据进行校正,本文将介绍一种简单实用的校正方法–基于最小二乘法的椭球拟合方法. 本文椭球拟合部分来自博文IMU加速度.磁力计校正 ...

  2. n维椭球体积公式_加速度计 椭球校准 (最小二乘法 椭球拟合)

    在搞自动控制中,很少有人能不和陀螺仪,加速度计这些打交道,当然还有些人还不免和地磁计打交道, 这类三轴传感器都有一个特性,三个轴的零飘不一样,三个轴的比例尺不一样,随机游走我们暂且不考虑, 那么这时候 ...

  3. 地磁校准 椭球校准_如何校准电视

    地磁校准 椭球校准 You don't have to spend a fortune to get a better picture from your TV. Our instructions a ...

  4. 【51单片机快速入门指南】4.4.1:python串口接收磁力计数据并进行最小二乘法椭球拟合

    目录 硬知识 Python代码 使用方法 串口收集数据 椭球拟合 验证 STC15F2K60S2 16.384MHz Keil uVision V5.29.0.0 PK51 Prof.Develope ...

  5. IMU加速度、磁力计校正--椭球拟合

    本文为博主"声时刻"原创文章,未经博主允许不得转载. 联系方式:shenshikexmu@163.com 问题 考虑到IMU中,x,y,z轴的度量单位并不相同,假设各轴之间相互直. ...

  6. 倾斜补偿的电子罗盘(3):椭球拟合,磁传感器软磁干扰和硬磁干扰的9参数校准

    倾斜补偿的电子罗盘(3):椭球拟合,磁传感器软磁干扰和硬磁干扰的9参数校准 背景 之前提到磁传感器的误差来源,并介绍了消除硬磁干扰的3参数校准.倾斜补偿的电子罗盘(2):磁传感器的误差来源.硬磁干扰的 ...

  7. 椭球拟合的电子罗盘磁差补偿_椭球拟合的电子罗盘磁差补偿

    椭球拟合的电子罗盘磁差补偿 孙倩 ; 付虹 [摘 要] 对电子罗盘磁差补偿的椭球拟合校准法进行深入研究 , 并分解为硬磁.软 磁.比例系数校准和未对准误差校准 , 分别进行仿真分析 , 直观给出各部分 ...

  8. 基于椭球 磁补偿 matlab,基于椭球拟合的三轴磁传感器快速标定补偿方法

    第4期(总第173期) 2012年8月 机械工程与自动化 MECHANICAL ENGINEERING & AUTOMATION No.4Aug. 文章编号:1672-6413(2012)04 ...

  9. 基于椭球 磁补偿 matlab,基于椭球拟合的三轴磁传感器误差补偿方法.pdf

    第 2 5卷 第7期 2 0 1 2年 7月 传 感 技 术 学 报 C HI NE S E J OU R NAL O F S E NS OR S AND A C T UA T OR S V0 1 2 ...

最新文章

  1. ABAP 一个隐藏 selection-screen block的实例
  2. Python数据可视化2.6 一些最好的可视化实践
  3. JZOJ 5281. 【NOIP提高组模拟A组8.15】钦点
  4. Go gin使用html模板
  5. OpenCASCADE:教程概述
  6. 内存映射文件 写入 卡住_在Java中使用内存映射文件时检测(写入)失败
  7. linux怎么检测文件完整性,Linux如何基于AIDE检测文件系统完整性
  8. 物体运动到一个点停止_大颗粒搭建中常见的结构运动
  9. 中台实践:新汽车行业的业务、技术和平台转型
  10. ExtJs2.0学习系列(6)--Ext.FormPanel之第三式(ComboBox篇)
  11. 前端组件化Polymer入门教程(7)——Local DOM
  12. report machine实现报表分栏
  13. php 公众号微信支付流程图,微信公众号支付流程
  14. eclipse无法识别ftl文件解决
  15. 如何将TS格式的视频转换成mp4格式
  16. 左对齐杨辉三角python_什么是左的错误?
  17. 【转】Power System 中基于 VIOS 的虚拟以太网实现
  18. ocdma相干非相干_相干成像和非相干成像有什么区别?
  19. 北京python培训班价格
  20. C语言 break语句

热门文章

  1. swift 的网络解析 Alamofire
  2. 精益生产之改善活动的20个原则
  3. dos命令行连接oracle数据库
  4. P5737 【深基7.例3】闰年展示
  5. java常用的转义字符_java常用转义字符
  6. 给linux系统增加rz功能,Linux系统教程_Linux下rz命令使用的详细实例
  7. Linux和DOS文件系统的区别,对比Linux文件系统和DOS文件系统
  8. c++初级-卡牌游戏 IV
  9. Ant Design Vue-cascader:修改默认值
  10. kindeditor编辑器回车换行代码修改