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: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系的变换阵