EuRoC数据集介绍

2023-05-16

数据集官网:https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets

EuRoC数据集
微型飞行器(MAV)上收集的视觉惯性数据集

数据集格式
每个场景同时保存了 .bag 的 rosbag 文件和 .zip 的压缩文件,但是在国内的网络中下载 .bag 文件异常缓慢,而 .zip 更小,下载要稍快一些。而且 .zip 文件解压后的文件夹中包含了比 rosbag 更多的信息,既包括了双目的图像和 imu 信息,还有传感器安装方位和采用外部定位设备获取的姿态和位置的真值信息,对于算法初始化和后续验证算法准确性是非常必要的。

移动平台与传感器
使用的机型为:Asctec Firefly六角旋翼直升机
视觉惯性测量的传感器包括:视觉(双相机)惯性测量单元(IMU)

硬件设备

飞行器机体:AscTec Firefly

双目VIO相机:全局快门,单色,相机频率20Hz,IMU频率200Hz,具备相机和IMU的硬件(hw)同步,双目相机型号MT9V034,IMU型号ADIS16448

VICON0:维肯动作捕捉系统的配套反射标志,叫做marker

LEICA0:是激光追踪器配套的传感器棱镜,叫做prism

Leica Nova MS50: 激光追踪器,测量棱镜prism的位置,毫米精度,帧率20Hz,

Vicon motion capture system: 维肯动作捕捉系统,提供在单一坐标系下的6D位姿测量,测量方式是通过在MAV上贴上一组反射标志,帧率100Hz,毫米精度

硬件图及坐标系图
在这里插入图片描述

传感器相对位置
在这里插入图片描述在这里插入图片描述

如上图,总共框中四个传感器,对应数据集结构中cam0,cam1,imu0,leica0四个文件夹,其中prism和marker公用一个坐标系,

飞行器的Body Frame是以IMU的中心作为Body Frame的,四个文件夹所有的传感器数据都是相对于各自的传感器坐标系(Sensor Frame)的,当然IMU的Sensor Frame就是飞行器的Body Frame

在每个传感器文件夹里配套一个senor.yaml文件,描述了该传感器相对于Body坐标系的坐标变换情况,以及传感器内参。

上图的相机现在能拍到我们,这个图画的可能不太对,IMU坐标原点实际上在两个相机后面,如下图:
在这里插入图片描述注意:
body到cam0的刚体变换矩阵,实际上这个刚体变换矩阵的(0,3),(1,3),(2,3)这三项的值分别为:cam0的坐标原点在body坐标系中的坐标。

groundtruth采集
采用以下传感器采集6自由度的运动与结构
1)Leica MS50 激光跟踪扫描仪:毫米精确定位
LEICA0:激光追踪器配套的传感器棱镜【prism】
Leica Nova MS50: 激光追踪器,测量棱镜prism的位置,毫米精度,帧率20Hz,

2)Vicon 6D运动捕捉系统
VICON0:维肯动作捕捉系统的配套反射标志,叫做marker
Vicon motion capture system: 维肯动作捕捉系统,提供在单一坐标系下的6D位姿测量,测量方式是通过在MAV上贴上一组反射标志,帧率100Hz,毫米精度

视觉惯性传感器与groundtruth数据之间,通过外部校准使得时间戳同步。

数据集内包含的数据:
· 视觉惯性传感器:
双相机 (Aptina MT9V034型号 全局快门, 单色, 相机频率20Hz)
MEMS IMU (ADIS16448型号 , 测量角速度与加速度,测量频率200 Hz)
(以视觉图像的时间戳为基准进行对齐)
· groundtruth
Vicon运动捕捉系统【marker】(6D姿势)
Leica MS50激光跟踪仪(3D位置)
Leica MS50 3D 结构扫描
· 传感器校准
相机内参
相机-IMU外参

数据集文件结构
例如: 文件名MH_01_easy [工厂场景]

 ——mav0
      — cam0
        data :图像文件
        data.csv :图像时间戳
        sensor.yaml : 相机参数【内参fu,fv,cu,cv、外参T_BS(相机相对于b系的位姿)、畸变系数】
      — cam1
        data :图像文件
        data.csv :图像时间戳
        sensor.yaml : 相机参数【内参fu,fv,cu,cv、外参T_BS(相机相对于b系的位姿)、畸变系数】
      — imu0
        data.csv : imu测量数据【时间戳、角速度xyz、加速度xyz】
        sensor.yaml : imu参数【外参T_BS、惯性传感器噪声模型以及噪声参数】
      — leica0
        data.csv : leica测量数据【时间戳、prism的3D位置】
        sensor.yaml : imu参数【外参T_BS】
      — state_groundtruth_estimae0**
        data.csv :地面真实数据【时间戳、3D位置、姿态四元数、速度、ba、bg】
        sensor.yaml :

在每个传感器文件夹里配一个senor.yaml文件,记录传感器相对于Body坐标系的坐标变换,以及传感器自身参数信息

groundtruth输出格式

18位时间戳

timestamp

