IP Library Granted Patent US 10,496,094
Granted Patent B1
US 10,496,094 · App. 15/723,881 · Granted Dec 3, 2019

Systems and methods for ground plane estimation

Inventors: Kevin Blankespoor (Arlington, MA); Gabriel Nelson (Waltham, MA); Neil Neville (Waltham, MA)
Assignee: Boston Dynamics, Inc.
G05D1/0088B25J9/1615B25J9/1694B25J9/1697Y10S901/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 10,496,094
App. No.
15/723,881
Granted
Dec 3, 2019
Kind
B1
Abstract

A method for estimating a ground plane includes receiving a pose of a robotic device with respect to a gravity aligned reference frame, receiving one or more locations of one or more corresponding contact points between the robotic device and a ground surface, and determining a ground plane estimation of the ground surface based on the orientation of the robotic device with respect to the gravity aligned reference frame and the one or more locations of one or more corresponding contact points between the robotic device and the ground surface. The ground plane estimation includes a ground surface contour approximation. The method further includes determining a distance between a body of the robotic device and the determined ground plane estimation and causing adjustment of the pose of the robotic device with respect to the ground surface based on the determined distance and the determined ground plane estimation.

Claims (47)

1. A method comprising:

receiving, at a computing device, a pose of a robotic device with respect to a gravity aligned reference frame;

receiving, at the computing device, one or more locations of one or more corresponding contact points between the robotic device and a ground surface, the contact points derived from sensor information generated by a sensor associated with a respective leg of one or more legs of the robotic device;

determining, by the computing device, a ground plane estimation of the ground surface based on the pose of the robotic device with respect to the gravity aligned reference frame and the one or more locations of one or more corresponding contact points between the robotic device and the ground surface, wherein the ground plane estimation includes a ground surface contour approximation;

determining, by the computing device, a distance between a body of the robotic device and the determined ground plane estimation; and

causing, by the computing device, the robotic device to adjust the pose with respect to the ground surface based on the determined distance and the determined ground plane estimation.

2. The method of claim 1 , wherein the one or more locations of one or more corresponding contact points between the robotic device and a ground surface are determined based on one or more sensors positioned on the one or more legs of the robotic device, and causing the robotic device to adjust the pose comprises causing the one or more legs of the robotic device to move such that a center of mass of the robotic device is located within a polygon defined by the one or more legs of the robotic device.

3. The method of claim 1 , wherein the one or more locations of one or more corresponding contact points between the robotic device and a ground surface are determined based on one or more sensors positioned on one or more feet of the robotic device, and causing the robotic device to adjust the pose comprises causing the one or more feet of the robotic device to swing substantially parallel to the determined ground plane estimation to provide a consistent ground clearance.

4. The method of claim 1 , wherein causing the robotic device to adjust the pose comprises causing one or more features of the body of the robotic device to orient substantially parallel to the determined ground plane estimation, or at some orientation relative to the determined ground plane estimation.

5. The method of claim 1 , further comprising determining, by the computing device, one or more virtual contact points in the vicinity of the robotic device, wherein the one or more virtual contact points represent an estimation of a future, current, or past contact point based on a current position and a current velocity of the robotic device, and wherein the determined ground plane estimation of the ground surface is further based on the determined one or more virtual contact points.

6. The method of claim 1 , wherein the one or more locations of one or more corresponding contact points between the robotic device and a ground surface comprises two contact points, and wherein determining the ground plane estimation of the ground surface comprises:

determining a normal vector of a previously determined ground plane estimation; and

projecting the normal vector of the previously determined ground plane estimation to be perpendicular to a line connecting the two contact points, such that the projected normal vector is perpendicular to the determined ground plane estimation.

7. The method of claim 1 , wherein the one or more locations of one or more corresponding contact points between the robotic device and a ground surface comprises three contact points, and wherein determining the ground plane estimation of the ground surface comprises determining a plane including the three contact points.

8. The method of claim 1 , wherein the one or more locations of one or more corresponding contact points between the robotic device and a ground surface comprises four or more contact points, and wherein determining the ground plane estimation of the ground surface comprises determining a ground plane that minimizes a square distance between the four or more contact points and the determined ground plane estimation.

9. The method of claim 1 , wherein determining the distance between the body of the robotic device and the determined ground plane estimation comprises:

determining a first distance between the body of the robotic device and a first point on the determined ground plane estimation;

determining a second distance between the body of the robotic device and a second point on the determined ground plane estimation; and

averaging the first distance and the second distance.

10. The method of claim 1 , further comprising:

determining an orientation difference between the body of the robotic device and the determined ground plane estimation; and

