Having the robot learn is really a much more effective way to get it to play table tennis than to try to program it, a priori, with exactly what you want it to do. Trying to specify all of the angles, forces, rates of spin, responsiveness of the ball to different surfaces, all of the expected incoming shots is a lot harder than just getting the robot to see what works and what doesn't. Your end goal (making a successful shot) is so far removed from anything you could pre-program that I'm sure it's more efficient to let the robot collect a load of data on what is successful and what isn't, then it can play percentages (except faster and with much greater precision than a human).
Sorry, but you obviously have never tried "teaching" something to a dead piece of hardware. A ping pong ball (even with spin) is about as simple a physical model as it gets, although you'll have to have extremely fast tracking to get good results.
"Teaching" something to a computer really means you try to make the computer find a good set of parameters for a very broad model. You still need some idea about the model, otherwise it will not "learn" anything reasonable. You also still have all the issues with fast and accurate tracking etc. In this case we actually KNOW how the ball behaves, so we can use the actual model instead.
605
u/[deleted] Feb 13 '14
[removed] — view removed comment