kitti2bag功能包可以将kitti数据集转换成ROS的bag包。网上很多安装教程都会报错,我前后安装了两天,终于解决了这个问题,下面几记录了所有的安装步骤。(我是重装ubuntu16.04系统之后进行的安装,在安装过程中需要重装ROS,如果之前有了ROS最好卸载重装。)
ubuntu16.04安装kitti2bag
一、安装pip2
使用下面指令安装pip2:
sudo yum -y instal python2-pip
如果没有yum,则使用下面指令安装:
sudo apt install yum
接着运行下面的会报错:
sudo wget https://bootstrap.pypa.io/get-pip.py
错误如下,提示我们这个py文件不能在python2.7运行,需要在python3.7下运行:
chen@chen-QiTianM415-D070:~$ sudo python get-pip.py
ERROR: This script does not work on Python 2.7 The minimum supported Python version is 3.7. Please use https://bootstrap.pypa.io/pip/2.7/get-pip.py instead.
所以我们换一种安装方式,如下:
sudo wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
然后运行:
sudo python get-pip.py.1
二、安装依赖包
一共有三个依赖包,版本不能错,因为python2.7不支持新版本,依次运行下面三条指令即可:
sudo pip install pandas==0.23.0 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
sudo pip install pykitti -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
sudo pip install kitti2bag -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
可以依次运行下面三条指令,查看安装的信息,主要关注Location安装位置就可以了。
sudo pip show pandas
sudo pip show kitti2bag
sudo pip showp pykitti
三、试运行kitti2bag
运行kitti2bag之后,发现报错,缺少pykitti,如下:
chen@chen-QiTianM415-D070:~$ kitti2bag
Could not load module 'pykitti'. Please run `pip install pykitti`
可是我们在第二部分已经安装过pykitti了呀,如下
1.安装cv2
于是我们尝试打开python环境,import pykitti这个包看一下,发现提示少了cv2。
chen@chen-QiTianM415-D070:~$ python
Python 2.7.12 (default, Jul 21 2020, 15:19:50)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pykitti
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/pykitti/__init__.py", line 5, in <module>
from pykitti.tracking import tracking
File "/usr/local/lib/python2.7/dist-packages/pykitti/tracking.py", line 12, in <module>
import cv2
ImportError: No module named cv2
>>> exit()
所以我们安装opencv即可,注意版本不能错,如下:
python -m pip install opencv-python==4.2.0.32
2.安装tf
继续尝试运行kitti2bag,发现又报错缺少tf,这个tf可不是tensorflow,而是ROS当中的一个功能包,所以还需要安装ROS,如果能科学上网的话,安装会简单一些,这里就可以参考别的教程了。
chen@chen-QiTianM415-D070:~$ kitti2bag
Traceback (most recent call last):
File "/usr/local/bin/kitti2bag", line 12, in <module>
import tf
ImportError: No module named tf
四、测试kitti2bag
安装好ROS之后,解决掉了缺少tf的问题,运行kitti2bag后,出现如下证明安装成功。
chen@chen-QiTianM415-D070:~$ kitti2bag
usage: kitti2bag [-h] [-t DATE] [-r DRIVE]
[-s {00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21}]
{raw_synced,odom_color,odom_gray} [dir]
kitti2bag: error: too few arguments
到kitti官网上下载数据如下,注意要下载两个文件,synced+recified data和calibration文件。然后解压到同意目录下,运行kitti2bag -t 2011_09_26 -r 0027 raw_synced .