文章目录

  • 1. kitti-lego-loam
  • 2. 改动
  • 3. 实验结果
  • 4. evo轨迹测评

1. kitti-lego-loam

链接:kitti-lego-loam

kitti-lego-loam提供了将kitti序列转化成rosbag的代码,在kittibag中.

需要注意下数据文件的存放顺序,以00序列为例:

dataset_folder
         |____results
                   |____00.txt

|____sequences

|_____00

|___image_0

|___image_1

|___velodyne

|___times.txt

|___calib.txt

另外,在kittibag.launch文件中,也需要改动datafolder参数、序列号、bag的保存路径等。

kitti-lego-loam对lego-loam代码主要做了三点改动:
(1)修改雷达参数
(2)关闭运动补偿
(3)以kitti gt格式保存结果,用于轨迹测评

2. 改动

(1)代码不能正常在Rviz中显示构建的地图,原因在于,在将kitti数据集转化到rosbag的代码中,velodyne消息header中的TimeStamp为了能够使用evo进行轨迹评估,采用了和kitti的时间戳。但是消息的发送时间是ROS::Time()提供的当前时间,时间不一致导致Rviz不能正常显示。

解决方法:
将消息的发送时间也设置为kitti的时间,同时因为消息的发送时间不能为0,还需要在times.txt文件给时间额外增加0.000001之类的小数。

(2) 增加优化后的地图中的路径显示
主要代码如下:

transformfusion.cpp

nav_msgs::Path laserAfterMappedPath;
ros::Publisher pubLaserAfterMappedPath;
pubLaserAfterMappedPath = nh.advertise<nav_msgs::Path>("/aft_mapped_path", 100);
geometry_msgs::PoseStamped laserAfterMappedPose;
laserAfterMappedPose.header = laserOdometry2.header;
laserAfterMappedPose.pose = laserOdometry2.pose.pose;
laserAfterMappedPath.header.stamp = laserOdometry2.header.stamp;
laserAfterMappedPath.header.frame_id = "/camera_init";       laserAfterMappedPath.poses.push_back(laserAfterMappedPose);
pubLaserAfterMappedPath.publish(laserAfterMappedPath);

(3) Rviz中增加路径,Image topic的显示

3. 实验结果

实验环境:Ubuntu 18.04 ,ROS melodic,PCL 1.10,GTSAM 4.0.3
数据集:kitti数据集00序列

运行结果:

未加入回环检测:


加入回环检测:

地图中路径显示不太明显,Rviz中将点云颜色调为Flat Color可以看得更清楚。

可以看到加入回环检测后,修正了轨迹漂移。

4. evo轨迹测评

evo下载链接:
https://github.com/MichaelGrupp/evo

结果:

没有加入IMU信息,效果不是很好。

