TossingBot is a robot that teaches itself how to pick up and toss objects with great accuracy. Eventually, the robot — designed by researchers from Google, Princeton, Columbia, and MIT — could lead to more efficient pick-and-place (grab-and-toss?) robots for factory automation, debris clearing at disaster sites, or perhaps package delivery. Right now though, the TossingBot is quite good at throwing bananas into bins. From IEEE Spectrum:
Part of what makes TossingBot so useful is that the tossing technique significantly decreases the time that the robot spends on the "place" part of a pick-and-place task. Rather than spending time putting an object down, objects are instead (as the researchers put it) "immediately passed to Newton," and the toss also means that the robot's effective reach is significantly longer than its physical workspace….
The interesting bit of TossingBot itself is a deep neural network that starts with a depth image of objects in a bin, and goes all the way through from successful grasp to parameters for the throw itself. Since the throwing of an object (especially an unbalanced object) depends heavily on how it's being held, grasping and throwing are learned at the same time. By measuring whether a grasp is successful by whether a throw is successful, TossingBot learns to favor grasps that result in accurate throws. As you can see from the video, the learning process itself is fairly clever, and the robot can be mostly just left alone to figure things out for itself, managing 10,000 grasp and throw attempts in 14 hours of training time.