p代表position,指的是MAV的空间3D坐标,RS代表这个坐标是在R坐标系的值,也就是LEICA位姿跟踪系统坐标系下测到的值,S指的是原来的值是从Sensor坐标系下得到的,后来又变换到了R坐标系。R可能代表LEICA坐标系,x代表这是3D位置的x轴方向上的真值。单位位米

p_RS_R_x [m]
p_RS_R_y [m]
p_RS_R_z [m]

q代表quaternion四元数,表达了MAV的朝向信息,RS代表是在R坐标系下测到的朝向信息,但是实际上最开始是在Sensor坐标系下的朝向,后来只不过被变换到了R坐标系下,w为四元数的实部,xyz为虚部

q_RS_w []
q_RS_x []
q_RS_y []
q_RS_z []

v代表这是MAV的速度信息,而且是在R坐标系下的速度信息,单位m/s

v_RS_R_x [m s^-1]
v_RS_R_y [m s^-1]
v_RS_R_z [m s^-1]

w代表这是MAV在R坐标系下的角速度信息,单位rad/s

b_w_RS_S_x [rad s^-1]
b_w_RS_S_y [rad s^-1]
b_w_RS_S_z [rad s^-1]

a代表这是MAV在R坐标系下的线加速度信息,单位m/s^2

b_a_RS_S_x [m s^-2]
b_a_RS_S_y [m s^-2]
b_a_RS_S_z [m s^-2]

EuRoC数据集的使用
EuRoC数据集可用于视觉算法、视觉惯性算法的仿真测试
在VIO算法中涉及到很多坐标系的转换、在精度测量过程中也需要进行统一坐标系

(1)传感器数据的读取
以相机图像与imu测量作为算法输入,首先就是要进行数据读取、将输入输出模块化
(2)建立统一坐标系
传感器放置于统一平台上,但每个传感器都有其各自的坐标系,索性EuRoC中给出了所有传感器相对于机体body系的相对位移(sensor.yaml文件中的T_BS),因此可以将各传感器的位姿数据统一到统一坐标系下,但实际使用中需要根据代码情况灵活运用。
(3)坐标系变换:
下标表示形式【 矩阵坐标系之间的变换矩阵的下标采用双字母进行标注】
如:旋转矩阵R_BC,表示从c系旋转到b系的变换阵

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EuRoC数据集介绍 的相关文章

  • 软件测试的生命周期及基本流程

    软件测试的基本流程 1 xff1a 需求分析 答 xff1a 仔细阅读需求文档 xff0c 理解需求文档 xff0c 主要是对业务的学习 xff0c 分析需求点 xff0c 参与需求评审会议 xff1b 2 xff1a 制定测试计划 答 x
  • 软件测试的分类有哪些?

    软件测试从整体来说分为开发阶段 测试单位阶段 测试技术阶段 开发阶段 xff1a 单元测试 集成测试 系统测试 验收测试 测试单位阶段 xff1a 内部测试 用户测试 第三方测试 测试技术阶段 xff1a 白盒测试 黑盒测试 灰盒测试 单元
  • 测试用例的八大设计方法

    从测试方法分为 xff1a 黑盒测试 等价类划分 边界值分析 因果图分析 错误测试 白盒测试 语句覆盖 判定覆盖 条件覆盖 判定 条件覆盖 多重条件覆盖 等价类划分 xff1a 答 xff1a 等价类划分是指某个输入域的子集合 xff0c
  • 软件测试中一个BUG的生命周期

    测试人员 发现BUG 提交BUG 指派前后端BUG 前后端开发确认BUG 不是BUG 关闭BUG 前后端开发修复BUG 回归验证BUG 二次开启BUG 是 关闭BUG BUG各种状态处理 答 xff1a 已指派 xff1a 测试人员已将BU
  • Fiddler抓取PC端微信小程序请求方法

    最近PC端的微信更新了 xff0c 在微信中也可以打开相对应的小程序了 xff0c 那么对于大多数测试同学来说要是可以在PC端打开小程序直接查看小程序发出的HTTPS请求报文 xff0c 那么定位问题也就太方便了吧 xff0c 我就是抱着这
  • 从Navicat切换到DBeaver的详细教程,一学即会。

    自从学会使用了Navicat xff0c 用一段时间发现Navicat有一些的问题缺陷 xff1a 1 需要购买花钱才能使用 xff0c 网上找的破解版也能使用 xff0c 但一些公司有版权限制 xff0c 又不能使用 xff1b 2 在连

