ECE 484 Drone Race by ZJUI Meta
  • Team Github
    • Site Github
    • Project Github

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.

Hanbin Zheng1,2, Shengrui Wang1,2, Siyuan Wang1,2 Xiang Li1,2

1University of Illinois at Urbana-Champaign, 2Zhejiang University

Code

Three of us come from ZJUI Meta Robotics team.

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.

Control architecture: the spline + PID controller is implemented; the learning-based controller is planned.

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.

Circle track: 5 laps in 35.44 s, mean tracking error 0.052 m.

U-turn track: 5 laps in 27.00 s, mean tracking error 0.058 m.

Figure-eight track: 5 laps in 40.88 s, mean tracking error 0.057 m.

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

References

  • ECE 484 Fall 2026 Quadrotor Project

This website template is adapted from the Nerfies project page, which is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.