IP Library › Granted Patent US 11,853,077
Granted Patent B1
US 11,853,077 · App. 16/929,459 · Granted Dec 26, 2023

System for determining constraint regions for an autonomous mobile device

Inventor: Dylan Fairchild Glas (San Francisco, CA)
Assignee: AMAZON TECHNOLOGIES, INC.
G05D1/0274G05D1/0088G05D1/0223G05D1/0238G06T5/002
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,853,077
App. No.
16/929,459
Granted
Dec 26, 2023
Kind
B1
Abstract

A system uses an obstacle map to determine an avoidance map that indicates one or more constraint regions that are present in a physical space. The obstacle map is processed using a smoothing function and the smoothed map processed with a medial axis transform function to generate a MAT skeleton. The skeleton is pruned to remove spurs and then segmented based on MAT values that are representative of distances in the physical space between the skeleton and an obstacle. The avoidance map is determined by associating constraint regions with the segments. Constraint regions may indicate areas in the physical space that are open for the autonomous mobile device (AMD) to stop, narrow areas for which stopping should be avoided, and closed areas within which the AMD is not to stop during ordinary operation.

Claims (106)

1. A method comprising:

determining first data indicative of obstacles within a physical space;

determining second data by applying a smoothing algorithm to the first data;

determining, based on the second data, third data representing a skeleton associated with the physical space;

determining fourth data that associates a region type with a portion of the skeleton;

determining fifth data by pruning at least a first portion of the skeleton represented by the fourth data;

determining sixth data indicative of one or more regions, wherein the one or more regions are based on the region type associated with a second portion of the skeleton;

determining, based on the sixth data, a first location in a first region; and

moving an autonomous mobile device (AMD) to the first location.

2. The method of claim 1 , the smoothing algorithm comprising:

performing a morphological closing operation on the first data to generate seventh data; and

applying a Gaussian blur function to the seventh data to generate the second data.

3. The method of claim 1 , wherein the determining the third data comprises:

determining, using the second data and a medial axis transform algorithm, a plurality of points, each point of the plurality of points being associated with a location in the physical space and having a medial axis transform (MAT) value that is representative of a distance from the location to an obstacle in the physical space.

4. The method of claim 1 , the third data comprising a plurality of points, wherein each point:

is associated with a location in the physical space; and

is associated with a value that is based at least in part on a distance between the location and an obstacle; and

the determining the fourth data comprising, for at least one of the plurality of points:

associating a point with a first region type if the value of the point is greater than or equal to a first threshold value; and

associating the point with a second region type if the value of the point is less than a second threshold value.

5. The method of claim 4 , wherein the first threshold value and the second threshold value are based at least in part on:

a first width associated with the AMD, and

a second width associated with a user.

6. The method of claim 1 , the skeleton comprising a plurality of points, wherein each point:

is associated with a location in the physical space; and

is associated with a value that is based at least in part on a distance between the location and an obstacle; and

the pruning comprising:

determining a first point of the plurality of points that is at a distal end of the skeleton, wherein the first point is associated with a first medial axis transform (MAT) value;

determining a second point of the plurality of points that is adjacent to the first point and proximate to a center of the skeleton, wherein the second point is associated with a second MAT value; and

based on the first MAT value being less than the second MAT value, omitting the first point from the fifth data.

7. The method of claim 1 , the skeleton comprising a plurality of points, wherein each point:

is associated with a location in the physical space; and

is associated with a value that is based at least in part on a distance between the location and an obstacle; and

the determining the sixth data further comprising:

determining a point of the plurality of points;

determining, for the point, a region type;

determining a radius associated with the region type; and

determining a corresponding region, the corresponding region being a circle having the radius and wherein a center of the circle is the location in the physical space associated with the point.

8. The method of claim 1 , wherein the sixth data comprises:

the first region that is indicative of a first area within the physical space that the AMD is permitted to stop within; and

a second region that is indicative of a second area within the physical space that the AMD is precluded from stopping within.

9. An autonomous mobile device (AMD) comprising:

one or more memories storing first computer-executable instructions; and

one or more processors to execute the first computer-executable instructions to:

determine first data indicative of obstacles within a physical space;

determine second data by applying a smoothing algorithm to the first data;

determine, based on the second data, third data representing a skeleton associated with the physical space;

determine fourth data that associates a region type with a portion of the skeleton;

