1. A robot system comprising: a robot that is controlled by a program including operational instructions for performing predetermined operations on an object placed at a first object position on a plane by use of a device attached to an arm end thereof; a camera that is attached to the arm end to take the image of the object; a first robot position storing unit configured to store, as a first robot position, the position of the arm end arranged in a predetermined positional relationship relative to the first object position; a target arrival state data storing unit configured to store, at least, one feature quantity among the position, attitude and size of the object on the image of the camera in a target arrival state where the object is placed at the first object position while the arm end is positioned at the first robot position, as the target arrival state data; a robot movement amount calculator configured to calculate the amount of movement from an arbitrary initial position of the arm end in order to make, at least, one feature quantity of the position, attitude and size on the camera image of the object when the object placed at a second object position on the plane has been captured by the camera with the arm end of the robot positioned at the arbitrary initial position, agree with the corresponding feature quantity of the target arrival state data; and, a correction data calculator configured to calculate correction data for correcting the program based on the difference between the second robot position, or the position of the arm end when the arm end has been moved based on the calculated amount of movement, and the first robot position.