Controlling Humanoid Robots with Motion Capture Data
Motion capture is a good source of data for programming humanoid robots because it contains the natural styles and synergies of human behaviors. However, it is difficult to directly use captured motion data because the kinematics and dynamics of humanoid robots differ significantly from those of humans. In our previous work, we developed a controller that allows a robot to maintain balance while tracking a given reference motion that does not include contact state changes. The controller consists of a balance controller based on a simplified robot model and a tracking controller that performs local joint feedback and an optimization process to obtain the joint torques to simultaneously realize balancing and tracking. In this paper, we improve the controller to address the issues related to root position/orientation estimation, model uncertainties, and the difference between expected and actual contact forces. We implement the controller on a full-body, force-controlled humanoid robot. Experimental results demonstrate that the controller can successfully make the robot track captured human motion sequences.