SLAM学习 | 小觅相机的图像与IMU时间戳对齐分析

  • 1 在时间轴上标注时间戳
  • 2 时间戳对齐误差
  • 3 通过增加IMU频率减小对齐误差

概要: 接前文——SLAM学习 | 使用小觅相机MYNTEYE-S1030收集数据集,得到了图像与IMU数据之后,由于两者采样频率相差很大,所以首先需要分析他们各自的时间戳对齐情况。相机官网上说已经通过相关芯片进行了硬件对齐,且误差保持在5ms以内,那就正好来验证一下吧。
关键字: 小觅相机; 视觉-IMU时间戳对齐

1 在时间轴上标注时间戳

   在前文中提到,一次采集可以得到5种数据,分别是4种图像数据——深度图depth、差分图disparity、光学左图left、光学右图right和1种运动数据——IMU数据,如图1所示:

图1 小觅相机运行record例程采集到的数据的文件结构

   其中4种图像的时间戳相同,因此只需比较一种图像,如left的时间戳与IMU时间戳。时间戳数据如下例所示:

2047232990

   数据精确到微秒,当前时刻是2047秒232990微秒。

   在时间轴上分别标识left与IMU的时间戳,如图2所示:

图2 图像(红点)与IMU(蓝点)时间戳

   其中红点、蓝点分别表示图像、IMU时间戳。从图中大致可以看出,每两个红点之间存在8个蓝点间隔,这与预设的图像帧率25fps、IMU频率200Hz吻合。

2 时间戳对齐误差

   为了更进一步分析两者对齐情况,对每个图像时间戳,从IMU时间戳中筛选出最接近的那一个,并计算两者误差,得到如图3所示的误差曲线:

图3 图像与IMU时间戳对齐误差

   由图3所示,图像与IMU时间戳误差大致在0-2500微秒区间内呈周期性波动,最大误差也仅有2.5毫秒左右,这对40毫秒的图像采样间隔来说一般是可以接受的。

   在同样的图像帧率、IMU频率(25fps,200Hz)下再做两组实验,得到的结果如图4(1)(2)所示,结论一致。

图4(1) 图像与IMU时间戳对齐误差(第二组实验) 图4(2) 图像与IMU时间戳对齐误差(第三组实验)

3 通过增加IMU频率减小对齐误差

   更进一步,如果对时间戳对齐误差容忍度更低,则可以通过增加IMU频率实现。保持图像帧率为25fps,将IMU帧率提高到50Hz,则每帧图像与其时间最接近的IMU时间戳之间的误差如图5所示:

图5 IMU在500Hz频率下,图像与IMU时间戳对齐误差

   可以看到,当IMU频率提高到500Hz时,图像-IMU时间戳对齐误差的波动区间由原来的0-2500us降低到0-1000us。

   一般地,设IMU频率为f(单位:Hz),则图像-IMU时间戳对齐误差的波动上限UP=1000/(2*f)(单位:毫秒),波动区间为[0, UP]。

