Patent ID: 8428779

Claim:
A robot controlling device, comprising: an actuator to drive a drive shaft transferring a driving force to a joint shaft; a drive shaft angle detector to detect an angle of the drive shaft; a joint shaft angle calculator to calculate an angle of the joint shaft from the angle of the drive shaft; an endpoint position calculator configured to calculate an endpoint position of a robot from the angle of the joint shaft; a position commanded value generator configured to generate a position commanded value for the endpoint position; a position error calculator configured to calculate a position error, which is an error between the endpoint position and the position commanded value; a Jacobian matrix calculator configured to calculate a Jacobian matrix between an operational coordinate system of the robot and a joint coordinate system, on the basis of the angle of the joint shaft; a joint angle difference calculator configured to calculate a joint angle difference, from the position error and the Jacobian matrix, according to an inverse kinematics calculation; a torque commanded value calculator configured to calculate a torque commanded value by integrating the joint angle difference; a driver to drive the actuator on the basis of the torque commanded value; an external force calculator configured to calculate an external force applied to the endpoint position; a force commanded value generator configured to generate a force commanded value for the endpoint position; a force error calculator configured to calculate a force error which is an error between the external force and the force commanded value; a compliance model storage to store a compliance model for the endpoint position; a first correction amount calculator configured to calculate a first correction amount for the position commanded value, according to the force error, using the compliance model; and a second correction amount calculator configured to calculate a second correction amount for the position commanded value, on the basis of a first order lag compensation for the first correction amount, wherein the position error calculator calculates the position error using the second correction amount.