Went to @DvijKalaria's lab @berkeley_ai and played ping pong against his robot, Oreo. I'd played a ton of ping pong as a kid. This felt appropriately surreal and one of those "I wish I could tell my highschool self about this" moments. Table tennis is one of the harder sports for robots to play. The ball can move up to 30+ mph with heavy spin, the human opponent's intent is hidden, and the whole body has to coordinate. Oreo is a full humanoid holding a real paddle, and it learned key motions like swings by watching Dvij demonstrate. No robot-collected training data. One person shows the motion, the policy generalizes. The way it works, as I understood it: - A smart system (a hierarchical planner) first figures out where the ball is going to fly and picks the best type of hit, like a forehand or backhand swing. - This plan then helps train the robot's "brain" (an RL policy) in a virtual simulation. The brain learns by trial and error, getting rewards when it mimics a few example moves - Once trained in the sim, the whole setup gets applied to the actual physical robot so it can play for real. The human demonstrations are essentially the reference motions. They are building a robot that has watched more human table tennis than any human has, and uses that to develop its own game. I still won. (Barely. But that won't last)
Follow Dvij's work here: And thanks @hananyss for letting me tag along!
306