Teaching Robots to Dance
A client purchased one of our AgiBot X2 Ultra humanoid robots for a national fair and brought us in to handle one specific task: program them to dance. What followed was one of the most technically involved projects we’ve taken on — and a crash course in a discipline that barely has a name yet.
It Starts With a Human
Before we touched a single line of code, we brought a professional dancer into our studio. That might sound counterintuitive — why does a robotics company need a choreographer? Because it turns out you cannot teach a robot a dance designed for a human body. The physics don’t translate. The range of motion doesn’t match. And even the moves that are physically possible for the robot may not be executable cleanly.
We spent several days working alongside our dancer, mapping out every movement in the routine and asking a simple question about each one: can the X2 Ultra actually do this?
The Vision Algorithm Problem
Physical capability is only half the challenge. The AgiBot X2 Ultra relies on a vision algorithm to track and execute movement — and not every motion the robot can physically perform is one the algorithm can reliably read. Some movements are too fast. Some create positioning ambiguity. Others work perfectly in isolation but break down when chained together in a sequence.
So even after clearing the physical hurdle, we had to go back through the choreography again — this time optimizing for what the vision system could actually track and replicate consistently across multiple performances.
It’s a constraint that doesn’t exist in human dance. When you’re choreographing for a person, you think about their body. When you’re choreographing for a humanoid robot, you’re thinking about their body and the software interpreting every move in real time.
A New Kind of Choreography
What we ended up with isn’t quite human dance and isn’t quite robot motion — it’s something in between. A version of the routine that honors the original choreography while being redesigned from the ground up to work within the mechanical and computational constraints of the platform.
That process — bridging human movement with robotic execution — is genuinely new territory. There’s no established playbook. You’re making judgment calls at every step: is this movement close enough to the original? Will it read the same way to an audience? Can the vision system track it reliably?
We didn’t expect it to be this complex going in. We’re glad it was.