Skip to content
← Back to Blog
Engineering2 min readAuthor: Azimuth PRO Team

The Software Is the Fighter

How Azimuth PRO structures the software stack for BASILISK: simulation-first training, balance recovery under contact, millisecond perception, and tactics with no human in the loop.

Two identical humanoid outlines facing each other above four software modules labelled motion, balance, perception and tactics

Two identical machines walk into a ring. One walks out. Whatever separated them was software - and that single fact defines how our team is organized, how we train, and what we ship to the robot every week.

Four problems, four departments

We split the stack the way the fight splits it:

Motion control. Whole-body trajectories across 25 degrees of freedom at once. Strikes, evasions, and recoveries are composed from a library of learned movements rather than scripted animations - a scripted kick is a predictable kick.

Balance under impact. The hardest problem in the sport. Standing is a solved problem; standing while an 80 kg opponent objects is not. Our controllers absorb contact, redistribute load across the support polygon, and place a counter-step before a stumble becomes a knockdown. Every training metric we track ultimately reduces to one question: does the machine get back up?

Perception. LiDAR sweeps and stereo frames fused into a single millisecond-fresh estimate of the opponent - position, stance, momentum, and the attack that has not landed yet. It runs entirely on-board, and it has to degrade gracefully: opening night in Shenzhen proved that heads come off.

Autonomous tactics. There is no remote control in URKL. Openings are selected, energy budgets managed, and exchanges committed to by the machine alone. Strategy is encoded before the bell; decisions happen inside the exchange, at a cadence no teleoperator could match.

Simulation first, hardware second

BASILISK fights thousands of times a night - in simulation. Physics-accurate sparring against a population of adversary policies, with the survivors distilled and transferred to hardware in weekly test cycles. The sim-to-real gap is the tax every embodied-AI team pays; contact dynamics make it worse, because the hardest moments to simulate are exactly the collisions the sport is made of.

Our approach is unglamorous: instrument everything, close the loop often, and treat every hardware session as ground truth that re-anchors the simulator. The telemetry format we publish on the site - joint torque, IMU, LiDAR sweep rate, battery state - is the same one we stare at in the workshop.

Watching the league like a dataset

Season 1 runs without us, which makes it the cheapest training data we will ever get. Every published fight is a study in what identical hardware does under different software: which teams recover from knockdowns, which over-commit, which manage battery through three rounds and which fade in the third.

By the time BASILISK walks out in Season 2, it will have fought every robot on that grid many times - just not yet in a way anyone could see.

Follow the milestones in the Fight Center, or come build this with us - open roles are on the team page.

EngineeringAI
← Back to Blog
About the team

Azimuth PRO Team

Engineering

Field notes from building an autonomous fighting robot. We publish when we have learned something worth writing down - about balance, perception, or the league we are about to join.

hello@azimuthpro.com
Follow the build

Want the milestones as they happen?

The countdown, the league calendar, and every Azimuth PRO milestone live in the Fight Center.