0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一种易于实现的无外部设备IMU校准方法

zhc135136 来源:SmartHWFW 2023-05-24 17:28 次阅读

0.说在最前面的话

在阅读论文《A Robust and Easy to Implement Method for IMU Calibration without External Equipments》的时候了解到,IMU-TK 这个开源工具是基于此论文为理论依据开发的。IMU-TK 这个工具用来标定确定性误差(系统误差),是一个基于C++的开源IMU数据处理库,用于处理惯性测量单元(IMU)数据,包括加速度计、陀螺仪和磁力计等传感器。该库提供了一组API,可以用于读取IMU数据、进行校准、等操作。

1.算法思想

加速度计的标定利用了加速度计在静止状态下的三轴数据模值等于重力加速度这一条件,采集加速度计在不同状态的静止数据(测量值),通过测量值与真实值,构建最小二乘法问题,LM求解,即可求出标定参数

陀螺仪的标定需要加速度计数据的参与,所以需要先标定好加速度计。在标定陀螺仪时,IMU从静止状态A,通过一段时间,到了静止状态B,通过陀螺仪可以算出来A到B的旋转矩阵,而通过加速度数据也可以算出来A到B的旋转矩阵,最小化这一差异即可实现优化求解。

2.误差模型

论文中详细的推到了误差模型的方程,这里直接给出整理过的误差模型方程

ef419608-e6d7-11ed-ab56-dac502259ad0.png

ef5f1d40-e6d7-11ed-ab56-dac502259ad0.png

网络上可以找到大量的对此论文的详解和学习笔记,我推荐查阅作者为:声时刻 的博文。作者不仅对文中提到的论文有深厚的理解,而且还自己发布了一篇 《Low-Cost Inertial Measurement Unit Calibration With Nonlinear Scale Factors》并且利用 matlab 自己写了一个类似ICRA2014论文的算法。

3.校准流程

为了避免标定参数估计中的不可观察性,至少需要收集IMU9个不同姿态的数据,姿态数越多,标定结果越准确。

初始化时间 T一般取 50s,旋转后保持静态时间t 取1∼4s,旋转次数 N 取36∼50次。

ef700c18-e6d7-11ed-ab56-dac502259ad0.png

4.生成标定参数

生成两个标定文件test_imu_acc.calib、test_imu_gyro.calib ,分别为陀螺仪和加速度计的 旋转矩阵(misalignment matrix),刻度因数(scale matrix)和零偏(bias),格式如下:

 general case:
  
      [    1     -mis_yz   mis_zy  ]
  T = [  mis_xz     1     -mis_zx  ]
      [ -mis_xy   mis_yx     1     ]
  
  "body" frame spacial case:
  
      [  1     -mis_yz   mis_zy  ]
  T = [  0        1     -mis_zx  ]
      [  0        0        1     ]
  
  Scale matrix:
  
      [  s_x      0        0  ]
  K = [   0      s_y       0  ]
      [   0       0       s_z ]
  
  Bias vector:
  
      [ b_x ]
  B = [ b_y ]
      [ b_z ]

给定原始传感器读数X(例如加速度),计算校准的"无偏"读数 X'

ef7ef778-e6d7-11ed-ab56-dac502259ad0.png

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2526

    文章

    48110

    浏览量

    740122
  • 开源
    +关注

    关注

    3

    文章

    2989

    浏览量

    41720
  • 加速度计
    +关注

    关注

    6

    文章

    661

    浏览量

    45420
  • 模型
    +关注

    关注

    1

    文章

    2704

    浏览量

    47692
  • IMU
    IMU
    +关注

    关注

    5

    文章

    263

    浏览量

    45297

原文标题:论文阅读 | 《一种鲁棒且易于实现的无外部设备IMU校准方法》_笔

文章出处:【微信号:SmartHWFW,微信公众号:SmartHWFW】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    请教:如何编写外部设备的驱动,以便labview引用?

    如何编写外部设备的驱动,以便labview引用?
    发表于 01-21 08:53

    USB晶振为计算机系统与外部设备架桥梁

    计算机系统与外部设备一种串口总线标准,也是一种输入输出接口的技术规范,被广泛地应用于个人电脑和移动设备等信息通讯产品。USB工作原理:USB是
    发表于 07-26 14:16

    一种AMR磁罗盘的误差建模与校准方法

    一种AMR磁罗盘的误差建模与校准方法
    发表于 08-17 12:10

    I2C控制外部设备

    I2C的自发自收没问题,但接外部设备后,向DXR寄存器写数后TXRDY直没响应,请问XSMT和TXRDY有什么区别?有无I2C控制外部设备的例子?谢谢!
    发表于 06-21 02:18

    连接着外部设备为什么出现这种事情

    连接着外部设备,为啥会出现这种事情
    发表于 08-31 16:57

    IMU的工作原理是什么?怎样去搭建一种IMU误差模型?精选资料分享

    IMU的工作原理是什么?IMU、AHRS、VRU和INS的区别在哪?怎样去搭建一种IMU误差模型?惯性传感器分为哪几种?怎样去选择?
    发表于 07-13 06:16

    如何连接Arduino和外部设备

    Aduino是什么?Arduino与单片机的关系?如何使用Arduino?如何连接Arduino和外部设备
    发表于 11-04 06:50

    怎样通过IO口的高低电平变换来实现外部设备的交互动作呢

    从单片机到嵌入式开发——(1) IO口使用介绍单片机对外部设备的交互动作,归根结底都是通过IO口的高低电平变换来实现的。通过控制高低电平的输出,单片机可以令外部设备开启或关闭,可以
    发表于 11-22 07:41

    cpu与外部设备之间如何通信?

    cpu与外部设备之间如何通信?
    发表于 12-06 06:31

    处理器如何与外部设备通信?

    处理器如何与外部设备通信?
    发表于 12-13 07:44

    一种NFC源通讯控制方法

    本方案提供一种NFC源通讯控制方法,由主模块与从模块两部分组成,从模块是源工作方式,当从模块靠近主模块时,通过主模块磁场耦合,产生电源,可以供外面MCU使用,同时,提供SPI接口与
    发表于 12-29 08:31

    如何利用USART串口输出实现外部设备与处理器的通信

    USART串口输出该怎样去使用呢?如何利用USART串口输出实现外部设备与处理器的通信?
    发表于 02-18 06:29

    单片机和外部设备的通信方式

    单片机和外部设备或者器件进行通信,目前主要IC,UART,SPI,SDIO,FSMC或者私有时序等几种通信方式。
    的头像 发表于 09-28 08:46 1.1w次阅读
    单片机和<b class='flag-5'>外部设备</b>的通信方式

    电子计算机外部设备原理

    对电子计算机外部设备原理进行说明。
    发表于 03-17 15:47 7次下载
    电子计算机<b class='flag-5'>外部设备</b>原理

    带有BLE设备并支持UART和I2C外部设备的板

    电子发烧友网站提供《带有BLE设备并支持UART和I2C外部设备的板.zip》资料免费下载
    发表于 07-07 09:51 1次下载
    带有BLE<b class='flag-5'>设备</b>并支持UART和I2C<b class='flag-5'>外部设备</b>的板