Nuscenes数据转换工具 -- bin2bag

Nuscenes数据转换工具 – bin2bag

一. 工具地址

nuscene2kitti

二. 下载安装

  1. 下载
git clone https://github.com/kinggreat24/nuscene2kitti.git
  1. 编译(按照普通ros package的方式)
    未采用docker方式构建镜像,直接编译。
catkin_make -DCATKIN_WHITELIST_PACKAGES="nuscenes2bag"
source devel/setup.bash

注意
编译工程中,可能出现的错误/home/cui/catkin_ws/src/nuscene2kitti/src/SceneConverter.cpp:254:73: error: call of overloaded ‘abs(nuscenes2bag::TimeStamp)’ is ambiguous
解决办法

将/home/cui/catkin_ws/src/nuscene2kitti/src/SceneConverter.cpp:254 中abs改为fabs ,再重新编译

三. 使用流程

3.1 单一场景(scene)转换,结果以文件形式保存。命令如下:

rosrun nuscenes2bag nuscenes2bag --scene_number $1 --dataroot /media/kinggreat24/T7/data/nu_scenes/nuscenes_test  --out /media/kinggreat24/T7/data/nuscenes_bags_test/ --version v1.0-test

eg.

rosrun nuscenes2bag nuscenes2bag --scene_number 61 --dataroot /home/cui/data/nuscenes/v1.0-mini  --out /home/cui/data/nuscenes/v1.0-mini/nuscenes_kitti_single --version v1.0-mini

注意
v1.0-mini数据集包含的场景id主要有以下这些。
可通过在MetaDataReader.cpp:367行添加打印场景id语句:std::cout << "scene.sceneId: " << scene.sceneId << std::endl;

scene.sceneId: 61
scene.sceneId: 103
scene.sceneId: 553
scene.sceneId: 655
scene.sceneId: 757
scene.sceneId: 796
scene.sceneId: 916
scene.sceneId: 1077
scene.sceneId: 1094
scene.sceneId: 1100

文件结果
在这里插入图片描述

3.2 多场景全部转换,结果以文件形式保存。命令如下:

rosrun nuscenes2bag nuscenes2bag --dataroot /media/kinggreat24/T7/data/nu_scenes/nuscenes_test  --out /media/kinggreat24/T7/data/nuscenes_bags_test/ --version v1.0-test

eg.

rosrun nuscenes2bag nuscenes2bag --dataroot /home/cui/data/nuscenes/v1.0-mini  --out /home/cui/data/nuscenes/v1.0-mini/nuscenes_kitti_multi --version v1.0-mini

文件结果
在这里插入图片描述

3.3 生成bag包,指令如下
修改:NuScenes2Bag.cpp:152行,false改为true, 重新编译执行3.1或者3.2操作

sceneConverters.back()->run(
        inDatasetPath, outputRosbagPath, fileProgress,true);

rviz可视化结果
lidar_topic: /lidar_top
frame: lidar_top
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_36354875/article/details/125721624