在搞自动控制中,很少有人能不和陀螺仪,加速度计这些打交道,当然还有些人还不免和地磁计打交道,

这类三轴传感器都有一个特性,三个轴的零飘不一样,三个轴的比例尺不一样,随机游走我们暂且不考虑,

那么这时候对这一类的器件就很需要用到椭球校准了,自然免不了椭球拟合了,

对加速度计做个椭球校准,网上找找,然后就看到了一个叫做Elor的人写的文章,大家也许看过了,网上搜索 “罗盘和加速度计校正方法” 这个文章,但是显然文章不是我要的,要是要了,就没有我这里的分享了,

作者还是蛮不错的,分享了很多,但是个人感觉数学意识不够严谨,他说网上的公式写的晦涩难懂,他推导了一遍,但是实际是有点问题的,此外他的代码也是有点问题的,超过6个采样数据,基本就解算不出来了,少于6个也解算不出来,这样的校正意义很有限,

其实实现起来也很简单,主要是大学数学,数值分析的基本功,我这里参考了Elor的部分架构,但是换了一副汤药,写了下面的代码,不存在以上说的那些问题

东西很简单,我这里只是提供了一个实际验证鲁棒性还好的算法,给有需要的同学

基本原理:基于最小二乘法的椭球拟合

这个基于最小二乘法的椭球拟合,我就不赘述原理了,网上有人整理的很好,通俗易懂,推导严谨,也是正统做法,这里贴出人家CSDN空间二次曲面数据拟合算法推导及仿真分析 - CSDN博客 有兴趣的直接去看人家解释就好了,

可惜人家是matlab代码,不是c代码,想移植做片上系统的朋友可能嫌麻烦了,好在不是很难的东西,我这里也没有参考matlab代码,简单的c就可以写出来了;

VS上直接建立桌面控制台程序粘贴进去就可以用了,

全部用了万精油的double变量,想移植到stm32上的朋友你可能要自己改改float或者定点,

贴出来的点就在于我这个代码可能离实际能用的接近点;

使用的是列主元gauss消去求解的非齐次线性方程组;

程序代码:见下

验证:4个采样点,8个采样点,10个采样点,更多的都试过,没有问题,拟合出来的是离你们所有采样点的误差之和最小的一个曲面

//椭球校准.cpp

运行的结果:

基本就是常规做法;

采样点是通过下面的函数输入的,

CalcData_Input(87,-52,-4454);

数据中87是加速度计x轴数据,-52是y轴数据,-4454是z轴数据,

实际测量的数据,

数据中加速度计采用了±8g的量程,所以重力幅理论应该是4096,

这里可以看出来椭球还是蛮明显的,

在最后的结果上面,给出了增广矩阵,列主元gauss消去时候的算阶梯矩阵的每个步骤

好了,就分享到这里把

与2018.05.24*********************************************************

20180528

新抛出一个问题,有试过我代码的小伙伴,也许会注意到,有时候四个点也是可以算出来这个结果的,甚至3个点也是可以算出来的,神奇不?明明确定一个椭圆是要6个变量的,现在只要三个样本为什么就能确定椭圆了?或者换句话说,为什么系数矩阵没有奇异,很神奇啊,对不对

20181228

