【传感器】最小二乘法实现磁力计椭球校准
总体思路
磁力计的数据在实际中是椭球的形状,在此之前使用了球体拟合进行校准,也就是简化为正球体的模型,得出的结果比较差,航向计算不准,还是需要用椭球的模型来估计偏移量,先使用标准的椭球方程,进行化简与变形,得到最小二乘法可以进行估计的标准形式,之后对原始数据进行最小二乘法矩阵的赋值,求解方程,最终观察拟合效果。
椭球方程
椭球的标准方程为:
最小二乘法原理回顾
在这里由于数据是一次性采集完之后处理,因此使用批处理最小二乘法即可,批处理最小二乘法的原理简单来说就是如下的过程:
对于一组采用数据,当前有:
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));
原始采样的磁力计数据图:
加上拟合的椭球模型:
【传感器】最小二乘法实现磁力计椭球校准相关推荐
- 基于最小二乘法的磁力计椭球拟合方法
基于最小二乘法的磁力计椭球拟合方法 在写飞控代码时,必然要对磁力计的测量数据进行校正,本文将介绍一种简单实用的校正方法–基于最小二乘法的椭球拟合方法. 本文椭球拟合部分来自博文IMU加速度.磁力计校正 ...
- n维椭球体积公式_加速度计 椭球校准 (最小二乘法 椭球拟合)
在搞自动控制中,很少有人能不和陀螺仪,加速度计这些打交道,当然还有些人还不免和地磁计打交道, 这类三轴传感器都有一个特性,三个轴的零飘不一样,三个轴的比例尺不一样,随机游走我们暂且不考虑, 那么这时候 ...
- 地磁校准 椭球校准_如何校准电视
地磁校准 椭球校准 You don't have to spend a fortune to get a better picture from your TV. Our instructions a ...
- 【51单片机快速入门指南】4.4.1:python串口接收磁力计数据并进行最小二乘法椭球拟合
目录 硬知识 Python代码 使用方法 串口收集数据 椭球拟合 验证 STC15F2K60S2 16.384MHz Keil uVision V5.29.0.0 PK51 Prof.Develope ...
- IMU加速度、磁力计校正--椭球拟合
本文为博主"声时刻"原创文章,未经博主允许不得转载. 联系方式:shenshikexmu@163.com 问题 考虑到IMU中,x,y,z轴的度量单位并不相同,假设各轴之间相互直. ...
- 倾斜补偿的电子罗盘(3):椭球拟合,磁传感器软磁干扰和硬磁干扰的9参数校准
倾斜补偿的电子罗盘(3):椭球拟合,磁传感器软磁干扰和硬磁干扰的9参数校准 背景 之前提到磁传感器的误差来源,并介绍了消除硬磁干扰的3参数校准.倾斜补偿的电子罗盘(2):磁传感器的误差来源.硬磁干扰的 ...
- 椭球拟合的电子罗盘磁差补偿_椭球拟合的电子罗盘磁差补偿
椭球拟合的电子罗盘磁差补偿 孙倩 ; 付虹 [摘 要] 对电子罗盘磁差补偿的椭球拟合校准法进行深入研究 , 并分解为硬磁.软 磁.比例系数校准和未对准误差校准 , 分别进行仿真分析 , 直观给出各部分 ...
- 基于椭球 磁补偿 matlab,基于椭球拟合的三轴磁传感器快速标定补偿方法
第4期(总第173期) 2012年8月 机械工程与自动化 MECHANICAL ENGINEERING & AUTOMATION No.4Aug. 文章编号:1672-6413(2012)04 ...
- 基于椭球 磁补偿 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 ...
最新文章
- ABAP 一个隐藏 selection-screen block的实例
- Python数据可视化2.6 一些最好的可视化实践
- JZOJ 5281. 【NOIP提高组模拟A组8.15】钦点
- Go gin使用html模板
- OpenCASCADE:教程概述
- 内存映射文件 写入 卡住_在Java中使用内存映射文件时检测(写入)失败
- linux怎么检测文件完整性,Linux如何基于AIDE检测文件系统完整性
- 物体运动到一个点停止_大颗粒搭建中常见的结构运动
- 中台实践:新汽车行业的业务、技术和平台转型
- ExtJs2.0学习系列(6)--Ext.FormPanel之第三式(ComboBox篇)
- 前端组件化Polymer入门教程(7)——Local DOM
- report machine实现报表分栏
- php 公众号微信支付流程图,微信公众号支付流程
- eclipse无法识别ftl文件解决
- 如何将TS格式的视频转换成mp4格式
- 左对齐杨辉三角python_什么是左的错误?
- 【转】Power System 中基于 VIOS 的虚拟以太网实现
- ocdma相干非相干_相干成像和非相干成像有什么区别?
- 北京python培训班价格
- C语言 break语句