磁力计椭球拟合使用篇 IMU 加速度、电子罗盘校准
磁力计校准椭球拟合使用篇
!!下方蓝色函数链接!!
matlab 椭球拟合函数链接
串口打印磁力计数据,可以选择原始数据不进行任何缩放(前提是各轴向分辨率一致)。
get_RM3100_data(&mx,&my,&mz);printf("%d,%d,%d\r\n",mx,my,mz);
各个位置方向旋转,进行数据采样,一定要保证数据各个角度都采集到,数据越多效果越好。
将数据保存未txt文档。
从上面matlab 的椭球拟合文档中将function copy一下,稍微修改:
clc;
clear all;
filename = 'mag_ellipsoid1.txt';
mag_data = load(filename);
x= mag_data(:,1);
y= mag_data(:,2);
z= mag_data(:,3);
%椭球拟合函数1
[ center, radii, evecs, v, chi2 ] = ellipsoid_fit_new( [ x y z ], '' );
fprintf( '椭球 圆心: %.5g %.5g %.5g\n', center );
fprintf( '椭球 半径: %.5g %.5g %.5g\n', radii );
fprintf( '椭球面:\n' );
fprintf( '%.5g %.5g %.5g\n%.5g %.5g %.5g\n%.5g %.5g %.5g\n', ...evecs(1), evecs(2), evecs(3), evecs(4), evecs(5), evecs(6), evecs(7), evecs(8), evecs(9) );
fprintf( 'Algebraic form:\n' );
fprintf( '%.5g ', v );
fprintf( '\n拟合的平均偏差: %.5f\n', sqrt( chi2 / size( x, 1 ) ) );
fprintf( '\n' );
% draw data
figure,
plot3( x, y, z, '.r' );
hold on;
%draw fit
mind = min( [ x y z ] );
maxd = max( [ x y z ] );
nsteps = 50;
step = ( maxd - mind ) / nsteps;
[ x, y, z ] = meshgrid( linspace( mind(1) - step(1), maxd(1) + step(1), nsteps ), linspace( mind(2) - step(2), maxd(2) + step(2), nsteps ), linspace( mind(3) - step(3), maxd(3) + step(3), nsteps ) );
Ellipsoid = v(1) *x.*x + v(2) * y.*y + v(3) * z.*z + ...2*v(4) *x.*y + 2*v(5)*x.*z + 2*v(6) * y.*z + ...2*v(7) *x + 2*v(8)*y + 2*v(9) * z;
p = patch( isosurface( x, y, z, Ellipsoid, -v(10) ) );
hold off;
xlabel('X轴');
ylabel('Y轴');
zlabel('Z轴');
grid on;
set( p, 'FaceColor', 'g', 'EdgeColor', 'none' );
view( -70, 40 );
axis vis3d equal auto;
camlight;
lighting phong;
hold on;
如何使用得到的数值
get_RM3100_data(&mx,&my,&mz);printf("%d,%d,%d\r\n",mx,my,mz);//椭球校准mx1 = mx-64.384;//椭圆圆心平移至0,0,0 my1 = (my+58.583)* 4269.5/ 3869;//平移轴圆心,并且将y轴按x轴缩放mz1 = (mz-31.555)* 4269.5/3783.7;//平移轴圆心,并且将z轴按x轴缩放
测试:
//计算平面偏航角度angle=atan2(my1,mx1)*180/3.14159+180 ;
平面上计算偏航角度,找个桌子角旋转90°测试一下,看角度值是否可靠。
ps 简单一试,一切从简。大佬勿喷。基于MATLANB 的离线椭球校准窗户纸就在这了。其他方法大同小异。研究算法的去看matlab function。
磁力计椭球拟合使用篇 IMU 加速度、电子罗盘校准相关推荐
- 基于最小二乘法的磁力计椭球拟合方法
基于最小二乘法的磁力计椭球拟合方法 在写飞控代码时,必然要对磁力计的测量数据进行校正,本文将介绍一种简单实用的校正方法–基于最小二乘法的椭球拟合方法. 本文椭球拟合部分来自博文IMU加速度.磁力计校正 ...
- IMU加速度、磁力计校正--椭球拟合
本文为博主"声时刻"原创文章,未经博主允许不得转载. 联系方式:shenshikexmu@163.com 问题 考虑到IMU中,x,y,z轴的度量单位并不相同,假设各轴之间相互直. ...
- 【51单片机快速入门指南】4.4.1:python串口接收磁力计数据并进行最小二乘法椭球拟合
目录 硬知识 Python代码 使用方法 串口收集数据 椭球拟合 验证 STC15F2K60S2 16.384MHz Keil uVision V5.29.0.0 PK51 Prof.Develope ...
- 倾斜补偿的电子罗盘(3):椭球拟合,磁传感器软磁干扰和硬磁干扰的9参数校准
倾斜补偿的电子罗盘(3):椭球拟合,磁传感器软磁干扰和硬磁干扰的9参数校准 背景 之前提到磁传感器的误差来源,并介绍了消除硬磁干扰的3参数校准.倾斜补偿的电子罗盘(2):磁传感器的误差来源.硬磁干扰的 ...
- n维椭球体积公式_加速度计 椭球校准 (最小二乘法 椭球拟合)
在搞自动控制中,很少有人能不和陀螺仪,加速度计这些打交道,当然还有些人还不免和地磁计打交道, 这类三轴传感器都有一个特性,三个轴的零飘不一样,三个轴的比例尺不一样,随机游走我们暂且不考虑, 那么这时候 ...
- 基于椭球 磁补偿 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 ...
- 椭球拟合的电子罗盘磁差补偿_椭球拟合的电子罗盘磁差补偿
椭球拟合的电子罗盘磁差补偿 孙倩 ; 付虹 [摘 要] 对电子罗盘磁差补偿的椭球拟合校准法进行深入研究 , 并分解为硬磁.软 磁.比例系数校准和未对准误差校准 , 分别进行仿真分析 , 直观给出各部分 ...
- 【传感器】最小二乘法实现磁力计椭球校准
总体思路 磁力计的数据在实际中是椭球的形状,在此之前使用了球体拟合进行校准,也就是简化为正球体的模型,得出的结果比较差,航向计算不准,还是需要用椭球的模型来估计偏移量,先使用标准的椭球方程,进行化简与 ...
- 椭球拟合的电子罗盘磁差补偿_基于椭球曲面拟合的三维磁罗盘误差补偿算法.pdf...
您所在位置:网站首页 > 海量文档  > 学术论文 > 自然科学论文 基于椭球曲面拟合的三维磁罗盘误差补偿算法.pdf ...
最新文章
- 《Windows Server 2012 Hyper-V虚拟化管理实践》——1.3 物理服务器选型建议
- 生态伙伴 | 飞书携手ProcessOn助力企业高效远程办公,共同“战疫”
- 本地连接受限制或无连接的解决办法
- java获取其他类的线程,使用Java实现面向对象编程——第七章 多线程
- 洛谷——P1071 潜伏者
- P2403 [SDOI2010]所驼门王的宝藏
- 杭州获评全国最智慧城市
- HeidiSQL- csv 表格导入数据到 DB表
- koa2 导出excel表格设置样式_一调整Excel表格的行列宽度,图片又得重新调整?点这个设置就行...
- ExtJS(5)- Ext5的统计图Chart
- dicom格式怎么转换_flv怎么转换成mp4格式?三种最常用的转换方法都在这了!
- 免费分享9本经典的MySQL书籍。
- 数字电路逻辑设计 总结
- 大多数Nobody游戏下载(带象棋残局攻略) 中文破解版
- 计算机音乐数字谱铃舟,天涯明月刀手游音乐曲谱大全 天涯明月刀曲谱大全简单图片...
- Android中验证姓名、身份证、银行卡、手机号(正则表达式校验)
- 计算机未连接到互联网(win11系统)
- mysql外键设置不成功_MySQL数据库建立外键失败的原因总结
- AI文件资源导出方法
- ubuntu 下安装搜狗