随机推荐

  • VS code C/C++扩展包依赖cpptools-win32.vsix离线安装

    环境 xff1a 64位win10 xff0c VS code版本1 48 2 在visual studio code下自动安装C C 43 43 扩展包的依赖时 xff0c 可能会碰到如下异常和提示 xff1a 正在更新 C C 43 4
  • ROS错误:摄像头数据格式错误 wants topic /image/compressed to have datatype/md5sum

    ROS错误 摄像头数据格式错误 wants topic image compressed to have datatype md5sum 错误提示 xff1a ERROR 1260927377 348922000 Received erro
  • GMM-HMM声学模型实例详解(标贝科技)

    欢迎测试标贝科技AI开放平台 https ai data baker com source 61 qwer12 GMM HMM声学模型实例详解 GMM HMM为经典的声学模型 xff0c 基于深度神经网络的语音识别技术 xff0c 其实就是
  • C++学习笔记【六】—— 存储类

    Auto 声明变量时根据初始化表达式自动推断该变量的类型 声明函数时函数返回值的占位符 C 43 43 11已弃用 span class token keyword auto span f span class token operator
  • wget curl post请求

    wget header 61 User Agents Chrome header 61 Content Type Application json post data 61 url https zcool cloud resource te
  • 串口传输速率计算

    串口数据格式 起始位1bit xff0c 数据位8bit xff0c 停止位1bit xff0c 无校验 xff0c 无流控 xff1b 计算 波特率115200 bps xff1d 115200 位 秒 xff0c 没有校验位时 xff0
  • 位(bit), 字节(byte), 字(word),双字(dword or Qword)释义

    位 xff08 bit xff09 位 xff08 bit xff09 来自英文bit xff0c 音译为 比特 xff0c 表示二进制位 位是计算机内部数据储存的最小单位 xff0c 11010100是一个8位二进制数 一个二进制位只可以
  • IEEE754标准浮点数转换

    原文 xff1a https blog csdn net hqh131360239 article details 81353582 IEEE754标准浮点数转换 IEEE754标准是一种浮点数表示标准 xff0c 一般分为单 双精度两种
  • 高程初识

    高程是指某一点相对于基准面的高度 xff0c 目前常用的高程系统共有正高 正常高 力高和大地高程4种 xff0c 而高程基准各国均有不同定义 高程系统则是定义某点沿特定的路径到一个参考面上距离的一维坐标系统 高程系统 地球上某一点的高程通常
  • Source Insight4 设置相对路径

    source insight4 设置相对路径步骤 xff1a 1 xff09 新建工程 2 xff09 选择 project source directory时 xff0c 必须选择工程的根目录 xff01 3 xff09 选择文件并添加
  • STM32F407 Flash操作笔记

    简述 STM32F4XX的闪存擦除方式分为两种 xff1a 扇区擦除 xff08 最小单元16K xff09 和整片擦除 在实际应用中 xff0c 为满足重要信息的存储 xff0c 需将信息存入FLASH中 xff0c 针对以上两种擦除方式
  • STM32 软件按键消抖

    引言 通常按键所用的开关都是机械弹性开关 xff0c 当机械触点断开 闭合时 xff0c 由于机械触点的弹性作用 xff0c 一个按键开关在闭合时不会马上就稳定的接通 xff0c 在断开时也不会一下子彻底断开 xff0c 而是在闭合和断开的
  • STM32 中断函数SysTick_Handler理解

    目的 滴答定时器整理 xff08 STM32F103 xff09 用了一段时间的滴答定时器 xff0c 突然忘记其中配置方法 xff0c 重新翻阅手册及博文 xff0c 在此记录备忘 SysTick的重装寄存器决定了定时器频率 xff0c
  • srilm的安装与使用(标贝科技)

    欢迎体验标贝语音开放平台 地址 xff1a https ai data baker com source 61 qaz123 xff08 注 xff1a 填写邀请码hi25d7 xff0c 每日免费调用量还可以翻倍 xff09 一 简介 简
  • 信号强度(RSSI)知识整理

    为什么无线信号 xff08 RSSI xff09 是负值 答 xff1a 其实归根到底为什么接收的无线信号是负值 xff0c 这样子是不是容易理解多了 因为无线信号多为mW级别 xff0c 所以对它进行了极化 xff0c 转化为dBm而已
  • JLink 警告:The connected J-Link is defective,Proper operation cannot be guaranteed.

    概述 安装j link较新版本 xff08 JLink Windows V632b exe xff09 的驱动 xff0c 每烧录一次程序报一次警告 xff0c 警告如下 xff1a The connected J Link is defe
  • [PYTHON]修改当前进程环境变量

    myenv 61 os environ myenv 34 PATH 34 61 34 xxxx 34 43 myenv 34 PATH 34 注意 xff1a 此方法仅在python的当前进程中生效 xff0c 如果此时通过subproce
  • SO库版本号管理

    一 输入版本号 功能由Cmake软件实现 1 建立一个空白txt xff0c 重命名为config h in 输入代码 xff1a defineMAJOR VERSION 64 MAJOR VERSION 64 defineMINOR VE
  • VINS-MONO实践

    1 配置ros xff08 运行VINS需要 xff0c 记得换源 xff0c 会快一些 xff09 sudo apt get install ros melodic cv bridge ros melodic tf ros melodic
  • EuRoC数据集介绍

    数据集官网 xff1a https projects asl ethz ch datasets doku php id 61 kmavvisualinertialdatasets EuRoC数据集 微型飞行器 xff08 MAV xff09