IP Library Granted Patent US 9,561,592
Granted Patent B1
US 9,561,592 · App. 14/713,569 · Granted Feb 7, 2017

Ground plane compensation for legged robots

Inventors: Marco da Silva (Arlington, MA); Kevin Blankespoor (Arlington, MA); Gabriel Nelson (Wilmington, MA)
Assignee: Google Inc.
B25J9/1694B25J5/00B25J9/1664G01C9/00Y10S901/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,561,592
App. No.
14/713,569
Granted
Feb 7, 2017
Kind
B1
Abstract

An example implementation includes (i) receiving sensor data that indicates topographical features of an environment in which a robotic device is operating, (ii) determining, for a particular topographical feature of the environment in a direction of travel of the robotic device, a height of the particular topographical feature and a distance between the robotic device and the particular topographical feature, (iii) estimating a ground plane extending from the robotic device in the direction of travel toward the particular topographical feature, the ground plane fitting to the determined distance and height, (iv) determining a grade of the estimated ground plane, and (v) directing the robotic device to adjust pitch in proportion to the determined grade.

Claims (61)

1. A control system comprising:

one or more processors;

a non-transitory computer readable medium; and

program instructions stored on the non-transitory computer readable medium and executable by the one or more processors to:

receive sensor data that indicates topographical features of an environment in which a robot is operating, wherein the robot has a torso;

determine, for a particular topographical feature of the environment in a direction of travel of the robot, a height of the particular topographical feature and a distance between the robot and the particular topographical feature;

estimate a ground plane extending from the robot in the direction of travel toward the particular topographical feature, the ground plane fitting to the determined distance and height;

determine a grade of the estimated ground plane; and

control actuators of the robot so as to cause the robot to pitch the torso based on the grade of the estimated ground plane.

2. The control system of claim 1 , wherein directing the robot to pitch the torso based on the grade of the estimated ground plane comprises pitching the torso by a degree that is a portion of the determined grade.

3. The control system of claim 1 , wherein the robot has a leg, and wherein the program instructions are further executable to:

for a step of the leg, determine a swing trajectory that traces a spline function having knot points on a quadrilateral in which the leg is lifted upward in a direction that is opposite of gravity, stepped forward in a direction that is parallel to the determined grade of the estimated ground plane, and lowered downward in the direction of gravity; and

cause the robot to move the leg based on the determined swing trajectory.

4. The control system of claim 1 , wherein directing the robot to pitch based on the grade of the estimated ground plane comprises directing the robot to adjust a pitch of the torso approximately one stride in advance of the particular topographical feature.

5. The control system of claim 1 , wherein directing the robot to pitch the torso based on the grade of the estimated ground plane comprises directing the robot to adjust a pitch of the torso between one and two strides in advance of the particular topographical feature.

6. The control system of claim 1 , wherein the robot has legs, and wherein the program instructions are further executable to:

detect, within the sensor data that indicates topographical features of the environment of the robot, a topographical feature in the direction of travel that forms ground roll;

determine a magnitude of the ground roll formed by the topographical feature in the direction of travel;

responsively cause the robot to reduce its height in proportion to the determined magnitude of the ground roll by bending one or more respective joints of the legs; and

while the robot is traversing the detected topographical feature, cause the robot to conduct a gait with the legs while maintaining the reduced height.

7. The control system of claim 1 , wherein the program instructions are further executable to:

cause the robot to reduce its height in proportion to the determined grade by bending one or more respective joints of the legs.

8. The control system of claim 1 , wherein the program instructions are further executable to:

determine that a difference between the determined grade and a grade of a currently traversed ground plane exceeds a threshold difference in grade; and

cause the robot to reduce speed in advance of the topographical feature.

9. A robot, comprising:

a torso;

at least one perception sensor; and

a control system configured to:

receive sensor data that indicates topographical features of an environment in which the robot is operating;

determine, for a particular topographical feature of the environment in a direction of travel of the robot, a height of the particular topographical feature and a distance between the robot and the particular topographical feature;

estimate a ground plane extending from the robot in the direction of travel toward the particular topographical feature, the ground plane fitting to the determined distance and height;

determine a grade of the estimated ground plane; and

cause the robot to pitch the torso based on the grade of the estimated ground plane.

