Skip to content

mit-aera/Blackbird-Dataset

Repository files navigation

The Blackbird Dataset: A large-scale dataset for UAV perception in aggressive flight

The Blackbird Dataset was created by MIT AERA and has been published in the International Journal of Robotics Research (IJRR link) and in the proceedings of ISER 2018 (arXiv link).

NOTE: Currently, some pre-rendered sequences are unavailable for download. We are working to rectify this as soon as possible.

Preview the Dataset

Yaw Forward Trajectories
Click for preview video
Top speed (m/s) 0.5 1.0 2.0 3.0 4.0 5.0 6.0 7.0
3D Figure 8 - - - - - - - -
Ampersand - - - - - -
Bent Dice - - - -
Clover - -
Dice - - - - -
Flat Figure 8 - - - - - - - -
Half-Moon - - - -
Mouse
Oval - - - -
Patrick - - -
Picasso - - -
Sid - - -
Sphinx - - - -
Star - -
Thrice -
Tilted Thrice -
Winter - - - -
Constant Yaw Trajectories
Click for preview video
Top speed (m/s) 0.5 1.0 2.0 3.0 4.0 5.0 6.0 7.0
3D Figure 8 ✓* ✓* ✓* ✓* ✓* ✓* - -
Ampersand - - - - -
Bent Dice - - - -
Clover - -
Dice - - - - -
Flat Figure 8 ✓* ✓* ✓* ✓* - ✓* - -
Half-Moon - - - -
Mouse -
Oval - - - - -
Patrick - - -
Picasso -
Sid -
Sphinx - - - -
Star - - -
Thrice -
Tilted Thrice -
Winter - - -

* Calibration flights for dynamics, no camera data available.

Quickstart Example Using Docker

This Docker quickstart image allows for easy downloading and playing back a sample sequence from the Blackbird Dataset. This quickstart example assumes that the user has Docker installed, but can be adapted for use with a local ROS install.

# Set storage location on host computer for a portion of the dataset.
HOST_STORAGE_DIR="$HOME/blackbirdDatasetData"
# Define this env variable for simplicity of commands
BB_DATA_DIR="/root/blackbirdDatasetData"

# Make folder for dataset storage
mkdir -p $HOST_STORAGE_DIR

# Download & open a bash terminal in quickstart docker image
docker run -it --rm \
    -v "$HOST_STORAGE_DIR":"$BB_DATA_DIR" \
    -p 10253-10263:10253-10263 \
    winterg/flightgoggles_ros:ijrr \
    /bin/bash

##### In the docker terminal.
# Download a pre-rendered sequence (env variables are pre-populated by Dockerfile)
FLIGHT="clover/yawForward/maxSpeed5p0"
ENVIRONMENT="Large_Apartment_Night_Near_Couches"
$BB_TOOLS_DIR/fileTreeUtilities/sequenceDownloader.py --flight=$FLIGHT --environment=$ENVIRONMENT --datasetFolder=$BB_DATA_DIR

# Start playback of the sequence
roslaunch blackbird playback_sequence.launch \
    flight:=$FLIGHT \
    environment:=$ENVIRONMENT \
    datasetDir:=$BB_DATA_DIR

Download the Dataset

All dataset files can be downloaded from http://blackbird-dataset.mit.edu/BlackbirdDatasetData/ using the helper script fileTreeUtilities/sequenceDownloader.py included in this repo.

Note: the full dataset is quite large (4.9TB). However, chunks of the dataset can be downloaded separately for testing purposes.

Using the Dataset in ROS

For playing back dataset bags, we recommend importing this repo into your catkin workspace. The message files in this repo are needed for accessing RPM and PWM bag messages.

# Install in ROS workspace. Assumes that 'wstool init' has been run in workspace
cd ~/catkin_ws/src

curl https://raw.githubusercontent.com/AgileDrones/Blackbird-Dataset/master/.rosinstall >> .rosinstall
wstool update

# Build message types 'blackbird/MotorRPM', 'blackbird/MotorPWM'.
cd ../
catkin build

Citation

If you find this work useful for your research, please cite:

@article{antoniniIJRRblackbird,
  title ={The Blackbird UAV dataset},
  journal = {The International Journal of Robotics Research},
  author = {
    Antonini, Amado and 
    Guerra, Winter and 
    Murali, Varun and 
    Sayre-McCord, Thomas and 
    Karaman, Sertac},
  volume = {0},
  number = {0},
  pages = {0278364920908331},
  year = {0},
  doi = {10.1177/0278364920908331},
  URL = { https://doi.org/10.1177/0278364920908331 },
  eprint = { https://doi.org/10.1177/0278364920908331 }
}

@inproceedings{antonini2018blackbird,
  title={The Blackbird Dataset: A large-scale dataset for UAV perception in aggressive flight},
  booktitle={2018 International Symposium on Experimental Robotics (ISER)},
  author={
    Antonini, Amado and 
    Guerra, Winter and 
    Murali, Varun and 
    Sayre-McCord, Thomas and 
    Karaman, Sertac},
  doi={10.1007/978-3-030-33950-0_12},
  URL={ https://doi.org/10.1007/978-3-030-33950-0_12 },  
  year={2018}
}