Learn the approach.
Learn the strike.
Bring them together.

ATHLETE composes generic LAFAN1 locomotion with strikes reconstructed from ordinary tennis videos into whole-body references, then distills them into one reactive policy that needs no reference motion at deployment.

16LAFAN1 locomotion sequences
164Video-derived striking clips
97 forehand · 67 backhand
10 minSource tennis practice video

From reusable motion to reactive tennis.

Humanoid tennis requires reactive whole-body coordination under rapidly changing ball dynamics, yet collecting task-specific motion-capture demonstrations that cover diverse approach states, contact locations, and timing conditions is costly. Inspired by how humans acquire new skills by combining reusable motor experience with task-specific demonstrations, we present ATHLETE, a framework for learning reactive humanoid tennis from generic locomotion data and ordinary tennis videos. ATHLETE combines LAFAN1 locomotion with video-derived striking motions and uses Trajectory-Guided Motion Matching (TGMM) to construct diverse task-conditioned whole-body references. These references are transformed into a reactive policy through physics-based teacher–student learning with online DAgger distillation, followed by PPO fine-tuning for the tennis task. The resulting policy responds directly to robot and ball observations without requiring reference-motion inputs at deployment. On a real humanoid robot, ATHLETE achieves forehand and backhand hit rates of 90.00% and 86.67%, respectively, and enables multi-shot rallies with human players. These results demonstrate the feasibility of learning dynamic humanoid sports skills from reusable locomotion experience and low-cost visual demonstrations.

Turn isolated skills into an approach-and-strike motion.

For each sampled ball, TGMM plans a root trajectory to the strike under task, contact and transition constraints, follows it with locomotion clips and stitches in a matching video-derived strike. Simulated imitation rollouts then produce dynamically corrected references.

Data collection, played at 2× speed. Ghosts trace the generated motion; the yellow circle marks the 1.5 m mode boundary.

2× speed

Return after return.

The trained policy keeps returning consecutive incoming balls in MuJoCo. Real-time playback.

Your turn to serve.

Pick a landing target, serve, and watch the robot respond. The trained policy and physics simulation run entirely in your browser.

Click the court to set a target, then Space to serve. Drag the ball to throw it (Ctrl grab from anywhere, Shift move horizontally), drag empty space to orbit, R to reset.

The simulation loads automatically as you scroll here.

Open the demo in a full page ↗

Approach. Strike. Rally.

REACTIVE STRIKING

Forehand and backhand returns

Whole-body approach and striking motions adapt to different incoming-ball locations.

All 60 trials of the real-robot single-shot evaluation (30 forehand, 30 backhand), shown as a grid.

HUMAN–ROBOT INTERACTION

Keep the rally going

Multi-shot rallies with novice and professional players, up to eight rounds.

Compose motion.
Distill a reactive policy.

ATHLETE framework: trajectory-guided motion matching, dynamic correction, teacher training, online student distillation, PPO fine-tuning, and real-world deployment.
01

Time-adaptive teacher

Track dynamically corrected references while adapting motion phase to the target contact deadline.

02

Reactive student

Use online DAgger and privileged representation alignment to transfer the teacher’s behavior to a policy driven by deployable observations.

03

Task refinement

Fine-tune with PPO, tennis-specific rewards, and domain randomization to improve contact precision and controlled returns.

From simulation to the court.

90.00%

Forehand hit rate

27 / 30 real-robot trials

86.67%

Backhand hit rate

26 / 30 real-robot trials

8 rounds

Longest observed rally

With a professional player

Real-world single-shot evaluation

60 manually thrown balls, with 30 trials per side.

MetricForehandBackhand
Hit rate90.00%27 / 3086.67%26 / 30
Net clearance46.67%14 / 3053.33%16 / 30

Simulation evaluation

300 incoming balls: 159 forehand-side and 141 backhand-side trials.

MetricForehandBackhand
Hit rate94.97%95.04%
Net clearance91.19%92.20%
Landing error1.150 m1.314 m
Sweet-spot distance5.61 cm6.54 cm
Evaluation notes +

Real robot: 60 thrown balls, ball and root pose from external motion capture, 50 Hz control. Rates use all balls as the denominator; net clearance does not imply an in-court landing.

Simulation: 300 balls under nominal physics. Distance metrics cover struck balls only; landing error is measured at the first bounce. The browser demo is an illustration, not the evaluation protocol.