Motivation: To build a ball-catching robot in order to test an algorithm developed that identifies task-relevant variables, i.e., picks out the variables most important to the task, as described in the paper, Task Driven Control Using Information Bottlenecks. This project’s goal is to implement the algorithm described to ball-catching and compare the results with the gaze heuristic, a known optimal solution to ball catching that uses only one variable (the gaze angle).
I was responsible for the initial design (mechanical and electrical), building and software to implement the gaze heuristic on the robot. This project is still in progress at the Intelligent Robot Motion Lab at Princeton University.
Progress:
I designed and built the robot shown below.
The robot uses omnidirectional wheels, to be able to move in both the x and y directions without having to change its orientation. Four individual motors power the robot, giving it the ability to move in an arbitrary direction. A bucket is attached as a “catching” mechanism.
The gaze heuristic shows that to catch a ball, all you need to ensure is to keep the ball at the same point in the camera (or in the case of humans, vision) frame and then you are bound to intersect with the ball. To implement this, the robot I designed ensures that the camera can view the ball at all points and moves to keep it in the same pixel location at all points.
Here’s a video showing a ball catching attempt. There are issues with the reaction time, which we are currently working on to ensure the robot reaches the location in time rather than when the ball has already passed.