IP Library Granted Patent US 9,120,227
Granted Patent B2
US 9,120,227 · App. 14/067,603 · Granted Sep 1, 2015

Human motion tracking control with strict contact force constraints for floating-base humanoid robots

Inventors: Yu Zheng (Pittsburgh, PA); Katsu Yumane (Pittsburgh, PA)
Assignee: DISNEY ENTERPRISES, INC.
B25J9/1633Y10S901/01
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,120,227
App. No.
14/067,603
Granted
Sep 1, 2015
Kind
B2
Abstract

A controller for floating-base humanoid robots that can track motion capture data while maintaining balance. Briefly, the controller includes a proportional-derivative (PD) controller that is adapted to compute the desired acceleration to track a given reference trajectory at every degree-of-freedom (DOF) of the robot including the six unactuated ones of the floating base. Second, the controller includes a component (joint torque optimization module) that computes the optimal joint torques and contact forces to realize the desired accelerations given by the first component (i.e., the PD controller). The joint torque optimization module performs this computation considering the full-body dynamics of the robot and the constraints on contact forces. The desired accelerations may not be feasible for the robot due to limits in normal contact forces and friction (e.g., the robot sometimes cannot exactly copy or perform the modeled human motion defined by motion capture data).

Claims (41)

1. A method for controlling a floating-base robot to track a reference motion, comprising:

sensing the state of the floating-base robot with reference to an operating environment;

with a processor, determining desired joint and contact link accelerations based on the reference motion and the state of the floating-base robot;

with the processor, computing contact wrenches and joint torques to generate the desired joint and contact link accelerations;

with the processor, controlling the floating-base robot to track the reference motion using the contact wrenches and joint torques from the computing step; and

repeating the sensing of the state, the determining of desired joint and contact link accelerations, and the computing contact wrenches and joint torques for each control cycle for the floating-base robot.

2. The method of claim 1 , wherein the desired joint and contact link accelerations are calculated by a feedback controller based on the reference motion and the state of the floating-base robot.

3. The method of claim 1 , wherein contact wrenches and joint torques are computed separately by solving two sequential optimization problems.

4. The method of claim 3 , wherein the joint torques are calculated based on the desired joint and contact link accelerations, the state of floating-base robot, and the computed contact wrenches.

5. The method of claim 1 , wherein the contact wrenches and joint torques are computed based on the state and the full-body dynamics model of the floating-base robot.

6. The method of claim 1 , wherein the contact wrenches are calculated based on the desired joint accelerations, desired contact states of contact links, and the state of the floating-base robot.

7. The method of claim 6 , wherein the contact wrenches are calculated such that the contact force applied by the operating environment at each contact point satisfies the inequality constraints on the direction and magnitude of the contact force.

8. The method of claim 6 , wherein the desired contact states change during the reference motion.

9. The method of claim 1 , wherein the reference motion is human motion capture data.

10. The method of claim 1 , wherein the reference motion is key frame animation.

11. A robot, comprising:

a floating-base body comprising a plurality of links and torque-controlled joints; and

a tracking controller comprising:

sensing a state of the robot with reference to an operating environment;

determining desired joint and contact link accelerations based on a reference motions and the state of the floating-base robot;

computing contact wrenches and joint torques to generate the desired joint and contact link accelerations; and

repeating the sensing of the state, the determining of desired joint and contact link accelerations, and the computing contact wrenches and joint torques for each control cycle for the robot.

12. The robot of claim 11 , wherein the desired joint and contact link accelerations are calculated by a feedback controller based on the reference motion and the state of the floating-base body.

13. The robot of claim 11 , wherein contact wrenches and joint torques are computed separately by solving two sequential optimization problems.

14. The robot of claim 13 , wherein the joint torques are calculated based on the desired joint and contact link accelerations, the state of floating-base body, and the computed contact wrenches.

15. The robot of claim 11 , wherein the contact wrenches and joint torques are computed based on the state and the full-body dynamics model of the floating-base body.

16. The robot of claim 11 , wherein the contact wrenches are calculated based on the desired joint accelerations, desired contact states of contact links, and the state of the floating-base body.

17. The robot of claim 16 , wherein the contact wrenches are calculated such that the contact force applied by the operating environment at each contact point satisfies the inequality constraints on the direction and magnitude of the contact force.

18. The robot of claim 16 , wherein the desired contact states change during the reference motion.

19. The robot of claim 11 , wherein the reference motion is human motion capture data.

20. The robot of claim 11 , wherein the reference motion is key frame animation.

21. A method for controlling a floating-base robot to track a set of reference motions, comprising:

with a processor, sensing the state of the floating-base robot with reference to an operating environment;

with the processor, predicting the future state of the floating-base robot;

with the processor, interpolating the reference motions based on a predicted future state;

with a tracking controller provided by the processor, determining desired joint and contact link accelerations based on the interpolated reference motions and the state of the floating-base robot;

with the tracking controller, computing contact wrenches and joint torques to generate the desired joint and contact link accelerations;

controlling the floating-base robot to track the reference motions based on the contact wrenches and joint torques; and

repeating the sensing of the state, the interpolating of the reference motions, the determining of desired joint and contact link accelerations, and the computing contact wrenches and joint torques for each control cycle for the floating-base robot.

22. The method of claim 21 , wherein the set of reference motions comprises a motion that maintains a static equilibrium pose of the floating-base robot.

23. The method of claim 21 , wherein the motions are interpolated based on the predicted center of mass position.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2013
From: ZHENG, YU; YUMANE, KATSU
To: DISNEY ENTERPRISES, INC.
Reel/Frame 031513/0292 →
Continuity (2)
Provisional Application 61866382 · Aug 15, 2013
Related Publication 20150051734A1 · Feb 19, 2015