Humanoid Table Tennis Robot
A Unitree G1 that returns real table-tennis shots, following the SMASH research approach.
- Humanoid
- RL
- Perception
- Unitree G1
Overview
Table tennis is one of the hardest tests for a humanoid: the ball crosses the table in well under a second, and the robot has to see it, predict it, move its whole body and hit — all without falling over.
We replicated the approach of the SMASH research work on a Unitree G1, combining a learned whole-body hitting policy with a fast perception and prediction pipeline.
The Challenge
The robot needs to know exactly where it is relative to the table, every frame, while it is moving.
Ball flight has to be predicted early enough for a 1.3 m tall robot to reach the hitting point, and the policy must stay balanced through aggressive swings.
Our Approach
Localization: AprilTag markers placed on the table give the robot a fixed reference frame, so its pose relative to the table is always known.
Perception: high-frame-rate ball detection and a physics-based trajectory predictor estimate where and when the ball can be hit.
Control: a whole-body RL policy trained in simulation with randomized ball trajectories, then transferred to the real G1 with domain randomization.
Results
- Consistent returns of moderate-speed shots in rallies (placeholder — add your success rate)
- Stable footwork and recovery between shots
- A reusable perception + prediction stack for other fast-reaction tasks
Tech Stack
- Unitree G1
- Isaac Lab
- PyTorch
- AprilTag
- OpenCV
- ROS 2




