Catching a Ping Pong Ball with an iiwa

We programmed the kinematics of a Kuka iiwa using Drake to catch a ping pong ball with a ping pong paddle. We identified distinct kinematic regimes in the catching task, which we split into a pre-initial contact state and post-initial contact state. We applied finite-state machine (FSM) techniques to model the paddle’s trajectory off equations of motion of projectiles while in a pre-initial-contact mode, while we switched to a PD controller with offset stabilization in the post-initial-contact mode. Both modes of the system relied on passing desired end-effector velocities to a differential inverse kinematics (IK) controller with optimization-based joint limit enforcement. We simulated a perception pipeline by passing ground-truth ball and paddle states to our controller directly. Our design showed success in bringing the ball to a stop from a range of initial positions and velocities. However, keeping the ball at a stable equilibrium on the paddle surface for significant durations proved challenging and would require future work. We evaluated the performance of our system iterations by comparing their performance in stabilizing caught balls with different initial positions and velocities. Introduced dRRT, a discrete sampling-based planner that uses Bresenham’s line algorithm and techniques from search-based planning to achieve anytime qualities and reuse computation. Results on planning for a 5-DOF robotic arm demonstrate faster performance than traditional RRT.

[PDF] [Video] [Code]