causing, by the computing device, the robotic device to adjust the pose based on the determined distance, the determined orientation difference, and the determined ground plane estimation.

11. A robotic device comprising:

a body;

two or more legs extending from the body;

data processing hardware in communication with the two or more legs; and memory hardware in communication with the data processing hardware, the memory hardware storing instructions that when executed on the data processing hardware cause the data processing hardware to perform operations comprising:

receiving a pose of the robotic device with respect to a gravity aligned reference frame;

receiving one or more locations of one or more corresponding contact points between the robotic device and a ground surface, the contact points derived from sensor information generated by a sensor associated with a respective leg of the two or more legs of the robotic device;

determining a ground plane estimation of the ground surface based on the pose of the robotic device with respect to the gravity aligned reference frame and the one or more locations of one or more corresponding contact points between the robotic device and the ground surface, wherein the ground plane estimation includes a ground surface contour approximation;

determining a distance between the body of the robotic device and the determined ground plane estimation; and

causing adjustment of the pose of the robotic device with respect to the ground surface based on the determined distance and the determined ground plane estimation.

12. The robotic device of claim 11 , wherein the one or more locations of one or more corresponding contact points between the robotic device and a ground surface are determined based on one or more sensors positioned on the two or more legs of the robotic device, and causing the robotic device to adjust the pose comprises causing the two or more legs of the robotic device to move such that a center of mass of the robotic device is located within a polygon defined by the one or more legs of the robotic device.

13. The robotic device of claim 11 , wherein the one or more locations of one or more corresponding contact points between the robotic device and a ground surface are determined based on one or more sensors positioned on one or more feet of the robotic device, and causing the robotic device to adjust the pose comprises causing the one or more feet of the robotic device to swing substantially parallel to the determined ground plane estimation to provide a consistent ground clearance.

14. The robotic device of claim 11 , wherein causing the robotic device to adjust the pose comprises causing one or more features of the body of the robotic device to orient substantially parallel to the determined ground plane estimation, or at some orientation relative to the determined ground plane estimation.

15. The robotic device of claim 11 , wherein the operations further comprise determining one or more virtual contact points in the vicinity of the robotic device, wherein the one or more virtual contact points represent an estimation of a future, current, or past contact point based on a current position and a current velocity of the robotic device, and wherein the determined ground plane estimation of the ground surface is further based on the determined one or more virtual contact points.

16. The robotic device of claim 11 , wherein the one or more locations of one or more corresponding contact points between the robotic device and a ground surface comprises two contact points, and wherein determining the ground plane estimation of the ground surface comprises:

determining a normal vector of a previously determined ground plane estimation; and

projecting the normal vector of the previously determined ground plane estimation to be perpendicular to a line connecting the two contact points, such that the projected normal vector is perpendicular to the determined ground plane estimation.

17. The robotic device of claim 11 , wherein the one or more locations of one or more corresponding contact points between the robotic device and a ground surface comprises three contact points, and wherein determining the ground plane estimation of the ground surface comprises determining a plane including the three contact points.

18. The robotic device of claim 11 , wherein the one or more locations of one or more corresponding contact points between the robotic device and a ground surface comprises four or more contact points, and wherein determining the ground plane estimation of the ground surface comprises determining a ground plane that minimizes a square distance between the four or more contact points and the determined ground plane estimation.

19. The robotic device of claim 11 , wherein determining the distance between the body of the robotic device and the determined ground plane estimation comprises:

determining a first distance between the body of the robotic device and a first point on the determined ground plane estimation;

determining a second distance between the body of the robotic device and a second point on the determined ground plane estimation; and

averaging the first distance and the second distance.

20. The robotic device of claim 11 , wherein the operations further comprise:

determining an orientation difference between the body of the robotic device and the determined ground plane estimation; and

causing adjustment of the pose of the robotic device based on the determined distance, the determined orientation difference, and the determined ground plane estimation.

Assignments (5)
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PART STATE/COUNTRY PREVIOUSLY RECORDED AT REEL: 50668 FRAME: 187. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 17, 2019
From: GOOGLE INC.
To: BOSTON DYNAMICS, INC.
Reel/Frame 050753/0163 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2019
From: BLANKESPOOR, KEVIN; NELSON, GABRIEL; NEVILLE, NEIL
To: GOOGLE INC.
Reel/Frame 050668/0121 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2019
From: GOOGLE INC.
To: BOSTON DYNAMICS, INC.
Reel/Frame 050668/0187 →
Continuity (2)
Continuation 14988913 · Jan 6, 2016
Continuation 14339860 · Jul 24, 2014