就上面的这个问题,今天给个回答啊,直接放一张朋友左神的见解,

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

  1. 乒乓球捡球机器人_打乒乓终于可以不用捡球了?

    原标题:打乒乓终于可以不用捡球了? 近日,上海华东师范大学附属枫泾中学的一个叫姚妍的15岁初中女生发明了一台可以捡拾乒乓球的机器人,该机器人能自动寻找.收集散落在地面的乒乓球. 姚妍表示,这款机器人的 ...

  2. n维椭球体积公式_混凝土工程量计算规则及公式

    ▶下载微试验APP ▶发布招聘 点击进入"微试验_视频课件+题库复习+模拟考试"学习 混凝土垫层工程量计算规则及公式 1.条形基础砼垫层计算公式  外墙条基砼垫层体积=外墙条形基础 ...

  3. n维椭球体积公式_干掉公式 —— numpy 就该这么学

    文 | 太阳雪 来源:Python 技术「ID: pythonall」 机器学习和数据分析变得越来越重要,但在学习和实践过程中,常常因为不知道怎么用程序实现各种数学公式而感到苦恼,今天我们从数学公式的 ...

  4. n维椭球体积公式_【三分钟知识点】初中物理公式大全,赶快收藏!

    感谢您关注"高中物理"公众号,如您尚未关注,请点击上方蓝字关注我们,获取更多知识方法.每日更新,与您不见不散! 想要学好初中物理,熟记物理公式是前提,下面是我们为大家整理的初中物理 ...

  5. n维椭球体积公式_中考物理各种公式单位换算总结

    一.速度公式 物理量 计算式 国际主单位 常用单位 换算关系 速度v V=s/t m/s Km/h 1m/s=3.6km/h 路程s S=vt m Km 1km=1000m 时间t t=s/v s h ...

  6. n维椭球体积公式_为了方差无偏估计为什么要用n-1?

    这是为了回答 有没有大神能通俗易懂地不照搬百度地解释一下算标准差分母那个n-1自由度的概念?​www.zhihu.com 通俗易懂?那肯定是说不清的!因为这本来就是数学问题... 首先你需要正确理解什 ...

  7. n维椭球体积公式_【“数”你好看】点到直线与面的距离公式

    点到直线的距离公式是高中常见的解析几何公式,形式很优美,但很多人不清楚它的由来,本篇主要来推导一下这个公式,并推广到点到面的距离公式. 基础知识 向量(vector):方向(direction)+大小 ...

  8. n维椭球体积公式_洛氏硬度、布氏硬度、维氏硬度区别与对照

    一.硬度简介: 硬度表示材料抵抗硬物体压入其表面的能力.它是金属材料的重要性能指标之一.一般硬度越高,耐磨性越好.常用的硬度指标有布氏硬度.洛氏硬度和维氏硬度. 1.布氏硬度(HB) 以一定的载荷(一 ...

  9. n维椭球体积公式_初中化学知识点:物质的量及其计算公式

    初中化学开篇,我们接触到了物质的量这一概念,很多同学在遇到此类试题时,往往出现各种各样五花八门的错误,今天我们就来具体学习什么是物质的量以及我们应该如何计算物质的量. [物质的量定义] 表示物质所含微 ...

最新文章

  1. numpy list df tensor的相互转换
  2. 为了提高工作效率:通过pycharm的模板代码减少重复工作
  3. Angular指令 - 何时以及如何使用编译,控制器,预链接和后链接[关闭]
  4. uva 10692——Huge Mods
  5. 嵌入式Linux系统的构成和启动总结
  6. 如何查看vantUI官方组件的.vue文件(抛转篇)
  7. Elasticsearch: 配置文件详解
  8. ORB-SLAM3单目初始化,地图的初始化
  9. java replace三个参数_javascript replace()第二个参数为函数时的参数用法
  10. Win10 Windows Defender自动删除破解工具的exe文件
  11. 电脑链接打印机方法(TCP/IP连接,Windows10适用,其他版本未验证)
  12. 字体:等宽字体与比例字体 - Monospaced font Proportional font
  13. What Makes a Video a Video :Analyzing Temporal Information in Video Understanding Models and Dataset
  14. 一个 Python Bug 干倒了估值 1.6 亿美元的公司
  15. ubuntu 16.04 通过wine安装Kindle for pc 中文无乱码
  16. 中英文标点符号的读法用法大全
  17. 如何使用Excel管理项目?
  18. Wos/Pubmed/Scopus数据库一键去重+清洗数据 CiteSpace Vosviewer
  19. 数据结构--逻辑结构和存储结构区别和内容
  20. 微博短链接生成 php,新浪微博API生成短链接

热门文章

  1. sql查询初学者指南_面向初学者SQL Server查询执行计划–聚集索引运算符
  2. print('{:15}|{:^9}|{:^9}'.format('', 'lat.', 'long.'))是什么意思?
  3. 五、stdout,stdoin和stderr
  4. linux用命令行运行matlab的.mat文件
  5. 强烈建议大家把 CBCentralManager.h 里面的代理方法全部看一遍(就是翻译一遍,别偷懒)。@file CBCentralManager.h...
  6. PostgreSQL高可用性、负载均衡、复制与集群方案介绍
  7. oracle 多表视图更新
  8. Ref和Out关键字的区别
  9. 配置跳转指定_http自动跳转https的配置方法
  10. SecureCRT 连数据库,启动tomcat操作命令