ECE 484 Drone Race by team ZJUI Meta
Gate-crashers wanted: build controllers that thread a Crazyflie through wind, gusts and tight turns in sim, then race it for real.
1University of Illinois at Urbana-Champaign, 2Zhejiang University
Abstract
We develop controllers that fly a Crazyflie 2.1 quadrotor through gate-based race tracks autonomously, both in the crazyflow MuJoCo simulator and on real hardware in a motion-capture arena. To score, the drone has to finish five laps without a collision. Hidden evaluation tracks make this harder with randomized start poses, tight 180° hairpins, stationary obstacles, steady wind and gusts, collision impulses, battery sag and motor imbalance.
Our approach separates planning from control. Before takeoff, a geometric planner turns the gate layout into a time-parameterized cubic-spline trajectory. It places waypoints before, at and after each gate so the drone crosses every gate head-on, and it adds detour waypoints whenever the next gate lies behind the drone. Segments that exceed an acceleration budget are retimed, so the drone slows down only in tight turns. An iterative repair step then pushes the path clear of any gate frame or stand it still touches. A cascaded attitude controller tracks this reference: a PID position loop with acceleration feedforward computes a desired thrust vector, which is mapped through the drone’s identified thrust and attitude model into collective-thrust and roll/pitch commands, with limits on tilt and thrust.
Next, we will add a learning-based controller, stress-test both controllers against every disturbance in simulation, and transfer the better one to the Crazyflie for the final race.
Plan and Preliminary Work
- Available: simulator, observations and three tracks.
- Implemented: spline planning, position PID and feedforward.
- Planned: learning-based control (method TBD).
- Initial simulations: five laps on all three tracks, one run each.

Preliminary Results
We evaluated the spline planner and the cascaded attitude controller in the crazyflow simulator on three tracks: circle, U-turn and figure-eight. In each plot, the dashed gray line is the planned reference, the colored line is the flown trajectory shaded by speed, orange bars are gates with red arrows showing the crossing direction, and × marks an obstacle.
The drone finished all five laps on every track and passed every gate (20, 20 and 30 gates), reaching speeds close to 2 m/s. Mean tracking error stayed between 0.052 m and 0.058 m, and the maximum error was 0.133 m.
These numbers come from one run per track with seed 0. Repeated evaluation under randomized disturbances is still pending.



Evaluation Plan
1. Metrics
- Completion rate
- Collisions
- Lap time
- Control latency
2. Test Protocol
- Compare classical vs. learning-based control.
- Run repeated trials with matched seeds for both controllers.
3. Generalization
- Evaluate on all three tracks first.
- Then run noise and dynamics stress tests.
Risks
- Fixed planned path: the spline reference does not adapt during flight.
- Unseen conditions: performance may drop outside the tested settings.
- Learning stability: training of the learning-based controller may be unstable.
Team Roles
- Hanbin: classical control / planning
- Xiang: learning / training
- Shengrui: evaluation
- Siyuan: simulation integration / presentation
