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 of the robot; a camera that is attached to the arm end to take an image of the object; a first robot position storing unit configured to store, as a first robot position, a 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 a 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 an 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 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 at least one feature quantity of the target arrival state data; and a correction data calculator configured to calculate correction data for correcting a robot position taught in the program based on a difference between the first robot position and a second robot position, wherein the second robot position is the position of the arm end when the arm end has been moved based on the calculated amount of movement.