CrazyChoir: Flying Swarms of Crazyflie Quadrotors in ROS 2 - Pichierri, Lorenzo; Testa, Andrea; Notarstefano, Giuseppe (IEEE robotics and automation letters, 2023)
This paper introduces CRAZYCHOIR,, a modular Python framework based on the Robot Operating System (ROS) 2. The toolbox provides a comprehensive set of functionalities to simulate and run experiments on teams of cooperating Crazyflie nano-quadrotors. Specifically, it allows users to perform realistic simulations over robotic simulators as, e.g., Webots and includes bindings of the firmware control and planning functions. The toolbox also provides libraries to perform radio communication with Crazyflie directly inside ROS 2 scripts. The package can be thus used to design, implement and test planning strategies and control schemes for a Crazyflie nano-quadrotor. Moreover, the modular structure of CRAZYCHOIR allows users to easily implement online distributed optimization and control schemes over multiple quadrotors. The CRAZYCHOIR package is validated via simulations and experiments on a swarm of Crazyflies for formation control, pickup-and-delivery vehicle routing and trajectory tracking tasks. CRAZYCHOIR is available at https://github.com/OPT4SMART/crazychoir .