KITTI数据集转ros_msg(odometry)

本文记录了将KITTI odometry数据转换为ROS消息的过程,涉及下载数据、解析雷达数据和创建ROS的pointCloud2消息。通过Python脚本,将点云数据格式化为LOAM所需的msg,并发布到ROS话题。
摘要由CSDN通过智能技术生成

    最近做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__ = "lee.clement@robotics.utias.utoronto.ca"
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
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值