For our final project we utilized a Sawyer robotic arm to throw a ping pong ball into a cup moving in a periodic motion that is unknown to our robot.
Our main goal was to accurately throw a ball into a moving cup, being able to predict the cups location with respect to time.
Throwing mechanics: For humans, throwing a ball may seem trivial but for a robotic arm it presents many challenges. Calculating joint velocities, release point, initial and final arm position were all interesting challenges that this project overcame, resulting in accurate and repeatable throwing.
Periodic motion tracking: Our target cup moved in a periodic motion which the robotic arm needed to determine. Using an AR tag on the cup to determine position at discrete time intervals, we had to piece together this data to determine the motion of the cup and its period.
2D Gantry: To produce the periodic motion of the cup we utilized a 2D gantry to move the cup. This was a separate system from the arm and is capable of moving the cup in user specified patterns such as circles, squares and infinity signs.
As fun as it is to use robotics to play cup pong, throwing is a difficult challenge in robotics and has many practice uses. Companies like Amazon are using robots to further automate manufacturing and warehouses. Throwing provides an opportunity to greatly increase the reachable workspaces of existing robotic infrastructure. Parts or boxes can be thrown into different bins or assembly lines without requiring larger robots or increases transportation infrastructure. Throwing is also much faster than pick and place operations (assuming the object isn't fragile).
Amazon's Deployment of Humanoid Robots