determine fifth data by pruning at least a first portion of the skeleton represented by the fourth data;

determine sixth data indicative of one or more regions, wherein the one or more regions are based on the region type associated with a second portion of the skeleton;

determine, based on the sixth data, a location in a region; and

move the AMD to the location.

10. The AMD of claim 9 , the one or more processors to further execute the first computer-executable instructions to:

calculate, using a medial axis transform algorithm and the second data, a first medial axis transform (MAT) value associated with a first location in the physical space;

determine, based on the first MAT value, a first region that is associated with the first location;

determine, based on a comparison of the first MAT value and at least a first threshold value, a first region type associated with the first location; and

determine a first distance associated with the first region type;

wherein at least one dimension of the first region is based at least in part on the first distance.

11. The AMD of claim 10 , wherein the first threshold value comprises a sum of:

a first width associated with the AMD, and

a second width associated with a user.

12. The AMD of claim 10 , the one or more processors to further execute the first computer-executable instructions to:

calculate, using the medial axis transform algorithm and the second data, a second MAT value associated with a second location in the physical space, wherein the second location is distal to the first location along the skeleton representing the physical space that is generated by the medial axis transform algorithm;

determine the second MAT value is less than the first MAT value; and

remove the second location from the skeleton.

13. The AMD of claim 9 , further comprising:

one or more output devices; and

the one or more processors to further execute the first computer-executable instructions to:

determine a current location of the AMD is within a first region; and

present, using the one or more output devices, output responsive to the AMD being within the first region.

14. The AMD of claim 9 , the skeleton comprising a plurality of points, wherein each point:

is associated with a corresponding location in the physical space; and

is associated with a value that is based at least in part on a distance between the corresponding location and an obstacle; and

the pruning comprising:

determine a first point of the plurality of points that is at a distal end of the skeleton, wherein the first point is associated with a first medial axis transform (MAT) value;

determine a second point of the plurality of points that is adjacent to the first point and proximate to a center of the skeleton, wherein the second point is associated with a second MAT value; and

based on the first MAT value being less than the second MAT value, omit the first point from the fifth data.

15. The AMD of claim 9 , the one or more processors to further execute the first computer-executable instructions to:

perform a morphological closing operation on the first data to generate seventh data; and

apply a Gaussian blur function to the seventh data to generate the sixth data.

16. The AMD of claim 9 , wherein the determination of the third data comprises:

determine, using the second data and a medial axis transform algorithm, a plurality of points, each point of the plurality of points being associated with a corresponding location in the physical space and having a medial axis transform (MAT) value that is representative of a distance from the corresponding location to an obstacle in the physical space.

17. The AMD of claim 9 , the skeleton comprising a plurality of points, wherein each point:

is associated with a corresponding location in the physical space; and

is associated with a value that is based at least in part on a distance between the corresponding location and an obstacle; and

the determination of the sixth data further comprising:

determine a point of the plurality of points;

determine, for the point, a region type;

determine a radius associated with the region type; and

determine a first region, the first region being a circle having the radius and wherein a center of the circle is the location in the physical space associated with the point.

18. The AMD of claim 9 , wherein the sixth data comprises:

a first region that is indicative of a first area within the physical space that the AMD is permitted to stop within; and

a second region that is indicative of a second area within the physical space that the AMD is precluded from stopping within.

19. The AMD of claim 9 , the one or more processors to further execute the first computer-executable instructions to:

determine a particular location in the physical space;

determine a route from a current location of the AMD to the particular location, wherein the route comprises the first portion and the second portion;

determine the first portion is within a first region;

determine the second portion is within a second region;

move the AMD at a first speed along the first portion; and

move the AMD at a second speed along the second portion, wherein the second speed is less than the first speed.

20. The AMD of claim 9 , the third data comprising a plurality of points, wherein each point:

is associated with a corresponding location in the physical space; and

is associated with a value that is based at least in part on a distance between the corresponding location and an obstacle; and

the determination of the fourth data comprising, for at least one of the plurality of points:

associate a point with a first region type if the value of the point is greater than or equal to a first threshold value; and

associate the point with a second region type if the value of the point is less than a second threshold value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2020
From: GLAS, DYLAN FAIRCHILD
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 053217/0060 →
Cited By (3)
US 12,450,917 US 12,524,921 US 12,717,023