Installation

This project has been developed and tested for ROS2 Lyrical on following system configurations. It is recommended to also use a similar configuration.

Ubuntu

ROS

26.04

Lyrical

Step by Step Instructions

  1. If you have not already done so install ROS 2 Lyrical on your system.

    Make sure to also install ros-dev-tools, which includes vcstool needed by the setup script:

    sudo apt install ros-dev-tools
    
  2. These dependencies are required:

    sudo apt-get install ros-lyrical-tf-transformations
    sudo apt install python3-colcon-common-extensions
    
  3. Clone the ds-crazyflies (this) repository

    git clone https://github.com/DynamicSwarms/ds-crazyflies.git
    cd ds-crazyflies
    
  4. Configure what you want to build with the setup script.

    ./setup.sh [options]
    

    Available options are:

    • hardware: This will allow you to use real crazyflies with a crazyradio and external tracking systems.

    • simulation: A lightweight simulation that can be used for testing.

    • sitl: The crazyflie firmware as software in the loop. Requires hardware to be selected as well.

    ./setup.sh simulation hardware
    
  5. Build the workspace with colcon:

    source /opt/ros/lyrical/setup.bash
    colcon build
    

End of Life Support for Webots

Webots support will be removed in the future. Probably it currently still works, if you want to, try the following:

  1. Install the Webots Simulator (We are currently supporting Webots2025a):

    For this you can follow the instructions from Cyberbotics: https://cyberbotics.com/doc/guide/installation-procedure#installing-the-debian-package-with-the-advanced-packaging-tool-apt

    sudo mkdir -p /etc/apt/keyrings
    cd /etc/apt/keyrings
    sudo wget -q https://cyberbotics.com/Cyberbotics.asc
    
    echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/Cyberbotics.asc] https://cyberbotics.com/debian binary-amd64/" | sudo tee /etc/apt/sources.list.d/Cyberbotics.list
    sudo apt update
    
    sudo apt install webots
    

    Note

    Avoid installing Webots via snap as this causes issues with the ROS2 integration.

  2. Configure with the webots option.

    ./setup.sh webots
    
  3. Export the webots home variable before building.

    export WEBOTS_HOME=/usr/local/webots
    

The webots world is not included in this repository. It needs to be downloaded separately:

  1. Download the crazywebotsworld repository:

    git clone https://github.com/DynamicSwarms/crazywebotsworld.git
    
  2. Open webots with the world:

    webots crazywebotsworld/worlds/crazyflie.wbt
    

Next up follow the Getting Started guide.