kittito_rosbag入坑教程

github链接:https://github.com/ethz-asl/kitti_to_rosbag

准备

  • ubuntu 16.04
  • ros
    在root下操作

执行

# 使用tmux分屏
# 开一个terminal
roscore#再开一个terminal rosrun kittito_rosbag kitti_rosbag_converter calibration_path dataset_path output_path
#cd 到数据路径下
touch testbag.bag
rosrun kitti_to_rosbag kitti_rosbag_converter ~/data/kitti/2011_09_26 ~/data/kitti/2011_09_26/2011_09_26_drive_0035_sync ~/data/kitti/2011_09_26/2011_09_26_drive_0035_sync/testbag.bag

实际运行的2011_09_26_drive_0001,结果如下:

Timestamps:
1317013345967791872 1317013357004624640
Timestamps:
1317013345961661696 1317013356998492672
Timestamps:
1317013345961178112 1317013356998005504
Converted 108 entries into a rosbag.

查看转换后的rosbag.bag文件信息

rosbag info testbag.bag

结果如下:

path:        testbag.bag
version:     2.0
duration:    11.0s
start:       Sep 26 2011 13:02:25.96 (1317013345.96)
end:         Sep 26 2011 13:02:36.00 (1317013357.00)
size:        786.5 MB
messages:    1296
compression: none [432/432 chunks]
types:       geometrymsgs/PoseStamped      [d3812c3cbc69362b77dc0b19b345f8f5]geometry_msgs/TransformStamped [b5764a33bfeb3588febc2682852579b0]sensor_msgs/CameraInfo         [c9a58c1b0b154e0e6da7578cb991d214]sensor_msgs/Image              [060021388200f6f0f447d0fcd9c64743]sensor_msgs/PointCloud2        [1158d486dd51d683ce2f1be655c3c181]tf/tfMessage                   [94810edda583a504dfda3829e70d7eec]
topics:      /tf                 108 msgs    : tf/tfMessagecam00/camera_info   108 msgs    : sensor_msgs/CameraInfocam00/image_raw     108 msgs    : sensor_msgs/Imagecam01/camera_info   108 msgs    : sensor_msgs/CameraInfocam01/image_raw     108 msgs    : sensor_msgs/Imagecam02/camera_info   108 msgs    : sensor_msgs/CameraInfocam02/image_raw     108 msgs    : sensor_msgs/Imagecam03/camera_info   108 msgs    : sensor_msgs/CameraInfocam03/image_raw     108 msgs    : sensor_msgs/Imagepose_imu            108 msgs    : geometry_msgs/PoseStampedtransform_imu       108 msgs    : geometry_msgs/TransformStampedvelodyne_points     108 msgs    : sensor_msgs/PointCloud2

踩坑之路

错误1:环境依赖出错

解决方案

git clone 下面的9个依赖包到src目录下:

catkinsimple
glog_catkin(同时,apt-get install libgoole-glog-dev)
gflags_catkin (同时,apt-get install libgflags-dev)
minkindr
eigen_catkin
eigen_checks
catkin_boost_python_buildtool
minkindr_ros
numpy_eigen

大概步骤:

cd */src
git clone  #下载上述的9个依赖cd /catkinws #回到工作空间,catkin_make必须在工作空间下执行
catkin_make #开始编译
source ~/catkin_ws/devel/setup.bash #刷新环境

都调试好后,就可以按照官方给定的方法进行执行了。

https://github.com/ethz-asl/kitti_to_rosbag/issues/15</a></p>

错误2:git clone所有包后,catkin_make时报错:

[ 1%] Performing configure step for 'glog_src'
[ 5%] Built target gflags_src
/bin/sh: 1: autoreconf: not found
glog_catkin/CMakeFiles/glog_src.dir/build.make:108: recipe for target 'glog_catkin/glog_src-prefix/src/glog_src-stamp/glog_src-configure' failed
make[2]: [glog_catkin/glog_src-prefix/src/glog_src-stamp/glog_src-configure] Error 127
CMakeFiles/Makefile2:956: recipe for target 'glog_catkin/CMakeFiles/glog_src.dir/all' failed
make[1]:
[glog_catkin/CMakeFiles/glog_src.dir/all] Error 2
make[1]: 正在等待未完成的任务....
[ 6%] Built target catkin_boost_python_test
[ 7%] Built target eigen_checks
[ 11%] Built target numpy_eigen_test
Makefile:138: recipe for target 'all' failed
make:
[all] Error 2
Invoking "make -j4 -l4" failed

解决方案:

apt-get install autoconf

错误3:ModuleNotFoundError: No module named ‘em’

Traceback (most recent call last):
File “/opt/ros/kinetic/share/gencpp/cmake/…/…/…/lib/gencpp/gencpp.py”, line 41, in
import genmsg.template_tools
File “/opt/ros/kinetic/lib/python2.7/dist-packages/genmsg/template_tools.py”, line 39, in
import em
ModuleNotFoundError: No module named ‘em’

解决方案:

pip install empy

注意python环境,我这里一开始使用了anaconda3的环境,导致一直报错,可以在

cd ~
gedit .bashrc

将anaconda的else...fi中间内容都注释掉,其他注意事项详见链接

http://www.pianshen.com/article/2083174168/</a></p>