LeGO-LOAM运行kitti数据集相关推荐

  1. 【ORB_SLAM3运行KITTI数据集报错的解决办法】

    ORB_SLAM3无法运行KITTI数据集解决办法 文章目录 问题分析 解决办法 文章目录 在使用KITTI数据集运行orb_slam3的单目和双目的例子时,出现运行不了直接中断程序的情况,这里提供了 ...

  2. 使用开源激光SLAM方案LIO-SAM运行KITTI数据集,如有用,请评论雷锋

    第一次写博客~ LIOSAM作为优秀的激光slam方案,当然想尝试着运行更多数据啦,然而没有发现类似的方法分享到底如何实现,在B站看到有伙伴发布了测试视频,但是仍然没有写出方法.所以我跑通了之后记录一 ...

  3. 视觉SLAM——ORB-SLAM2运行tum数据集,kitti数据集,euroc数据集

    添加环境变量 echo "source ~/catkin_orb_slam2_ws/devel/setup.bash" >> ~/.bashrc source ~/.b ...

  4. 从零开始的三维激光雷达SLAM教程第一讲(搭建运行环境,并跑Kitti数据集)

    文章目录 引言 第一节:运行xx-LOAM与数据集 编译A-LOAM 安装ceres(最小二乘求解库) 安装pcl(最常见的点云处理库) 安装OPENCV catkin_make 制作Kitti数据集 ...

  5. jetson nano 用 tensorrt 运行 nanodet(kitti数据集)

    题目是目标,我们先一步一步来做,第一步是训练神经网络, 我用的是 kitti 数据集,训练顺序为,第一步,拿到kitti数据集,第二步,把kitti数据集修改为voc数据集格式,第三步,修改配置文件进 ...

  6. 在kitti数据集与nsh_indoor_outdoor.bag,自己数据集(RS_16)上运行LeGo-LOAM

    文章目录 前言 一.官方数据nsh_indoor_outdoor.bag运行lego-loam 1.安装依赖ros与gstam 2.下载与编译lego-loam 3.准备数据集运行launch文件 二 ...

  7. kitti数据集转换成可运行的YOLOv5格式

    如果想跳过步骤直接获取YOLOv5格式的kitti数据集评论获取阿里云盘提取码 我们再yolov5/dataset下创建文件夹kitti 再kiiti中放入我们的数据 数据集结构框架 |--kitti ...

  8. 多相机坐标转换_使用KITTI数据集实现坐标转换

    本文的主要内容,是讨论如何将KITTI激光雷达的点云数据,映射到图像中去. KITTI数据集是怎么采集的 下面这幅图是车的俯视图,可以看到,用到了2个彩色相机,2个灰度相机,1个激光雷达.1个GPS/ ...

  9. 毕设日志——在faster rcnn pytorch上训练KITTI数据集

    本次目标: 整理运行代码产生的内容 下载KITTI数据集和LSVH数据集 修改数据集样式为VOC2007 在新的数据集上训测 2019.4.13 一.准备工作 备份之前训练生成的文件models,ou ...

  10. lego loam 安装过程与问题处理

    lego loam安装与问题处理: https://blog.csdn.net/weixin_44156680/article/details/118070387 ubuntu 20 安装lego l ...

最新文章

  1. 何恺明、陈鑫磊新研究:提出实例分割新方法,效果比肩Mask R-CNN
  2. 理解正则表达式(程序员第3期文章)
  3. springboot教程(一)
  4. django定义模型类-14
  5. 21-win10下ElasticSearch.6.1.0安装SQL插件
  6. thinkphp源码分析(三)—自动加载篇(Loader的分析)
  7. linux和windows下TIME_WAIT过多的解决办法
  8. SQL:pgsql中查询一段时间内数据及相关时间操作
  9. 苹果手机关于推送的查看LOG的一种解决办法
  10. 计算机二级 office 英语,计算机二级office题库及答案
  11. 华为手机一直android,华为手机内存不够用?这5个文件夹常清理,可以腾出近10个G内存...
  12. 电脑蓝屏的几种状况处理
  13. 我所理解的CPU中断
  14. 支持5G WIFI的串口服务器
  15. “熊孩子”乱敲键盘就攻破了Linux桌面,大神:17年前我就警告过你们
  16. word生成目录右对齐
  17. 多项式嵌套乘法及matlab实现
  18. python爬虫 爬取京东网页
  19. 一颗病毒大小的新型分子或可帮助人类找到暗物质
  20. 9000+字,唠唠架构中的设计模式

热门文章

  1. 耐得住寂寞,是一种境界和品味
  2. android 自定义锁屏凌驾于系统锁屏之上
  3. 诊断故障码(Diagnostic Trouble Code-DTC)
  4. 【Android Tricks 6】ViewPager首页与尾页的滑动动作响应
  5. 【MLPs+ESN】利用多层感知机MLPs对经典ESN(回声状态网络)的输出权值计算进行优化的MATLAB仿真
  6. 如何进入Github【亲测有效】
  7. Hive元数据存储和表数据存储
  8. 各种好看的cosplay小姐姐热门图片,统统爬取收藏
  9. RT_Thread中rtconfig.h解析
  10. wps合并重复项并求和_Excel中重复项求和的方法