SLAM学习 | 小觅相机的图像与IMU时间戳对齐分析相关推荐

  1. SLAM之小觅相机跑开源方案(ORB_SLAM2,VINS MONO,VINS FUSION,RTAB-Map)

    传感器: 小觅相机标准版 开源SLAM方案: ORB_SLAM2,VINS MONO,VINS FUSION,RTAB-Map 测试地点: 室内大厅(光线不均)/ 露天阳台 实现形式: 小觅相机 / ...

  2. Ubuntu18.04 配置orbslam2环境+小觅相机测试(零基础)

    写在前面: ubuntu的安装建议采用双系统模式,不建议用虚拟机,会出现奇怪错误导致配置环境失败. 本教程使用 ubuntu18.04 ,双系统的安装请自行搜索教程安装. 本人的毕业设计做的是slam ...

  3. 小觅相机深度版运行Vins-mono

    首先声明,本人自己也是slam新手,此贴只因为自己在用小觅相机深度版运行Vins的时候太过无助,所以想写个自己运行出结果的完整过程,仅供参考,如有不对之处,还望不吝指教. 我的电脑是Ubuntu16. ...

  4. 小觅相机录制rosbag数据集

    数据集录制: 使用的相机是双目深度版,首先启动launch文件 roslaunch mynteye_wrapper_d display.launch 然后对图片和imu数据录制,考虑到RGB图像会导致 ...

  5. SLAM学习 | 单目相机标定(附代码实测可用)

    SLAM学习 | 单目相机标定(附代码实测可用) 1 针孔相机模型 2 张正友标定法 3 VS2013下配置openCV 4 标定过程与结果 5 经验总结与注意事项 概要: 这篇文章介绍如何解决做SL ...

  6. 小觅相机运行VINS-Fusion(一)

    写在前面的话: 1.本文基于自己的另一篇博文win10+ubuntu16.04+ROS Kinetic 2.参考[4]是一篇非常好的帖子,但由于小觅托管在github的代码在不断更新,故需在某些步骤及 ...

  7. 使用小觅相机录制数据集

    文章目录 1 目的 2 方法 2.1 SDK 2.2 ROS bag 2.2.1 录制bag 2.2.2 从bag文件中提取数据 2.2.2.1 提取图像 2.2.2.2 提取IMU数据 3 相关核心 ...

  8. 使用小觅相机录制指定话题的数据集

    1 开启小觅相机(安装好相机的SDK,按照官网安装) make init make ros 注意,发现一个Bug 我的相机不能在ROS中启动,最终换了一个usb口,因为我的电脑如果有两个USB口,好像 ...

  9. 小觅相机D系列跑vins fusion

    有幸使用一款D系列小觅相机.今天测试了下它跑vins fusion的表现.其中有一个注意点,官方文档没有说明.这里记录一下. D系列小觅相机添加了IR散斑投射器,用来恢复没有纹理细节时的深度.这与老版 ...

最新文章

  1. 算法 深度优先,广度优先
  2. OutOfMemoryError dump memory
  3. java类验证和装载顺序_Java类的加载顺序
  4. python浪漫文艺_Python程序员的文艺之路
  5. C#中的i++和++i
  6. SQL注入学习part05:(结合sqli-libs学习:41-50关)
  7. 修改TFS2013服务账户或者密码
  8. sas软件连接Oracle数据库的办法
  9. java如何实现进程间的通信?
  10. Mac VM 虚拟机固定IP
  11. 提升测试效率都有哪些具体手段?
  12. hdoj--1495--非常可乐(搜索+隐式图)
  13. AllData一站式大数据平台【一】
  14. Angular开发(三)-关于属性绑定与事件绑定
  15. po vo pojo domain 区别
  16. 简单实现图片多选功能
  17. 初中英语多词性单词怎么办_初中英语单词巧记方法
  18. 湘潭哪里学计算机编程,湘潭哪里学机器人编程?湘潭学机器人编程的学校有哪些?...
  19. dau、mau、pcu、dnu、wau、acu、uv的意思是什么?怎么分析?
  20. 基于虚拟机Ubuntu系统下C语言简单编写程序

热门文章

  1. python constrain_python-constraint:根据函数的输出设置约束
  2. Codeforces 616A
  3. php 实现订单打印,电子商城实现订单打印
  4. 普通管线的材质球在URP渲染管线中出现的材质丢失问题
  5. 7-4 偶数乘2奇数乘3 (10分)
  6. xilinx基础篇Ⅰ(3)ISE14.7下载FPGA
  7. sql:当一列为空时取另一列(case when then)
  8. 代号Gimmick Arch Linux 0.7.2发布
  9. 《Web安全之机器学习入门》笔记:第十章 10.3 K-Means算法检测DGA域名
  10. RichClient/RIA原则与实践(上)