IP Library Granted Patent US 11,685,049
Granted Patent B2
US 11,685,049 · App. 16/893,608 · Granted Jun 27, 2023

Robot localization using variance sampling

Inventor: Matthew Jacob Klingensmith (Somerville, MA)
Assignee: Boston Dynamics, Inc.
B25J9/1664B25J13/006
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 11,685,049
App. No.
16/893,608
Granted
Jun 27, 2023
Kind
B2
Abstract

A method of localizing a robot includes receiving odometry information plotting locations of the robot and sensor data of the environment about the robot. The method also includes obtaining a series of odometry information members, each including a respective odometry measurement at a respective time. The method also includes obtaining a series of sensor data members, each including a respective sensor measurement at the respective time. The method also includes, for each sensor data member of the series of sensor data members, (i) determining a localization of the robot at the respective time based on the respective sensor data, and (ii) determining an offset of the localization relative to the odometry measurement at the respective time. The method also includes determining whether a variance of the offsets determined for the localizations exceeds a threshold variance. When the variance among the offsets exceeds the threshold variance, a signal is generated.

Claims (84)

1. A method comprising:

while a robot traverses an environment:

receiving, at data processing hardware, odometry information plotting a location of the robot over time; and

receiving, at the data processing hardware, from at least one sensor of the robot in communication with the data processing hardware, sensor data of the environment about the robot;

obtaining, by the data processing hardware, an odometry information sample including a series of odometry information members collected by the robot while traversing the environment, each odometry information member of the series of odometry information members comprising a respective odometry measurement at a respective time;

obtaining, by the data processing hardware, a sensor data sample including a series of sensor data members collected by the robot while traversing the environment, each sensor data member of the series of sensor data members comprising a respective sensor measurement at the respective time;

for each sensor data member of the series of sensor data members:

determining, by the data processing hardware, a localization of the robot at the respective time based on the respective sensor data; and

determining, by the data processing hardware, an offset of the localization of the robot relative to the odometry measurement at the respective time;

determining, by the data processing hardware, whether a variance of the offsets determined for the localizations exceeds a threshold variance; and

when the variance among the offsets exceeds the threshold variance, generating, by the data processing hardware, a signal indicating that the sensor data is unreliable; and

adjusting, by the data processing hardware, relative weights of the odometry information and the sensor data based on whether the offsets determined for the localizations exceed the threshold variance.

2. The method of claim 1 , further comprising determining by the data processing hardware, a current location of the robot using the adjusted relative weights of the odometry information and the sensor data.

3. The method of claim 1 , further comprising, when the variance of the offsets exceeds the threshold variance, reducing, by the data processing hardware, a weight of the sensor data relative.

4. The method of claim 1 , further comprising, when the variance of the offsets does not exceed the threshold variance, increasing, by the data processing hardware, weight assigned to the sensor data.

5. The method of claim 1 , wherein the series of sensor data members includes a reference sensor data member and a plurality of comparison sensor data members.

6. The method of claim 5 , wherein determining the localization includes performing a pairwise analysis on one of the comparison sensor data members associated with the respective time with the reference sensor data member.

7. A method comprising:

while a robot traverses an environment:

receiving, at data processing hardware, odometry information plotting a location of the robot over time; and

receiving, at the data processing hardware, from at least one sensor of the robot in communication with the data processing hardware, sensor data of the environment about the robot;

obtaining, by the data processing hardware, an odometry information sample including a series of odometry information members collected by the robot while traversing the environment, each odometry information member of the series of odometry information members comprising a respective odometry measurement at a respective time;

obtaining, by the data processing hardware, a sensor data sample including a series of sensor data members collected by the robot while traversing the environment, each sensor data member of the series of sensor data members comprising a respective sensor measurement at the respective time;

for each sensor data member of the series of sensor data members:

determining, by the data processing hardware, a localization of the robot at the respective time based on the respective sensor data; and

determining, by the data processing hardware, an offset of the localization of the robot relative to the odometry measurement at the respective time;

determining, by the data processing hardware, whether a variance of the offsets determined for the localizations exceeds a threshold variance; and

when the variance among the offsets exceeds the threshold variance, generating, by the data processing hardware, a signal indicating that the sensor data is unreliable, wherein the variance of the offsets is a sample variance.

8. The method of claim 7 , wherein the series of sensor data members includes a reference sensor data member and a plurality of comparison sensor data members.

9. A system comprising:

data processing hardware; 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:

while a robot traverses an environment:

receiving odometry information plotting a location of the robot over time; and

receiving from at least one sensor of the robot in communication with the data processing hardware, sensor data of the environment about the robot;

obtaining an odometry information sample including a series of odometry information members collected by the robot while traversing the environment, each odometry information member of the series of odometry information members comprising a respective odometry measurement at a respective time;

obtaining a sensor data sample including a series of sensor data members collected by the robot while traversing the environment, each sensor data member of the series of sensor data members comprising a respective sensor measurement at the respective time;