错误4:AttributeError: 'module' object has no attribute 'Interpreter' #63

解决方案:

pip uninstall em
pip install empy

注意python环境

https://github.com/ros/genmsg/issues/63</a></p>


错误5:Libraries have been installed in:...

解决方案:https://segmentfault.com/q/1010000006781567</a>

kittito_rosbag入坑教程相关推荐

  1. Vue2.0史上最全入坑教程(中)—— 脚手架代码详解

    2019独角兽企业重金招聘Python工程师标准>>> 书接上文我们说道,如何利用脚手架(vue-cli)构建一个vue项目,本回书我们一起来学习分析下代码. 回顾下创建后的项目目录 ...

  2. JAVA 入坑教程 | 章节九 详解java的装箱和拆箱

    简单点,代码的方式简单点,装逼的方式请省略,我们又不是演员,别设计那些情节 什么是装箱?什么是拆箱?代码如何展示? 装箱过程是怎样的?拆箱过程是怎样的? 有问题可加入安卓QQ群: 246231638 ...

  3. 微信小程序入坑教程二十一:使用wx.saveImageToPhotosAlbum保存图片时通过检测scope.writePhotosAlbum权限来提醒用户是否需要授权

    摘要: 在昨天的文章<微信小程序入坑教程二十:生成海报前使用wx.downloadFile或wx.getImageInfo时潜在的坑>中提到了用户授权一事,scope.writePhoto ...

  4. Vue2.0史上最全入坑教程(上)—— 搭建Vue脚手架(vue-cli)

    2019独角兽企业重金招聘Python工程师标准>>> ps: 想了解更多vue相关知识请点击VUE学习目录汇总 Vue作为前端三大框架之一截至到目前在github上以收获44,87 ...

  5. Rabbitmq 入坑教程

    模型架构

  6. JAVA 入坑教程 | 章节二 基本数据类型

    JAVA 章节二 基本数据类型 目录 Java基本数据类型:两大类 内置数据类型 引用数据类型 Java类型的转换 自动类型转换 强制类型转换 Java的常量 Java基本数据类型 一.内置数据类型 ...

  7. 资源 |“从蒙圈到入坑”,推荐新一波ML、DL、RL以及数学基础等干货资源

    向AI转型的程序员都关注了这个号☝☝☝ 编译 | AI科技大本营(rgznai100) 参与 | suiling 此前营长曾发过一篇高阅读量.高转发率,高收藏量的文章<爆款 | Medium上6 ...

  8. 一份详细的“入坑Phd指南”---教你如何做笔记、整理参考书目、管理时间、如何写作、对自己和导师合理预期...

    点击上方,选择星标或置顶,每天给你送干货! 阅读大概需要5分钟 pick小博主,每天进步一丢丢 [导读]今天给大家强烈推荐一份详细的读博指南,本指南教你如何做笔记.整理参考书目.管理时间.如何写作.对 ...

  9. python这个软件学会能做什么工作-学会Python真的有高收入?盯,请查收这份入坑指南...

    学会Python真的有高收入?盯,请查收这份入坑指南 2018-10-10 20:51:00 567点赞 6312收藏 186评论 小编注:想获得更多专属福利吗?金币加成.尊享众测.专属勋章.达人福利 ...

最新文章

  1. 【Android 逆向】代码调试器开发 ( ptrace 函数 | 读取进程内存数据 )
  2. ACM入门之【树状数组习题】
  3. 十种经济的方法帮你建立企业品牌
  4. Android P版自定义开关机动画
  5. python如何实现网页爬取,并翻译成中文
  6. ACID--事物具有的四个特征
  7. java学习笔记-良葛格_Java良葛格 学习笔记
  8. 关于Matlab2018启动后发生崩溃闪退的解决方案
  9. 如何申请Autodesk ReCap 360 photo的云币(Cloud Credit)
  10. 微信小程序 云开发之数据库-查找记录
  11. 手机 CPU 架构类型了解
  12. 3. 机器人正运动学---坐标系及其变换
  13. c语言输出一些好看的图形,[转]好看的图形
  14. 36.Nginx 基础入门篇
  15. Your account does not have sufficient permissions to modify containers的解决方法
  16. 如何买入期货合约(如何买入期货合约交易)
  17. 智慧政务解决方案-最新全套文件
  18. 用安卓RTMP直播推流进行音频侦听时,出现播放几秒后就无法播放问题的解决方法
  19. 【RabbitMQ】消息队列需要解决的几个问题
  20. Exception in thread main java.lang.NoSuchMethodError: scala.collection.immutable.HashSet$.empty()L

热门文章

  1. require(): open_basedir restriction in effect. 解决方法
  2. CORS 跨域 实现思路及相关解决方案
  3. 如何设置固定宽度 td ?
  4. WOFF字体的Mime类型?
  5. 如何在Windows CMD的一行中运行两个命令?
  6. oracle exp空数据表,Oracle11g中Exp空表的问题
  7. 计算机一级信息技术基础知识,计算机一级考试之信息技术基础.doc
  8. gulp html页面路径,通过gulp-connect部署静态页面,html页面中include路径无法get!
  9. dbf文件怎么创建_DBC文件到底是个啥
  10. linux执行命令带时间戳,Linux查看History记录加时间戳的小技巧