The juggling robot

A robot juggling ping-pong balls is a fascinating challenge that creates interesting problems of implementation. A robot capable of juggling 3 balls was built at the LAMI. The installation comprises a 2 dimensional high-speed robot arm with a structure based on the DELTA robot developed at the Microengineering institute of the EPFL. This robot works on an tilted surface, on which the ping-pong balls roll. The position of the balls can be observed by means of a camera which is fixed perpendicularly to the work plane of the robot. The hardware and software structures have been found to be particularly flexible. Neural networks has been experimented for data processing and control.


Juggling with neurons

Three main actions are needed to juggle: throw a ball, catch it, and bring it back to the initial point. Receiving the ball is the critical action. The gripper must be positioned so to allow the robot to catch the ball and hold it. The gripper is moved by 2 motors whose coordinates are different from those of vision system. Therefore, a coordinate system transformation is needed. However, there are a high number of distortions due to the position of the camera in relation to the plane, the optics of the camera, the position of the balls in relation to the camera, the type of lightening etc. As a consequence it is very difficult to model and put the coordinate transformation into equations.

The neural network approach consists in teaching to a neural network the correspondence between the X and Y coordinates of the gripper, as seen from the camera, and the angular coordinates of the motors. The chosen network is a Kohonen map of 10 x 10 neurons. During the learning phase, the inputs of the network receive a random sequence of points (about 5000) described by the two pairs of coordinates in the two systems. The network organises its structure so to cover the whole coordinate spaces. It learns the relation between the cartesian coordinates X Y and the angles of the arms A and B. Once the network is organised, its knowledge can be exploited to juggle.

The neural approach makes it possible a saving in design time (it learns by itself), obtains a transformation of coordinates for any one point of the work plane (extrapolation) and is applicable to any multidimensional input space that has to be mapped on a 2-D space.



Homepages: K-robots (Khepera and Koala) - Robots at LAMI - LAMI - DI - EPFL
Francesco Mondada March 1996. Send me an E-mail for any questions or comments.