10. The robot of claim 9 , wherein directing the robot to pitch the torso based on the grade of the estimated ground plane comprises pitching the torso by a degree that is a portion of the determined grade.

11. The robot of claim 9 , wherein the robot comprises a first leg, wherein the control system is further configured to:

for a step of the first leg, determine a swing trajectory that traces a spline function having knot points on a quadrilateral in which the first leg is lifted upward in a direction that is opposite of gravity, stepped forward in a direction that is parallel to the determined grade of the estimated ground plane, and lowered downward in the direction of gravity; and

cause the robot to move the first leg based on the determined swing trajectory.

12. The robot of claim 9 , wherein directing the robot to pitch the torso based on the grade of the estimated ground plane comprises directing the robot to adjust a pitch of the torso approximately one stride in advance of the particular topographical feature.

13. The robot of claim 9 , wherein directing the robot to pitch the torso based on the grade of the estimated ground plane comprises directing the robot to adjust a pitch the torso between one and two strides in advance of the particular topographical feature.

14. The robot of claim 9 , wherein the robot comprises legs, and wherein the control system is further configured to:

detect, within the sensor data that indicates topographical features of the environment of the robot, a topographical feature in the direction of travel that forms ground roll;

determine a magnitude of the ground roll formed by the topographical feature in the direction of travel;

responsively cause the robot to reduce its height in proportion to the determined magnitude of the ground roll by bending one or more respective joints of the legs; and

while the robot is traversing the detected topographical feature, cause the robot to conduct a gait with the legs while maintaining the reduced height.

15. The robot of claim 9 , wherein the control system is further configured to:

cause the robot to reduce its height in proportion to the determined grade by bending one or more respective joints of the legs.

16. The robot of claim 9 , wherein the control system is further configured to:

determine that a difference between the determined grade and a grade of a currently traversed ground plane exceeds a threshold difference in grade; and

cause the robot to reduce speed in advance of the topographical feature.

17. A method comprising:

receiving, by a control system of a robot, sensor data that indicates topographical features of an environment in which a robot is operating, wherein the robot has a torso;

determining, for a particular topographical feature of the environment in a direction of travel of the robot, a height of the particular topographical feature and a distance between the robot and the particular topographical feature;

estimating a ground plane extending from the robot in the direction of travel toward the particular topographical feature, the ground plane fitting to the determined distance and height;

determining a grade of the estimated ground plane; and

controlling actuators of the robot so as to cause the robot to pitch the torso based on the grade of the estimated ground plane.

18. The method of claim 17 , wherein directing the robot to pitch the torso based on the grade of the estimated ground plane comprises pitching the torso by a degree that is a portion of the determined grade.

19. The method of claim 17 , wherein directing the robot to pitch the torso based on the grade of the estimated ground plane comprises directing the robot to adjust a pitch of the torso between one and two strides in advance of the particular topographical feature.

20. The method of claim 17 , further comprising:

determining that a difference between the determined grade and a grade of a currently traversed ground plane exceeds a threshold difference in grade; and

causing the robot to reduce its speed in advance of the topographical feature.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE REMOVAL OF THE INCORRECTLY RECORDED APPLICATION NUMBERS 14/149802 AND 15/419313 PREVIOUSLY RECORDED AT REEL: 44144 FRAME: 1. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Mar 4, 2024
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 068092/0502 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATIONS NUMBERS 63127573 AND 11/302759 AND THE CITY OF THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 057111 FRAME: 0202. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 27, 2021
From: BOSTON DYNAMICS, INC.
To: BOSTON DYNAMICS, INC.
Reel/Frame 057964/0415 →
CHANGE OF NAME Recorded Oct 5, 2021
From: BOSTON DYNAMICS, INC.
To: BOSTON DYNAMICS, INC.
Reel/Frame 057711/0202 →
CHANGE OF NAME Recorded Oct 6, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044144/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2017
From: GOOGLE, INC.
To: BOSTON DYNAMICS, INC.
Reel/Frame 043811/0967 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2015
From: DA SILVA, MARCO; BLANKESPOOR, KEVIN; NELSON, GABRIEL
To: GOOGLE INC.
Reel/Frame 035650/0552 →