A ROS2 stack for the Crazyflie Nanoquadcopter.
This software stack was designed and testet with ROS2Humble on Ubuntu 22.04.
The documentation can be found here: https://dynamicswarms.github.io/ds-crazyflies/
Warning
This software is currently under development. Breaking changes will happen.
The crazyflies package allows the user to interchangeably use real hardware or a simulation based on Webots. There are two implementations. You can either use a Crazyflie or a Safeflie. The Safeflie is a tuned down version of the crazyflie providing a topic "/cf_ID_/send_target" which allows to control the crazyflie without knowledge about the controller of the real hardware.
Further documentation can be generated with the docs.
The launch.py can be configured to use appropriate tracking hardware if real crazyflies are used. When launching this launch file the backend argument should be provided specifying if the webots backend or the hardware backend shall be used.
Afterwards you can either implement your own node and either use or inherit from the Crazyflie or Safeflie class. Examples will be provided soon.
There are currently 2 backends which are integrated into this software stack. Crazyflie Hardware Crazyflie Webots
Because both the hardware implementation as well as the webots implementation depend on the same packages the build script has to be used instead of colcon build.