for each sensor data member of the series of sensor data members:

determining a localization of the robot at the respective time based on the respective sensor data; and

determining an offset of the localization of the robot relative to the odometry measurement at the respective time;

determining whether a variance of the offsets determined for the localizations exceeds a threshold variance; and

when the variance among the offsets exceeds the threshold variance, generating, by the data processing hardware, a signal indicating that the sensor data is unreliable, wherein the variance of the offsets is a sample variance.

10. The system of claim 9 , wherein the operations further comprise adjusting, by the data processing hardware, relative weights of the odometry information and the sensor data based on whether the offsets determined for the localizations exceed the threshold variance.

11. The system of claim 10 , wherein the operations further comprise determining a current location of the robot using the adjusted relative weights of the odometry information and the sensor data.

12. The system of claim 9 , wherein the operations further comprise, when the variance of the offsets exceeds the threshold variance, reducing a weight of the sensor data relative.

13. The system of claim 9 , wherein the operations further comprise, when the variance of the offsets does not exceed the threshold variance, increasing weight assigned to the sensor data.

14. The system of claim 9 , wherein the series of sensor data members includes a reference sensor data member and a plurality of comparison sensor data members.

15. The system of claim 14 , wherein determining the localization includes performing a pairwise analysis on one of the comparison sensor data members associated with the respective time with the reference sensor data member.

16. A robot comprising:

a body;

data processing hardware; 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:

while a robot traverses an environment:

receiving odometry information plotting a location of the robot over time; and

receiving from at least one sensor of the robot in communication with the data processing hardware, sensor data of the environment about the robot;

obtaining an odometry information sample including a series of odometry information members collected by the robot while traversing the environment, each odometry information member of the series of odometry information members comprising a respective odometry measurement at a respective time;

obtaining a sensor data sample including a series of sensor data members collected by the robot while traversing the environment, each sensor data member of the series of sensor data members comprising a respective sensor measurement at the respective time;

for each sensor data member of the series of sensor data members:

determining a localization of the robot at the respective time based on the respective sensor data; and

determining an offset of the localization of the robot relative to the odometry measurement at the respective time;

determining whether a variance of the offsets determined for the localizations exceeds a threshold variance;

when the variance among the offsets exceeds the threshold variance, generating, by the data processing hardware, a signal indicating that the sensor data is unreliable; and

adjusting, by the data processing hardware, relative weights of the odometry information and the sensor data based on whether the offsets determined for the localizations exceed the threshold variance.

17. The robot of claim 16 , wherein the operations further comprise determining a current location of the robot using the adjusted relative weights of the odometry information and the sensor data.

18. The robot of claim 16 , wherein the operations further comprise, when the variance of the offsets exceeds the threshold variance, reducing a weight of the sensor data relative.

19. The robot of claim 16 , wherein the operations further comprise, when the variance of the offsets does not exceed the threshold variance, increasing weight assigned to the sensor data.

20. The robot of claim 16 , wherein the variance of the offsets is a sample variance.

21. A robot comprising:

a body;

data processing hardware; 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:

while a robot traverses an environment:

receiving odometry information plotting a location of the robot over time; and

receiving from at least one sensor of the robot in communication with the data processing hardware, sensor data of the environment about the robot;

obtaining an odometry information sample including a series of odometry information members collected by the robot while traversing the environment, each odometry information member of the series of odometry information members comprising a respective odometry measurement at a respective time;

obtaining a sensor data sample including a series of sensor data members collected by the robot while traversing the environment, each sensor data member of the series of sensor data members comprising a respective sensor measurement at the respective time;

for each sensor data member of the series of sensor data members:

determining a localization of the robot at the respective time based on the respective sensor data; and

determining an offset of the localization of the robot relative to the odometry measurement at the respective time;

determining whether a variance of the offsets determined for the localizations exceeds a threshold variance; and

when the variance among the offsets exceeds the threshold variance, generating, by the data processing hardware, a signal indicating that the sensor data is unreliable, wherein the series of sensor data members includes a reference sensor data member and a plurality of comparison sensor data members.

22. The robot of claim 21 , wherein determining the localization includes performing a pairwise analysis on one of the comparison sensor data members associated with the respective time with the reference sensor data member.

23. The robot of claim 21 , wherein the operations further comprise, when the variance of the offsets does not exceed the threshold variance, increasing weight assigned to the sensor data.

24. The robot of claim 21 , wherein the variance of the offsets is a sample variance.

Assignments (3)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2020
From: KLINGENSMITH, MATTHEW JACOB
To: BOSTON DYNAMICS, INC.
Reel/Frame 053022/0133 →
Continuity (2)
Provisional Application 63013634 · Apr 22, 2020
Related Publication 20210331313A1 · Oct 28, 2021
Cited By (2)
US 12,263,597 US 12,673,417