2D激光slam数据集的下载与测试

本文介绍如何从官方网站下载Intel Research Lab SLAM数据集,并通过Python脚本将其转换为ROS使用的.bag文件格式。此外,还提供了两种安装karto_slam的方法,并展示了如何使用这些数据集进行测试。

参考博客:
https://blog.csdn.net/qq_24894159/article/details/81265991
https://blog.csdn.net/fk1174/article/details/52673413#commentBox

数据集下载与生成

  1. 下载数据集
    下载网址:
    http://ais.informatik.uni-freiburg.de/slamevaluation/datasets.php

进去网站后点你想下载的对应的"download log file"
然后你可能会看到变成页面一堆数据
ctrl+a
ctrl+c(你懂的,全部复制,这就是你要的数据集)
新建一个文档如data.clf,存之.注意是.clf.

2.处理数据集
这个.clf不是我们用的,我们需要把它转化为特定格式的.bag文件,然后rosbag play来使用数据集,
下面给出转化用的python代码.
先说使用方法:

在你slam_karto下创建一个script文件夹,与launch文件夹同级目录.
把下面代码创建成一个.py文件如convert.py,然后放到script中.
因为他要用到ros库所以必须保存到某个parkage的script中.
cd这个script下,然后python convert.py path/data.clf path/data.bag 转化成功.

#!/usr/bin/env python
#coding=utf8


'''This is a converter for the Intel Research Lab SLAM dataset
   ( http://kaspar.informatik.uni-freiburg.de/~slamEvaluation/datasets/intel.clf )
   to rosbag'''

import rospy
import rosbag
from sensor_msgs.msg import LaserScan
from nav_msgs.msg import Odometry
from math import pi
from tf2_msgs.msg import TFMessage
from geometry_msgs.msg import TransformStamped
import tf
import sys
import logging
logging.basicConfig()

def make_tf_msg(x, y, theta, t,base,base0):
    trans = TransformStamped()
    trans.header.stamp = t
    trans.header.frame_id = base
    trans.child_frame_id = base0
    trans.transform.translation.x = x
    trans.transform.translation.y = y
    q = tf.transformations.quaternion_from_euler(0, 0
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值