Grasp It!
The goal of the task is to grasp a ball from the table. The exercise is divided into two parts:
find the ball on a table in the image plane. The ball is in the visual field of the robot and is green.
grasp the ball. Use the position of ball in image plane to compote its 3D position and grasp it.

Task
Implement find_the_ball() and grasp() functions in exercise_5.py that will find and grasp the ball. The function are methods of a class Grasper, that contains several useful methods. After grasp, you should move the ball up such that it is at least 5cm above the table.
The class takes two arguments
client - instance of pyCub class that controls the simulation
eye - name of the eye in which the camera is placed; ‘l_eye’ or ‘r_eye’ The two function have predefined arguments and returns:
find_the_ball() - takes no arguments and should return (u, v) - center of the ball in image plane
grasp() - takes one argument
center
(the 2D center returned by find_the_ball()) and should return 0 in case of successful grasp You are free to add any method or variable to the class, but only find_the_ball() and grasp() will be called.
The class Grasper contains several helpful methods, e.g., to get RGB and Depth image; to deproject the 2D point; to close fingers.
The ball is always green (0, 255, 0) and it’s radius is 2.5cm.
Scoring
If the ball is 5cm above the table and in the hand of the robot after you return from grasp(), you passed the test
Requirements
Those apply mainly for exercise_5_tester.py to work correctly:
do not create new client instance, use the one that is passed as an argument to Grasper class
do not rename the functions find_the_ball(), grasp() or the file
The ball must be 5cm above the table and in the hand of the robot after grasp() returns
Those apply so that you fulfill the exercise as intended:
Do not turn of gravity