There is no better way to learn robotics than building your own robot. BVarv has shared a guide that explores the idea of building a Pool Playing Robot. He uses Arduino, servos, belts, and gears for programmable motion. A PixyCam is used to see and recognize pool balls by color and provide location data.
More information about this project is available on Instructables.