EuRoC数据集使用总结


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

移动平台与传感器
使用的机型为:Asctec Firefly六角旋翼直升机
视觉惯性测量的传感器包括:视觉(双相机)惯性测量单元(IMU)
在这里插入图片描述
groundtruth采集
采用以下传感器采集6自由度的运动与结构
1)Leica MS50 激光跟踪扫描仪:毫米精确定位

1
2
  LEICA0:激光追踪器配套的传感器棱镜【prism】
  Leica Nova MS50: 激光追踪器,测量棱镜prism的位置,毫米精度,帧率20Hz,

2)Vicon 6D运动捕捉系统

1
2
 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 [工厂场景]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  ——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输出格式
#timestamp, p_RS_R_x [m]、p_RS_R_y [m]、p_RS_R_z [m] 、q_RS_w [] 、q_RS_x [] 、q_RS_y [] 、q_RS_z [] 、v_RS_R_x [ m/s]、v_RS_R_y [ m/s]、v_RS_R_z [ m/s]、 b_w_RS_S_x [rad /s] 、 b_w_RS_S_x [rad /s]、 b_w_RS_S_z [rad /s]、 b_a_RS_S_x [rad /s]、 b_a_RS_S_y [rad /s]、 b_a_RS_S_z [rad /s]
timestamp:18位的时间戳
position:MAV的空间3D坐标
p_RS_R_x [m]
p_RS_R_y [m]
p_RS_R_z [m]

传感器安装的相对位置
传感器的具体安装情况如下所示:
在这里插入图片描述
机体上载有4个传感器,其中prism和marker公用一个坐标系
无人机的body系 以IMU传感器为基准,即,imu系为body系。

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

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