100Hz IMU Data from KITTI dataset (2011_09_26_drive_0028)

原始100Hz IMU数据获取

数据集获取地址 (这里选的是road 分类):
http://www.cvlibs.net/datasets/kitti/raw_data.php?type=road

100Hz的IMU数据在 [unsynced+unrectified data] 中,而 [synced+rectified data] 保存的是修正后的10Hz数据。

100Hz IMU 数据展现与问题

这里下载使用的是 2011_09_26_drive_0028,包含43s 的公路行驶,公路为双向单车道。

写了一个matlab脚本:getNaviData_ext, 来获取IMU数据,并保持到TraceData.mat文件中以备分析和后用。
首先,检查时间戳是否有问题。
TraceData第一列为整理后的时间戳 t_acc=TraceData(:,1),以第一个时刻为0时刻,剩余时刻为与第一个时刻的差。正常情况下,k时刻 t_acc(k) - t_acc(k-1) 应该为0.01s. 作图

  1. t_dt = diff(TraceData(:,1));

但是发现,会有负值出现。

为分析为何出现负值,先找到对应的点,看它们的数据

  1. kminus=find(t_dt<0)
kminus =1850191023072364237524252431251325192762288529443018302432353290341134453494357835853771402340294057409242154374

共有28处存在负值,大小为-0.05左右。

以第一处 k= 1850为例,发现k=1851~1856 与 k=1845~1850 数据出现重复,

再看k=1910附近:

看2307

以及剩下的

经过手工标记,除去重复数据点,得到数据间隔如下

free INS: 10Hz数据和100Hz数据解算结果对比

(1)10Hz pure INS result

(2)100Hz pure INS result

100Hz IMU 数据与校正后image数据 时间戳的同步

时间戳文件:
100Hz IMU: 2011_09_26_drive_0028_extract\oxts\timestamps.txt
校正后camera0: 2011_09_26_drive_0028_sync\image_00\timestamps.txt

以100Hz IMU的第一个时间戳为基准 (0时刻),得到剩余IMU数据的时间戳,以及camera0 图像的时间戳(保存)。

校正后图像的时间戳比较均匀(0.1s), 而经过重复数据剔除后的100Hz IMU时间戳时间不均匀,也就是说每10个点时间戳相差并不是0.1s,有时候回出现更多的情况(由于有些时刻没有IMU数据),见下图。

由于数据图像是每0.1s采集,这就需要对IMU数据与图像数据进行时间配准。
10Hz Raw Data 同步方法:

In order to synchronize the sensors, we use the timestamps of the Velodyne 3D laser scanner as a reference and con- sider each spin as a frame. We mounted a reed contact at the bottom of the continuously rotating scanner, trigger- ing the cameras when facing forward. This minimizes the differences in the range and image observations caused by dynamic objects. Unfortunately, the GPS/IMU system can- not be synchronized thatway. Instead, as it provides updates at 100 Hz,we collect the information with the closest times- tamp to the laser scanner timestamp for a particular frame, resulting in a worst-case time difference of 5 ms between a GPS/IMU and a camera/Velodyne data package. Ref: Vision meets robotics: The KITTI dataset

这里有三个方法可供选择:

  • 找到第一个大于当前图像时间戳的IMU时间戳,该时刻置 有image观测的标志 (正常情况0.01s 最大误差)。最简单,实时软件中也会出现的情形。
  • 找到距离当前图像最近的IMU时间戳,该时刻置 有image观测的标志 (正常情况0.005s 最大误差)。适合离线处理。
  • 找到第一个大于当前图像时间戳的IMU时间戳,结合前一时刻(及前前时刻)的INS导航解,插值出image时刻的导航解,再做融合。复杂些,也可用于实时软件。

另一个需要调整的地方在程序中的时间控制部分,因为程序中一些模块的触发是以计数的形式,且某些时间区间也是区间计数值与固定周期的乘积。在周期一定的规则数据下运行没有问题,但是现在100Hz IMU数据并不是规则周期的。

100Hz IMU Data from KITTI dataset (2011_09_26_drive_0101)

同样的方法,对2011_09_26_drive_0101_extract的100Hz IMU的数据进行规整,去除重复数据。
生成TraceData后。

显示上下俩时刻时间间隔

  1. t_dt = diff(TraceData(:,1));


找到负值对应的时间点,在.mat数据中检查对应点附近数据。

  1. kminus=find(t_dt<0)
    kminus =1004251125175538653871597337886593719377

开始手工标记重复数据:
(1)index=1004 附近:重复数据1001-1004

(2) index = 2511, 2517 附近: 重复数据 2508-2517

(3) index = 5538 附近: 重复数据 5538

(4) index = 6538 附近: 重复数据 6537-6538

(5) index = 7159 附近: 重复数据 7156-7159

(5) index = 7337 附近: 重复数据 7332-7337

(5) index = 8865 附近: 重复数据 8866-8871

(5) index = 9371, 9377 附近: 重复数据 9371-9377

除去重复数据点,

  1. index_del =[1001:1004,2508:2517,5538,6537:6538,7156:7159,7332:7337,8866:8871,9371:9377];
  2. TraceData(index_del,:)=[];

