To enhance system stability by finding a compensation torque value for vibration restriction based on a torque command value and a motor output speed, reflecting this compensation torque value to a torque command value and giving it to a servo motor, and restricting vibration by compensating elastic torsion occurred between a drive inertia system and a driven inertia system.
An elastic torsional torque estimate and a disturbance torque estimate estimated by a minimum dimension assumed by a minimum dimension observation device 21 are given to a subtracter 23, and the subtracter 23 outputs these difference to a compensation torque calculating section 25. The compensation torque calculating section 25 determines a driven inertia system (servo motor) 5 from the difference of both the estimates, that is, acceleration estimate of load, and differentiates this and obtains an acceleration differentiated value of load. This is multiplied by a compensation torque feedback gain and a compensation torque value is determined. The compensation torque value is given to a subtracter 27 provided between a PI controller 9 and a driving inertia system (servo motor) 3, and a torque command value Tc created from the PI controller 9 is corrected and given to the driving inertia system 3.