Robocon 2025 — Team Phoenix

Two competition robots. Forty engineers. One fixed deadline.

Team Phoenix’s entry in DD Robocon 2025 — two basketball-playing robots on one base, and the control software and simulation behind both.

40+engineers
2robots built
NationalsDD Robocon 2025
Both robots on the practice court, the week before nationals.
§ 01

What it does

01

40+ engineers across three sub-teams, from design review to arena testing

02

Owned the autonomy architecture: vision ball detection, SLAM localisation, motion planning

03

ESP32 → ROS 2 joystick bridge with a documented serial protocol

04

Flywheel shooter with motorised angle adjustment and servo trim

05

Published simulation proof alongside the competition code

Stack
  • ROS 2
  • Python
  • ESP32
  • SLAM
  • Nav2
  • Embedded C
§ 02

On camera

The shooter’s CAD in MuJoCo: a physics-simulated three-point shot, before metal was cut.
Flywheel shooter test from the three-point zone.
Match play at DD Robocon 2025.
Film

Watch the film

Team Phoenix — the challenge, the shooter, match day · 1:58, with sound.

The long version

Robocon 2025 asked for robots that could play basketball against another team in real time. Two machines had to be built in parallel — one teleoperated, one fully autonomous — on one shared drive base, one shared electronics design, and a schedule that ended on competition day whether the robots were ready or not.

My part was the technical direction: deciding what the autonomy stack would look like, splitting it across the mechanical, electronics, and software sub-teams, and running the loop from design review through arena testing. The hardest calls were about scope — which capability to cut so the rest would be reliable under a match clock.

On the teleoperation side, an ESP32 reads joystick axes and buttons and publishes them into ROS 2 over a documented serial bridge, driving four-wheel control, a flywheel shooter, a motorised angle stage, and a servo for fine trim. The autonomous side layers vision-based ball detection and SLAM arena localisation on the same base, with Nav2 replanning around opposing robots.