data number changed: 9725 -> 9685

得到数据间隔如下:

保存TraceData 数据, 以备后用。

From WizNote

转载于:https://www.cnblogs.com/goodknight/p/7426221.html

KITTI IMU 原始100Hz数据 (里面数据有重复)相关推荐

  1. kitti pkl可视化_KITTI 3D Lidar 数据可视化

    前言Lilikili:在尝试做Lidar方面的研究的时候,发现对于可视化大家的脑洞还不是很够,所以提供一些思路让大家蛤一下. 数据集 本次使用的数据集是KITTI 3D object detectio ...

  2. php单击显示对应内容,关于php:如何单击此“提交”按钮,并使其显示原始查询中的数据,而不是清除它并进入空白页?...

    我正在运行这段代码.它显示一个问题和可能的答案.当我单击提交按钮时.转到空白页. 我收到错误"未定义的索引计数"和"未定义的索引主题".因此,这告诉我它再次运行 ...

  3. R语言使用colSums函数对矩阵或者数据框数据的列求和、使用rbind函数行列和向量附加到原始矩阵数据尾部

    R语言使用colSums函数对矩阵或者数据框数据的列求和.使用rbind函数行列和向量附加到原始矩阵数据尾部 目录

  4. 为什么大数据需要数据湖?

    自2011年"数据湖"概念被提出,业界便对数据湖一直有着广泛而不同的理解和定义. "数据湖是一个集中化存储海量的.多个来源,多种类型数据,并可以对数据进行快速加工,分析的 ...

  5. 深度学习和目标检测系列教程 9-300:TorchVision和Albumentation性能对比,如何使用Albumentation对图片数据做数据增强

    @Author:Runsen 上次对xml文件进行提取,使用到一个Albumentation模块.Albumentation模块是一个数据增强的工具,目标检测图像预处理通过使用"albume ...

  6. powerbi实时刷新mysql数据库_PowerBI开发 第七篇:数据集和数据刷新

    PowerBI报表是基于数据分析的引擎,数据真正的来源(Data Source)是数据库,文件等数据存储媒介,PowerBI支持的数据源类型多种多样.PowerBI Service(云端)有时不直接访 ...

  7. 无法从套接字中获取更多数据_数据科学中应引起更多关注的一个组成部分

    无法从套接字中获取更多数据 介绍 (Introduction) Data science, machine learning, artificial intelligence, those terms ...

  8. 敏捷数据科学pdf_敏捷数据科学数据科学可以并且应该是敏捷的

    敏捷数据科学pdf TL;DR; TL; DR; I have encountered a lot of resistance in the data science community agains ...

  9. 数据科学家数据分析师_站出来! 分析人员,数据科学家和其他所有人的领导和沟通技巧...

    数据科学家数据分析师 这一切如何发生? (How did this All Happen?) As I reflect on my life over the past few years, even ...

最新文章

  1. 顶级数据库管理系统的性能比较研究(论文翻译)
  2. 十佳自由Linux物理工具
  3. 子查询引用外表_轻松搞定慢查询?这一文就够了(内附大量实例助你看懂Explain)...
  4. [WebApp开发]基础教程-Google官方文档-第四篇
  5. WPS for Linux(ubuntu)字体缺失解决办法(转)
  6. 构建Docker镜像仓库的另一选择:Nexus3 - DockOne.io
  7. asx根据时间点播放
  8. 使用VBScript和ADSI
  9. 并行计算,网格计算与分布式计算的…
  10. Redis 微博微信场景使用案例
  11. php在word中生成表格,word创建表格的三种方法分别是什么
  12. 如何给WORD文档添加外边框,教程在这里,WORD页面外边框怎么添加
  13. 水逆了一整年的王源,2020年年初能靠《大主宰》翻身吗?
  14. java 大量数据保存_使用Java保存大量数据的最佳实践
  15. vue cli可视化面板运行serve报错:Error: Package exports for ‘D:\*******(路径)\node_modules\colorette‘ do not defi
  16. Python请求HTTPS证书错误
  17. 39岁单身程序员入住养老院
  18. 某计算机主存储器的电流如下图所示,试问:1)ROM和RAM芯片的规格是多少?(用?K*?位表示)2)ROM和RAM的容量各是多少?(用KB表示)3)ROM和RAM的地址范围是多少?))
  19. 如何树立正确的人生观、价值观、世界观?
  20. 用Python画一只可爱的小熊猫

热门文章

  1. 工业组态领头羊--组态王开始涉足.net程序开发(与林伟先生一次近距离接触)...
  2. 判断变量是否为数组的几种方法
  3. WPF TabControl Unload俩次的解决方案
  4. 使用Helm 在容器服务k8s集群一键部署wordpress
  5. React之渲染元素
  6. 两个linux之间拷贝文件及文件夹
  7. 变量声明和定义的区别
  8. jQuery EasyUI使用教程之使用标记创建树形菜单
  9. Indy接收邮件可能会出现的一个Bug
  10. 阎崇年:《袁崇焕传》自序