Robot cyclic locomotion using a dynamic object
First Claim
1. A computer-implemented method comprising:
- simulating, via one or more processors, one or more trajectories of a robot in contact with a dynamic secondary object, wherein the robot maintains balance on the secondary object throughout each of the one or more simulated trajectories;
determining, based on the one or more simulated trajectories, a first initial state of a cyclic gait of the robot such that the simulated trajectory of the robot starting from the first initial state substantially returns to the first initial state at an end of one cycle of the cyclic gait; and
sending joint angles and joint velocities of the first initial state to a set of joint controllers of the robot to cause a leg of the robot to achieve the first initial state and to cause the robot to move through one or more cycles of the cyclic gait in motion with the secondary object,wherein determining the first initial state includes;
substantially minimizing a difference between a simulated center-of-mass position of the first initial state and a simulated center-of-mass position of a final state, the final state being the state of the robot at the end of the one cycle of the cyclic gait, andsubstantially minimizing a difference between simulated joint velocities of the first initial state and simulated joint velocities of the final state.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are disclosed for optimizing and maintaining cyclic biped locomotion of a robot on an object. The approach includes simulating trajectories of the robot in contact with the object. During each trajectory, the robot maintains balance on the object, while using the object for locomotion. The approach further includes determining, based on the simulated trajectories, an initial state of a cyclic gait of the robot such that the simulated trajectory of the robot starting from the initial state substantially returns to the initial state at an end of one cycle of the cyclic gait. In addition, the approach includes sending joint angles and joint velocities of the initial state to a set of joint controllers of the robot to cause a leg of the robot to achieve the initial state so the robot moves through one or more cycles of the cyclic gait.
15 Citations
18 Claims
-
1. A computer-implemented method comprising:
-
simulating, via one or more processors, one or more trajectories of a robot in contact with a dynamic secondary object, wherein the robot maintains balance on the secondary object throughout each of the one or more simulated trajectories; determining, based on the one or more simulated trajectories, a first initial state of a cyclic gait of the robot such that the simulated trajectory of the robot starting from the first initial state substantially returns to the first initial state at an end of one cycle of the cyclic gait; and sending joint angles and joint velocities of the first initial state to a set of joint controllers of the robot to cause a leg of the robot to achieve the first initial state and to cause the robot to move through one or more cycles of the cyclic gait in motion with the secondary object, wherein determining the first initial state includes; substantially minimizing a difference between a simulated center-of-mass position of the first initial state and a simulated center-of-mass position of a final state, the final state being the state of the robot at the end of the one cycle of the cyclic gait, and substantially minimizing a difference between simulated joint velocities of the first initial state and simulated joint velocities of the final state. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer-readable storage medium storing a program, which, when executed by a processor performs an operation, the operation comprising:
-
simulating one or more trajectories of a robot in contact with a dynamic secondary object, wherein the robot maintains balance on the secondary object throughout each of the one or more simulated trajectories; determining, based on the one or more simulated trajectories, a first initial state of a cyclic gait of the robot such that the simulated trajectory of the robot starting from the first initial state substantially returns to the first initial state at an end of one cycle of the cyclic gait; and sending joint angles and joint velocities of the first initial state to a set of joint controllers of the robot to cause a leg of the robot to achieve the first initial state and to cause the robot to move through one or more cycles of the cyclic gait in motion with the secondary object, wherein determining the first initial state includes; substantially minimizing a difference between a simulated center-of-mass position of the first initial state and a simulated center-of-mass position of a final state, the final state being the state of the robot at the end of the one cycle of the cyclic gait, and substantially minimizing a difference between simulated joint velocities of the first initial state and simulated joint velocities of the final state. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A system, comprising:
-
a balance controller which maintains balance of a robot in contact with a dynamic secondary object, the secondary object used by the robot during locomotion; a dynamics simulator to compute a trajectory of the robot in contact with the secondary object and controlled by the balance controller starting from an initial state; a computer-implemented process for optimizing an initial state of a cyclic gait of the robot such that the trajectory of the robot starting from the initial state substantially returns to the initial state after one cycle of the gait; and a set of joint controllers to cause a leg of the robot to achieve the initial state and the robot to move through one or more cycles of the cyclic gait in motion with the secondary object, wherein optimizing the initial state includes; substantially minimizing a difference between a simulated center-of-mass position of the initial state and a simulated center-of-mass position of a final state, the final state being the state of the robot at the end of the one cycle of the cyclic gait, and substantially minimizing a difference between simulated joint velocities of the initial state and simulated joint velocities of the final state.
-
Specification