Patent ID: 8725293

Claim:
A control device for a robot comprising: a hybrid dynamics calculator calculating joint forces that act on immovable joints where joint accelerations are known and the joint accelerations that are generated at movable joints where the joint forces are known by performing a hybrid dynamics calculation that includes inverse dynamics and forward dynamics using an auxiliary model in which the actuated joints of the robot having actuated joints and unactuated joints are immovable; a forward dynamics calculator calculating the accelerations that are generated by the known forces that act on the robot using a main model in which all joints of the robot are movable; a joint force determination unit determining the joint force for generating desired target acceleration at an arbitrary portion of the robot based on a calculation result from the hybrid dynamics calculator and the forward dynamics calculator; and a joint force controller setting the determined joint force as the control target value and controlling a joint force of each joint of the robot, wherein the joint force determination unit includes: a generalized operational space inverse inertia matrix calculator obtaining a generalized operational space inverse inertia matrix by repeatedly performing the forward dynamics calculation for all operational spaces by the forward dynamics calculator under conditions where all variables other than a joint space and a external force are 0 and the external force which is formed of one unit vector e i is acted to only the i th operational space by an i th component; a generalized operational space bias acceleration calculator obtaining a generalized operational space bias acceleration by performing the forward dynamics calculation by the forward dynamics calculator only once under a first constraint in which only speed and gravity that are generated at joint spaces act; a virtual external force calculation unit resolving a virtual external force f that is exerted in the i th operational space in order to obtain the desired target acceleration that is known and generated in the i th operational space in a relation expression of force and acceleration that act in the i th operational space that is expressed using the generalized operational space inverse inertia matrix and the generalized operational space bias acceleration; and a joint calculation unit converting the virtual external force f that is obtained by the virtual external force calculation unit to an actuated joint force of the actuated joints using a generalized inverse force dynamics calculation.