ROBOT CYCLIC LOCOMOTION USING A DYNAMIC OBJECT
First Claim
1. A computer-implemented method comprising:
- simulating one or more trajectories of a robot in contact with a 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.
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.
61 Citations
21 Claims
-
1. A computer-implemented method comprising:
-
simulating one or more trajectories of a robot in contact with a 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A 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 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. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A system, comprising:
-
a balance controller which maintains balance of a robot in contact with a 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 first initial state and the robot to move through one or more cycles of the cyclic gait.
-
-
21. A computer-implemented method for maintaining locomotion of a robot on a secondary object, comprising:
-
determining, while the robot is performing a cyclic gait according to a simulated trajectory, a difference between the simulated trajectory and an actual trajectory during a step of the cyclic gait; determining, based on the difference, an initial state for a next step of the cyclic gait such that a trajectory of the robot starting from the initial state is closer to the simulated trajectory than is a trajectory of the robot without correction; and sending joint angles and joint velocities of the initial state to a set of joint controllers of the robot to cause the robot to undertake the next step of the cyclic gait, wherein determining the initial state for the next step includes; determining, via inverse kinematics, joint angles which permit a simulated center of mass of the robot at a collision of a swinging foot with the secondary object to be substantially equivalent, relative to the secondary object, to a simulated center of mass of the robot at a collision of the swinging foot with the secondary object according to the simulated trajectory, and substantially minimizing the difference between a simulated center-of-mass position of an initial state and a simulated center-of-mass position of a final state and the difference between simulated joint velocities of the initial state and simulated joint velocities of the final state, the final state being the state of the robot at the end of one cycle of the cyclic gait.
-
Specification