EuRoC数据集内容解释说明
本笔记用于EuRoC Datasets的解释说明,即如何读懂EuRoC数据集的各个文件。如果解释的不对的地方请诸位指出。
综述
用于室内MAV的双目+IMU数据集,包含两个场景
- 苏黎世联邦理工学院ETH的一个machine hall
- 普通房间
硬件设备
-
飞行器机体: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座标系的座标变换情况,以及传感器内参。
旋转座标系变换约定
设相机座标系下的向量变换为世界座标系下的向量
则公式为:
注意
R_WC //意思是将一个在C座标系下表示的点的座标,变换成以W座标系下表示的点的座标
所以表示将所有Sensor座标系下的向量,变为以Body Frame座标系下的向量。
数据集结构
- mav0
- cam0
- data dir
- data.csv
- sensor.yaml
- cam1
- 上同
- imu0
- data.csv
- sensor.yaml
- leica0
- data.csv
- sensor.yaml
- state_groundtruth_estimate0
- data.csv
- sensor.yaml
- body.yaml
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]