An apparatus for estimating a position of center of gravity of a load loaded to an industrial robot, the robot being provided with a robot arm driven horizontally, the robot arm including four axes configured as first to fourth axis and having an end effector to which the load is loaded, the apparatus comprising:
- a processor configured to perform, based on a program, a process for estimating the position of gravity of center of the load in a plane perpendicular to a height direction of a base included in the robot arm;
- and
- a storage device in which the program for the process is previously stored and is read by the processer for execution of the process,
- wherein the processor is further configured to:
- acquire a first acceleration which is generated at the second axis during accelerated and decelerated intervals of a first operation period in which the second axis is driven such that the robot arm moves from a first initial position to a first estimating position and returns from the first estimating position to the first initial position,
- wherein during the first operation period, the load having a mass m which is known, the fourth axis is positioned at a first angle θa, and the first, third and fourth axes are the same in positions between the first initial and estimating positions;
- acquire a first acceleration torque which is generated at the fourth axis during the accelerated interval and a first deceleration torque which is generated at the fourth axis during the decelerated interval;
- calculate a first inertia τI4a which is generated around the fourth axis based on the first acceleration in both the accelerated and decelerated intervals, the first acceleration torque and the first deceleration torque;
- acquire a second acceleration which is generated at the second axis during accelerated and decelerated intervals of a second operation period in which the second axis is again driven such that the robot arm moves from a second initial position to a second estimating position and returns from the second estimating position to the second initial position,
- wherein during the second operation period, the load is given the same known mass, the fourth axis is positioned at a second angle θb (≠θa), and the first, third and fourth axes are the same in positions between the second initial and estimating positions;
- acquire a second acceleration torque which is generated at the fourth axis during the accelerated interval and a second deceleration torque which is generated at the fourth axis during the decelerated interval in the second operation period;
- calculate a second inertia τI4b which is generated around the fourth axis based on the second acceleration in both the accelerated and decelerated intervals, the second acceleration torque and the second deceleration torque in the second operation period;
- acquire a third acceleration which is generated at the second axis during accelerated and decelerated intervals of a third operation period in which the second axis is again driven such that the robot arm moves from a third initial position to a third estimating position and returns from the third estimating position to the third initial position,
- wherein during the third operation period, the load is given the same known mass, the fourth axis is positioned at a third angle θc (≠θa, θb), and the first, third and fourth axes are the same in positions between the third initial and estimating positions;
- acquire a third acceleration torque which is generated at the fourth axis during the accelerated interval and a third deceleration torque which is generated at the fourth axis during the decelerated interval in the third operation period;
- calculate a third inertia τI4c which is generated around the fourth axis based on the third acceleration in both the accelerated and decelerated intervals, the third acceleration torque and the third deceleration torque in the third operation period;
- and
- calculate the position of center of gravity of the load in the plane, based on:
- i) amounts of the calculated inertia τI4a, τI4b and τI4c, which are acquired under the mutually-different first to third angles θc, θa, and θb of the fourth axis;
- and ii) the mass m of the load.