Patent ID: 8489238

Claim:
A robot control apparatus that controls a robot comprising a joint shaft and a drive shaft transmitting a drive force to the joint shaft, comprising: an actuator driving the joint shaft in each control cycle; a drive shaft angle detector detecting an angle of the drive shaft; a joint shaft angle calculator calculating an angle of the joint shaft from the angle of the drive shaft; a tip position calculator calculating a position of a tip of the robot from the angle of the joint shaft; a position error calculator calculating a position error between the position of the tip of the robot and a position command value for the position of the tip of the robot; a Jacobian matrix calculator calculating, based on the angle of the joint shaft, a partial Jacobian matrix of a portion between a task coordinate system and a joint coordinate system at the joint shaft, and calculating a Jacobian matrix of a portion between a task coordinate system and a joint coordinate system at the position of the tip of the robot by integrating the partial Jacobian matrix; a joint angle difference calculator calculating a joint angle difference; a torque command value calculator calculating a torque command value for a joint, based on the joint angle difference; a driver driving the actuator, based on the torque command value; a drive torque estimating unit estimating a drive torque for driving the actuator from the angle of the joint shaft; an external torque calculator calculating an external torque that is a difference between the estimated drive torque and the torque command value, and determining an external force receiving joint shaft on which an external force from the external torque acts; an external force calculator calculating, from the external torque and the partial Jacobian matrix, the external force acting on the external force receiving joint shaft; a compliance model storage unit storing a compliance model at the external force receiving joint shaft; a compliance correction amount calculator calculating a compliance correction amount for a task coordinate system position at the external force receiving joint shaft in accordance with the external force, using the compliance model; and a joint angle difference correction amount calculator calculating a joint angle difference correction amount from the compliance correction amount and the partial Jacobian matrix, wherein the joint angle difference calculator calculates an uncorrected joint angle difference through an inverse kinematic calculation using the position error and the Jacobian matrix, and outputs the sum of the uncorrected joint angle difference and the joint angle difference correction amount as the joint angle difference.