Bootstrap

KITTI数据集转ros_msg(odometry)

    最近做LOAM相关的东西,在这里把自己做的东西记下来,免得以后忘记。

    前些天看完了代码,虽然一些细节没弄清楚,但大致思路以及里面的一些推导都没问题了,现在要用KITTI的odometry部分来测试代码性能,遇到的第一个问题就是把odometry中的数据读取出来,再转化成rosmsg发布出去。

    首先从KITTI官网下载好odometry的数据包,数据包非常大,有几百个G。解压后顶层目录是odometry,下一层是dataset,在下一层是sequences和poses,sequence下是不同路段的相机、雷达数据以及校准和时序信息,相机数据包括双目彩色相机,黑白相机,poses下是不同路段的位姿数据,存的是变换矩阵T。

    LOAM用到的当然是激光数据,所以和我们相关的就只有sequence下的雷达数据与时序信息,当然后期进行位姿的误差计算还要用到位姿数据。

    官网上有数据集的接口文件,odometry数据集的接口文件还有Python脚本的例程,例程如下:

"""Example of pykitti.odometry usage."""
import rospy
from std_msgs.msg import String
import itertools
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D

import pykitti

__author__ = "Lee Clement"
__email__ = "[email protected]"
start_time=time.time()
# Change this to the directory where you store KITTI data
basedir = '/home/luolun/Odometry/dataset'

# Specify the dataset to load
sequence = '00'

# Load the data. Optionally, specify the frame range to load.
# Passing imformat='cv2' will convert images to uint8 and BGR for
# easy
;