Skip to content

About

StriboX - A racing drone algorithm for the Europe Embodied hackathon 2026

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

🚁 LSY Drone Racing — Hackathon Edition

This is a fork of Florian-S7/lsy-drone-hackathon and our submission for the Drone Track at Europe Embodied 2026 Hackathon.

We explored two controllers:

  • Open-loop — a precomputed time-parameterized trajectory through the gates that the drone tracks blindly. Simple and smooth, but it can't react to disturbances or pose error at runtime.
  • MPC — a point-mass model-predictive controller that follows a geometric reference by arc-length projection, re-solving every step. It plans against live gate/obstacle poses with accel/velocity limits and gate keep-in constraints, so it stays robust to disturbances.

Results in Simulation:

Open Loop

Open Loop

MPC

MPC

To add the TOKENS to claude code:

export ANTHROPIC_API_KEY="sk-ant-..."

Build an autonomous controller that flies a Crazyflie through a gate course. You develop in simulation (unlimited), then present your solution live to the judges flying the real drone — on a track layout you don't see during development. Built on TUM LSY's lsy_drone_racing and crazyflow.

👉 Read CHALLENGE.md for the full challenge, rules, and how you're judged.


You write one file

A single controller — a subclass of Controller that maps the current observation to the next command. Start from control/my_controller.py. That's it: the same file runs in sim and on the real drone.

Quickstart (≈ flying in sim in 15 min)

# 1. Fork this repo, then clone YOUR fork
git clone https://github.com/<you>/lsy-drone-hackathon.git
cd lsy-drone-hackathon

# 2a. Linux (recommended): pixi installs everything
pixi shell

# 2b. macOS / Windows (simulation only): conda + pip
conda create -n drones python=3.11 -y && conda activate drones
pip install -e ".[sim]"

# 3. Fly the example in simulation
python scripts/sim.py --config level0.toml

# 4. Make it yours
cp lsy_drone_racing/control/my_controller.py lsy_drone_racing/control/<team>.py
python scripts/sim.py      --config level2.toml --controller <team>.py   # randomized: the dev target
python scripts/evaluate.py --controller <team>.py                        # your performance signal

Develop against the randomized track

  • Develop and self-check on level2.toml (randomized gates/obstacles) — this is what evaluate.py scores (20 runs, success rate + average lap time). The shipped example controllers complete the fixed level0 but not randomized level2 — making a controller that generalizes is the actual challenge.
  • The real demo track is held out: read gate poses from obs at runtime, never hardcode them.

Real flight & submit

You deploy from a flight-station machine (one per drone) in a booked window — you run your controller there, connected to the drone for you (you don't touch the drone directly). Two drones are shared across teams, so you rotate on windows. You can also put up gates to test your own layouts. See REAL_FLIGHT.md for how deployment works, how to place gates, and how to put their exact coordinates into a config. Bring your final controller file to your demo slot — the organizers run it for the judges. Judging + rules are in CHALLENGE.md.

Learn the interface

Credit

Hardware, simulator, and the racing course are provided by the Learning Systems Lab (LSY), TU München. Please credit LSY in your presentation.

About

StriboX - A racing drone algorithm for the Europe Embodied hackathon 2026

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages