1.kitti
More infos: The KITTI Vision Benchmark Suite
2.euroc
3.tum
More infos: Computer Vision Group - File Formats
3.1输出tum格式的相关代码
// 添加定义
std::string RESULT_PATH;
int init_flag=true;
float tum[8];
double first_time;
// 相关输出代码
if (init_flag==true)
{
first_time = laserOdometry->header.stamp.toSec();
init_flag=false;
}
tum[0] = laserOdometry->header.stamp.toSec() - first_time;
tum[1] = t_w_curr.x();
tum[2] = t_w_curr.y();
tum[3] = t_w_curr.z();
tum[4] = q_w_curr.x();
tum[5] = q_w_curr.y();
tum[6] = q_w_curr.z();
tum[7] = q_w_curr.w();
std::ofstream foutC(RESULT_PATH, std::ios::app);
foutC.setf(std::ios::scientific, std::ios::floatfield);
foutC.precision(18);
for (int j = 0; j < 8; ++j)
{
if(j==7)
{
foutC <<tum[j]<< std::endl ;
}
else
{
foutC <<tum[j]<< " " ;
}
}
foutC.close();
}
4.格式转换
5.kitti转tum方法:https://github.com/MichaelGrupp/evo/blob/master/contrib/kitti_poses_and_timestamps_to_trajectory.py
python kitti_poses_and_timestamps_to_trajectory.py ./05/05.txt ./05/times.txt ./05/tum_05_gt.txt
注意:
kitti_poses_and_timestamps_to_trajectory.py中import的部分包来自于evo程序中,所以必须将该py文件放置在evo文件夹中。