Installation
Crazyswarm2 runs on Ubuntu Linux in one of the following configurations:
Ubuntu |
Python |
ROS 2 |
20.04 |
3.7, 3.8 |
Galactic |
22.04 |
3.10 |
Humble |
Warning
The Windows Subsystem for Linux (WSL) is experimentally supported but you’ll have to use usbipd-win. This program will link the crazyradio directly with WS, but beware of bugs. Check out their WSL connect guide.
Warning
Avoid using a virtual machine if possible: they add additional latency and might cause issues with the visualization tools.
First Installation
If needed, install ROS 2 using the instructions at https://docs.ros.org/en/galactic/Installation.html or https://docs.ros.org/en/humble/Installation.html.
Install dependencies
sudo apt install libboost-program-options-dev libusb-1.0-0-dev pip3 install rowan
If you are planning to use the CFlib backend, do:
pip3 install cflib transforms3d sudo apt-get install ros-*DISTRO*-tf-transformations
Set up your ROS 2 workspace
mkdir -p ros2_ws/src cd ros2_ws/src git clone https://github.com/IMRCLab/crazyswarm2 --recursive git clone --branch ros2 --recursive https://github.com/IMRCLab/motion_capture_tracking.git
Build your ROS 2 workspace
cd ../ colcon build --symlink-install
Note
symlink-install allows you to edit Python and config files without running colcon build every time.
Set up software-in-the-loop simulation (optional)
This currently requires cloning the Crazyflie firmware and building the Python bindings manually. In a separate folder (not part of your ROS 2 workspace!),
git clone --recursive https://github.com/bitcraze/crazyflie-firmware.git
First follow the instructions to build the python bindings from the bitcraze website. Afterwards, make sure that the bindings can be found in the python path:
export PYTHONPATH=<replace-with-path-to>/crazyflie-firmware/build:$PYTHONPATH
If you are working from an older version of the crazyflie-firmware (before tag 2023.02), then you will need to point to main folder of the repo by removing the ‘/build’ part.
Updating
You can update your local copy using the following commands:
cd ros2_ws/src/crazyswarm2
git pull
git submodule sync
git submodule update --init --recursive
cd ../
colcon build --symlink-install