Researchers built a real-time planning and control system that enables a robot arm to catch and throw balls with a human partner, sustaining one-, two-, and three-ball juggling patterns. This work pushes human-robot collaboration beyond simple cooperative manipulation into fast, interactive dynamic tasks that require continuous prediction, adaptation, and coordination.
What the Researchers Built
The team developed a complete hardware-software system for human-robot partner juggling using a Barrett WAM robotic arm (configurable from 4 to 7 degrees of freedom). The system comprises three main components: a ball tracking and prediction pipeline, a flexible online trajectory planner, and a state-machine-based coordination logic.
The tracking module uses motion-capture data to estimate ball position and velocity in real time, then predicts future trajectories. The planner continuously optimizes the robot's end-effector trajectory to intercept the incoming ball and simultaneously plan the next throw. The state machine manages the juggling rhythm: waiting for a human throw, moving to catch, executing the catch, then throwing back to the human. All components run at real-time rates with low latency.
The task involves a human and robot standing opposite each other, each using one hand to exchange balls. The robot uses a specialized end-effector with a funnel-shaped catch surface to reliably capture balls and a release mechanism for throwing. The system can handle multiple balls in the air simultaneously by scheduling catch and throw events.

Key Results
In a user study with participants of varying skill levels, the robot reliably sustained juggling patterns with one, two, and three balls. The system substantially exceeded previously reported results for human-robot partner juggling in both consistency and maximum ball count. Single-ball catching and throwing proved reliable across most of the robot's reachable workspace.
Simulation experiments revealed that performance bottlenecks arise from timing pressure and inter-ball collisions as ball count increases. The replanning architecture operated effectively at real-time rates, and simulated failures matched real-world patterns, confirming that the planning and control approach itself is not a limiting factor.
The success rate varied with catch position—balls arriving near the edges of the workspace had higher bounce-off rates due to reduced catch funnel orientation from the 4-DOF configuration. The authors report that the system is not constrained by basic catching or throwing capabilities but rather by the interaction dynamics between human and robot during multi-ball exchanges.
How It Works
The system operates in three tightly coupled loops: perception, planning, and coordination.
Perception: A motion-capture system tracks the ball's 3D position at high frequency. A Kalman filter estimates velocity and acceleration, then projects the ball's future flight path using a simple ballistic model that accounts for gravity and air drag. The prediction horizon covers the expected catch time, typically 300–500 milliseconds.
Planning: The trajectory planner uses a spline parameterization of the robot's end-effector motion. It solves an online optimization problem that minimizes jerk and acceleration while satisfying timing constraints for both catch and throw. The planner updates every control cycle (around 1–2 ms), enabling rapid adaptation to human throw variations. When no ball is incoming, the robot moves to a ready position to maintain rhythm.
Coordination: A finite state machine defines four primary states: Wait (robot idle, tracking ball), Approach (move to predicted catch point), Catch (close gripper, dampen impact), and Throw (accelerate to release velocity at target position). The transition between states depends on ball position, velocity, and time-to-intercept thresholds. For multiple balls, the state machine schedules overlapping catch-throw sequences and accounts for potential collisions between balls or between ball and robot.
The control strategy uses impedance control for safe interaction—if the robot misses a catch, it yields to the ball impact rather than resisting rigidly, reducing the chance of damage.

Why This Matters for Robotics
This work demonstrates that robots can participate in fast, interactive, and physically coupled tasks with humans—not just in slow, predictable scenarios. Partner juggling is a scalable benchmark: difficulty can be increased by adding balls or changing exchange patterns while keeping the underlying interaction structure the same. That makes it a useful testbed for developing algorithms that must handle prediction, adaptation, and real-time replanning under uncertainty.
The techniques transfer to real-world applications where humans and robots need to hand off objects quickly, such as assembly lines, warehouse order fulfillment, or collaborative manufacturing. The system's ability to replan on the fly and compensate for human variability is directly relevant for used cobots for sale in industrial settings and for warehouse robots that must interact with human pickers.
The state-machine coordination approach and online trajectory optimization are generalizable to other dynamic manipulation tasks, such as catching falling objects or sorting items mid-air. As humanoid robots enter service roles, skills like catching and throwing become essential for fluid human-robot interaction.
Limitations and Open Questions
The system currently relies on external motion capture, limiting it to controlled lab environments. Swapping to RGB or RGB-D perception would be a natural next step but introduces additional noise and latency. Kinematic constraints from the 4-DOF arm reduce performance near workspace boundaries—a 7-DOF configuration could expand the juggling envelope but adds mass and dynamic coupling.
Most critically, multi-ball coordination remains fragile. As ball count increases, inter-ball collisions and timing pressure cause failures. The current planner treats each ball independently and does not explicitly avoid collisions between balls or schedule throws to minimize interference. The authors note that incorporating coordination-aware and multi-object-aware planning is a promising direction for scaling to denser patterns.
Finally, failure attribution is inherently difficult in a tightly coupled human-robot loop—small deviations in human throw timing or robot trajectory can propagate rapidly, making it hard to isolate root causes.
Frequently Asked Questions
What is human-robot partner juggling? A task where a human and a robot stand opposite each other and continuously exchange one or more balls by throwing and catching using one hand each.
How does the robot track the ball during juggling? It uses motion capture cameras to measure ball position at high frequency, then predicts the future trajectory using a Kalman filter and ballistic model.
What robot hardware was used in this study? A Barrett WAM arm, configurable from 4 to 7 degrees of freedom, with a custom end-effector featuring a funnel-shaped catch surface.
What are the main limitations of the current system? It requires controlled lab conditions (motion capture), struggles with multi-ball collisions, and performance degrades near the reachable workspace boundaries.
Conclusion
This research demonstrates that real-time planning and control can enable sustained, multi-ball human-robot juggling, significantly advancing beyond prior work. The system's architecture—predictive tracking, online trajectory optimization, and state-machine coordination—provides a solid foundation for scaling to denser interaction patterns and more practical applications.
