Dabot: Dancing Robot Dog
Robotics · Music Analysis · Interaction

Dabot: Dancing Robot Dog

← All Projects

Overview

Dabot is an interactive entertainment experience that brings a robot dog to life through dance. Using a commercially available Unitree Go1 robot dog paired with custom-built software, Dabot performs synchronised dance moves driven by two real-time inputs: a person's body movements and the music playing around it. The project demonstrates how algorithms can understand motion patterns, analyse music, and translate them into dynamic, natural-looking dance moves on a real robot — all in the name of fun.

How It Works

Pose Estimation and Motion Tracking

A camera captures a person dancing in front of the robot. The video feed is processed on a PC using a pose estimation model powered by MediaPipe, which identifies the person's body keypoints in real time. This pose data is then passed through a custom algorithm that detects the patterns and frequency of oscillation in the person's movements.

Music Analysis

Simultaneously, the system analyses the live music to extract features such as tempo, energy, and intensity. These audio features work alongside the motion data to inform the robot's behaviour, ensuring the dance feels connected to the music.

Dance Move Selection

The robot has a predefined set of dance moves, but these are not played back rigidly. Instead, the current oscillation frequency from the person and the energy and intensity from the music are fed into an algorithm that decides: which move to perform, how intensely to perform it, and when to switch to a different move.

The result is a robot that doesn't simply mirror the person but performs synchronised, smooth motion that follows the dancer's rhythm and the music's feel. If no person is dancing, the robot falls back to an autonomous mode where it dances purely based on the music's features.

Synchronised Lighting

To enhance the visual spectacle, the lights on the robot are synchronised to match the music, adding another layer of immersion and fun to the experience.

LED synchronisation

System Architecture

ComponentDescription
Pose EstimationMediaPipe running on a PC, tracking body keypoints from a camera feed
Oscillation DetectionCustom algorithm converting pose data over time into oscillation properties
Music AnalysisAudio feature extraction for tempo, energy, and intensity
Control InterfaceDesktop GUI for managing oscillations and robot behaviour
CommunicationUDP over WiFi from the PC to the robot
Robot ControlROS and the Unitree SDK running locally on the robot

Events and Showcases

Dabot was showcased at Zuitzerland, a pop-up village in Switzerland that ran for a month. The team was invited to demonstrate their robotics project and connect with other creators and innovators.

Development Journey

The development of Dabot was largely a process of creative experimentation. While there were no major blockers, designing the algorithm and control system was far from straightforward. Getting the dance moves to feel natural required extensive trial and error — the team would tweak parameters, watch the robot perform, and judge whether it looked like a good dancer. It was a challenging but enjoyable process that blended engineering with artistic intuition.

Future Plans

The team plans to take Dabot to more events, bringing the experience of a dancing robot dog to new audiences and venues.

Tech Stack
Unitree Go1MediaPipeROSUnitree SDKPythonC++UDP / WiFi
Team
Ronald Lanton
Robotics, Communication, Dance Move Design, Control Interface
Robert Clarke
Pose Detection Algorithm, Oscillation Properties
Showcased At
Zuitzerland, Switzerland