Catch, Throw, Repeat:
Planning for Human-Robot Partner Juggling

Technical University of Darmstadt  ·  Justus-Liebig-University Gießen
IROS 2026 (accepted)
A human and a Barrett WAM robot arm exchanging juggling balls in a three-ball cascade pattern.

A Barrett WAM arm and a human partner sustaining a shared three-ball juggling cascade.

Abstract

Dynamic object exchange between humans and robots remains a challenging problem due to uncertainty in perception, timing, and contact-rich interaction. Human–robot juggling represents a particularly demanding instance of this problem, requiring precise real-time coordination, predictive motion planning with feedback control, and robustness to variability in human motion. Enabling such skills is of interest for advancing physical human–robot interaction and shared autonomy.

We present a real-time planning and control architecture for human–robot partner juggling that enables a robot to reliably catch and throw balls in synchronized multi-ball patterns with a human partner. The system integrates predictive ball tracking, adaptive online trajectory optimization using a multiple-shooting formulation, and a state-machine-based coordination logic to enable synchronized multi-ball human–robot partner juggling.

In a user study with 8 participants of varying juggling skill from beginner to expert, we demonstrate that our system can achieve three-ball cascades shared between the robot and the human. All participants exceeded previously reported best-case results within a 10-minute test session, with one participant extending the previous record for shared three-ball cascade juggling fivefold to 20 consecutive robot catches, and another participant achieving a 100% success rate with 40 consecutive catches in a single-ball catch-and-return setting.

Video

A successful run of shared three-ball cascade juggling between the Barrett WAM arm and a human partner.

System

The system combines three components operating in a tight real-time loop: a Kalman filter with switching dynamics for ball tracking and prediction, a multiple-shooting trajectory optimizer for adaptive online planning of catch and throw motions, and a state-machine-based coordination logic that scales naturally to multi-ball patterns.

RViz visualization showing the robot arm, predicted ball trajectories, and reachable workspace during a juggling trial, with legend.

Online state visualization during a trial. Predicted ball trajectories (colored arcs) and the robot’s reachable workspace are shown. The planner replans at up to 20 Hz during the vacant phase and executes the carry phase open loop for consistent ball release.

User Study Results

Eight participants with juggling skills ranging from novice (3-ball cascade) to expert (8-ball fountain) each completed a 10-minute session of 1-, 2-, and 3-ball partner juggling with the robot. Every participant exceeded the previously reported best-case result of 4 consecutive catches from Kober et al. (2012). Values in parentheses give the min–max range across 8 participants. Evaluations emphasize the 1-ball and 3-ball conditions, with fewer trials in the 2-ball condition.

# Balls Success (%) Max streak # Attempts # Throws
1 87.2 (72.5–100.0) 40 (6–40) 320 320
2 84.3 (75.0–92.0) 35 (8–35) 80 430
3 75.1 (63.3–80.3) 20 (5–20) 320 966
Top-down heatmaps showing robot catch success rates across the reachable workspace for 1-ball, 2-ball, and 3-ball conditions.

Catch success distribution across the robot’s workspace (top-down view) for 1-, 2-, and 3-ball conditions. Successful catches span most of the reachable workspace; reduced success in the rear (low x) region reflects the increased end-effector tilt required at the kinematic boundary of the 4-DoF arm.

BibTeX

@inproceedings{lippert2026partnerjuggling,
  title   = {Catch, Throw, Repeat: Planning for Human-Robot Partner Juggling},
  author  = {Lippert, Jonathan and Ploeger, Kai and Chowdhury, Abir
             and M{\"u}ller, Hermann and Peters, Jan and Kshirsagar, Alap},
  booktitle = {IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
  year    = {2026},
  note    = {Accepted},
}