An apparatus for estimating a position of gravity of center of a load loaded to a 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 to which the load is loaded, the apparatus comprising:
- a first acceleration acquiring unit configured to acquire acceleration 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 is given a known mass, 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;
- a first torque accruing unit configured to acquire acceleration torque generated at the fourth axis during the accelerated interval and deceleration torque generated at the fourth axis during the decelerated interval;
- a first inertia calculating unit configured to calculate inertia τI4a generated around the fourth axis based on the acceleration in both the accelerated and decelerated intervals, the acceleration torque and the decelerated torque;
- a second acceleration acquiring unit configured to acquire acceleration 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;
- a second torque accruing unit configured to acquire acceleration torque generated at the fourth axis during the accelerated interval and deceleration torque generated at the fourth axis during the decelerated interval in the second operation period;
- a second inertia calculating unit configured to calculate inertia τI4b generated around the fourth axis based on the acceleration in both the accelerated and decelerated intervals, the acceleration torque and the decelerated torque in the second operation period;
- a third acceleration acquiring unit configured to acquire acceleration 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;
- a third torque accruing unit configured to acquire acceleration torque generated at the fourth axis during the accelerated interval and deceleration torque generated at the fourth axis during the decelerated interval in the third operation period;
- a third inertia calculating unit configured to calculate inertia τI4c generated around the fourth axis based on the acceleration in both the accelerated and decelerated intervals, the acceleration torque and the decelerated torque in the third operation period;
- and
- a center of gravity calculating unit configured to calculate a position of a center of gravity of the load on a plane based on a distance from the fourth axis to the load, a direction of the center of gravity from the fourth axis, amounts of the calculated inertia τI4a, τI4b and τI4c, and the first to third angles θc, θa, and θb of the fourth axis.