Determination of foot placement for humanoid push recovery
First Claim
1. A method for controlling a robot having at least two legs including a swing leg, the robot standing on a surface and subjected to a force, the method comprising:
- receiving, by a controller, a state vector comprising positions and velocities of joints of the robot;
applying, by the controller, a linear motion model to the state vector that models at least a portion of the robot as an inverted pendulum, the linear motion model when applied to the state vector determining an instantaneous capture point on the surface where the robot will step with the swing leg to reach a balanced home position, the balanced home position being a state in which a center of mass of the robot remains substantially over a center of pressure of the robot such that the robot maintains balance; and
outputting a control signal to an actuator that causes the robot to step with the swing leg to the instantaneous capture point.
2 Assignments
0 Petitions
Accused Products
Abstract
A legged robot subjected to a force is controlled by determining an instantaneous capture point where the robot will step with a swing leg to reach a balanced home position, the balanced home position being a state in which the Center of Mass remains substantially over the Center of Pressure and the robot is able to maintain its balance indefinitely. The capture point can be determined using a Linear Inverted Pendulum Plus Flywheel (LIPPF) model of the robot. The LIPPF model includes a flywheel with a mass and a rotational inertia, and a variable length leg link. A torque profile is applied to the flywheel and a set of capture points is determined based on this torque profile An experimentally determined error value can be added to a capture point that is determined based on the model to account for differences between an actual robot and the model.
47 Citations
20 Claims
-
1. A method for controlling a robot having at least two legs including a swing leg, the robot standing on a surface and subjected to a force, the method comprising:
-
receiving, by a controller, a state vector comprising positions and velocities of joints of the robot; applying, by the controller, a linear motion model to the state vector that models at least a portion of the robot as an inverted pendulum, the linear motion model when applied to the state vector determining an instantaneous capture point on the surface where the robot will step with the swing leg to reach a balanced home position, the balanced home position being a state in which a center of mass of the robot remains substantially over a center of pressure of the robot such that the robot maintains balance; and outputting a control signal to an actuator that causes the robot to step with the swing leg to the instantaneous capture point. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for controlling a robot having at least two legs including a swing leg, the robot standing on a surface and subjected to a force, the method comprising:
-
receiving, by a controller, a state vector comprising instantaneous positions and velocities of joints of the robot; applying, by the controller, a linear motion model to the state vector that models a first portion of the robot as an inverted pendulum and models a second portion of the robot as a flywheel, the linear motion model when applied to the state vector determining a capture region on the surface where the robot will step with the swing leg to reach a balanced home position, the balanced home position being a state in which a center of mass of the robot remains substantially over a center of pressure of the robot such that the robot maintains balance; and outputting a first control signal to an actuator that causes the robot to step with the swing leg to a point within the capture region. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer-readable storage medium storing computer-executable program instructions for controlling a robot having at least two legs including a swing leg, the robot standing on a surface and subjected to a force, the program instructions when executed cause a processor to perform steps of:
-
receiving a state vector comprising positions and velocities of joints of the robot; applying a linear motion model to the state vector that models at least a portion of the robot as an inverted pendulum, the linear motion model when applied to the state vector determining an instantaneous capture point on the surface where the robot will step with the swing leg to reach a balanced home position, the balanced home position being a state in which a center of mass of the robot remains substantially over a center of pressure of the robot such that the robot maintains balance; and outputting a control signal to an actuator that causes the robot to step with the swing leg to the instantaneous capture point. - View Dependent Claims (19)
-
-
20. A computer-readable storage medium storing computer-executable program instructions for controlling a robot having at least two legs including a swing leg, the robot standing on a surface and subjected to a force, the program instructions when executed cause a processor to perform steps of:
-
receiving, by a controller, a state vector comprising instantaneous positions and velocities of joints of the robot; applying, by the controller, a linear motion model to the state vector that models a first portion of the robot as an inverted pendulum and models a second portion of the robot as a flywheel, the linear motion model when applied to the state vector determining a capture region on the surface where the robot will step with the swing leg to reach a balanced home position, the balanced home position being a state in which a center of mass of the robot remains substantially over a center of pressure of the robot such that the robot maintains balance; and outputting a control signal to an actuator that causes the robot to step with the swing leg to a point within the capture region.
-
Specification