Skip to content
flojulePublic

About

Cooperative payload transport with a swarm of three Crazyflie drones connected to a shared payload via cables.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

45 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

crazyflo

Portfolio post

Cooperative payload transport with a swarm of three Crazyflie drones connected to a shared payload via cables.

IMG_2200.mp4

What it does

Three drones fly in formation, each attached to the same payload by a cable. An Optimal Control Problem (OCP) is solved offline to generate dynamically feasible, collision-free trajectories for all drones simultaneously. The resulting trajectories are uploaded to the firmware and executed.

ellipse sim

Figure-8

Animation States (altitude / speed / acceleration)
figure8 animation figure8 states

Ellipse

Animation States (altitude / speed / acceleration)
ellipse animation ellipse states

Repository layout

crazyflo/
└── crazyflo_planner/   # ROS 2 Python package (planning + execution)

See crazyflo_planner/README.md for the full module reference, configuration details, and step-by-step usage.

Quick start

# 1 — Plan trajectories (offline, no drones needed)
python crazyflo_solve.py

# 2 — Launch simulation or real drones
ros2 launch crazyflo_planner sim.launch.xml
ros2 launch crazyflo_planner real.launch.xml

# 3 — Run the mission script (add <mission> arguments)
ros2 run crazyflo_planner mission

Installation

1. Clone this repository

git clone https://github.com/flojule/crazyflo.git

2. Install Python dependencies

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

3. Install ROS 2 (Jazzy)

Follow the official ROS 2 installation guide.

4. Install Crazyswarm2

Follow the Crazyswarm2 installation instructions:

5. Install cfclient (for Crazyflie hardware configuration)

Follow the cfclient installation instructions:

6. Build the ROS 2 package

cd ~/ws
colcon build --packages-select crazyflo_planner
source install/setup.bash

Key dependencies

Tool Role
ROS 2 Jazzy Middleware
Crazyswarm2 Drone communication & simulation
cfclient Crazyflie configuration
CasADi OCP solver

About

Cooperative payload transport with a swarm of three Crazyflie drones connected to a shared payload via cables.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages