Usage
Dataset Download
Download the dataset preview or the complete drive dataset (Gaimersheim, Ingolstadt or Munich) from the A2D2 download page. The dataset preview contains relatively short snippets, and a full drive dataset is quite large, for example for Ingolstadt ~808GB:
Bus Signals: 150MB
Camera
Front Center: 79GB
Front Left: 73.5GB
Front Right: 73.6GB
Side Left: 79.0GB
Side Right: 75.7GB
Rear Center: 77.2GB
Lidar
Front Center: 26.9GB
Front Left: 64.2GB
Front Right: 66.0GB
Side Left: 62.1GB
Side Right: 64.7GB
Rear Center: 66.5GB
If image data from some cameras are not needed in the rosbag to be created, there is no need to download them. However, it is recommended to download all LiDAR datasets, e.g. the LiDAR dataset front center contains the reflections of all sensors visible in the view front center.
The obtained directory structure should look like this:
./Ingolstadt
├── bus
│ └── 20190401145936_bus_signals.json
├── camera
│ ├── cam_front_center
│ ├── cam_front_left
│ ├── cam_front_right
│ ├── cam_rear_center
│ ├── cam_side_left
│ └── cam_side_right
├── cams_lidars.json
└── lidar
├── cam_front_center
├── cam_front_left
├── cam_front_right
├── cam_rear_center
├── cam_side_left
└── cam_side_right
The sensor configuration file (cams_lidars.json) is also available at the A2D2 download page.
Configuration
The conversion can be parametrized via yaml files in the a2d2_ros_preparer/config/ directory. Here, the default.yaml contains all default parameter values. The default values can then be overwritten in the ingolstadt.yaml:
paths:
source_sensor_data_directory: "/path/to/Ingolstadt"
source_bus_signals_filepath: "/path/to/Ingolstadt/bus/20190401145936_bus_signals.json"
source_sensor_configuration_filepath: "/path/to/Ingolstadt/cams_lidars.json"
# rosbags and other artifacts are written in this directory
target_directory: "/path/to/Ingolstadt_output"
filter:
# select only a certain time window for conversion (timestamps in seconds)
start_timestamp: 1533906470
stop_timestamp: 1554121580
Afterward, make sure that the yaml files are loaded in the convert.launch file:
<launch>
<group ns="converter/options">
<rosparam file="$(find a2d2_ros_preparer)/config/default.yaml" />
<rosparam file="$(find a2d2_ros_preparer)/config/ingolstadt.yaml" />
</group>
<node name="converter" pkg="a2d2_ros_preparer" type="converter" output="screen" required="true" args="" />
</launch>
Converting
If everything is configured correctly, simply run to generate the rosbag:
source ./devel_isolated/setup.bash
roslaunch a2d2_ros_preparer convert.launch
Depending on the amount of data, this might take some time and disk space.
Visualizing
To inspect the rosbag with rviz, just run:
roslaunch a2d2_ros_preparer visualize.launch bag_filename:=/path/to/Ingolstadt_output/driving_data.bag
