Overview
Github Repository: https://github.com/UniAgent-CyberPhysicalAssets/cps.asset.crazyflie
Welcome to this tutorial on building and programming smart drone swarms using Crazyflie tiny drones.
A full-stack setup is provided for simulating and controlling autonomous Crazyflie collectives, from low-level motor commands to high-level swarm logic. It’s designed to support both research and practical experimentation in the perspective of drone coordination and spatial computing.
You’ll learn how to:
- Set up a simplified (i.e., a not yet very realistic) simulation environment with preset and custom worlds and the Crazyflie drone models.
- Use Python with the Crazyflie firmware stack to issue control commands.
- Define, control, and analyze collective behavior using a bigraph algebra, a formalism for modeling both connectivity and spatial configuration in dynamic systems.
Software Stack
The software stack employed in this tutorial:
- Simulation: Webots (ds-crazyflie) and Gazebo (sim_cf2, crazyswarm2)
- Drone Controller: cf.PyControl (Python)
- Database: Eclipse CDO
- Java Frameworks: Bigraph Framework, BDSL, Spring Data CDO
Everything is open source and provided through Docker images for easy installation and use.