IP Library Granted Patent US 12,730,449
Granted Patent B2
US 12,730,449 · App. 17/976,469 · Granted Sep 8, 2026

De-centralized traffic-aware navigational planning for mobile robots

Inventors: Melonee Wise (San Jose, CA); Aaron Hoy (San Jose, CA); Derek King (Seattle, WA); Micaela Angeli (Lincolnshire, IL); Chinmay Shah (San Jose, CA)
Assignee: Skild-Fetch LLC
G05D1/0274G05D1/0214G05D1/0217G05D1/0238
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 12,730,449
App. No.
17/976,469
Granted
Sep 8, 2026
Kind
B2
Abstract

A method includes: storing an occupancy map for a facility, the occupancy map defining: for each of a plurality of regions in the facility, a current occupancy for a present time value, and for each of at least a subset of the regions, a future occupancy for a subsequent time value; generating a path from a current pose of a mobile robot in the facility to a target pose, based on the current and future occupancies; in response to execution of the path at the mobile robot, capturing sensor data representing a vicinity of the mobile robot; detecting an obstacle from the sensor data; and transmitting occupancy data for generating an updated occupancy map including an updated future occupancy for at least one of the subset of regions, the occupancy data including obstacle data indicating a location of the obstacle, and path data defining the path.

Claims (104)

1 . A method, comprising:

storing an occupancy map for a facility, the occupancy map defining:

(i) for each of a plurality of regions in the facility, a current occupancy corresponding to a present time value, and

(ii) for each of at least a subset of the regions, a future occupancy corresponding to a time value subsequent to the present time value;

generating a path for a mobile robot from a current pose of the mobile robot in the facility to a target pose of the mobile robot, based on the current occupancies and the future occupancies;

causing the mobile robot to execute the path and capture sensor data representing a vicinity of the mobile robot during execution of the path;

detecting one or more obstacles from the sensor data;

in response to determining that the path is blocked, selecting an obstacle having a previously detected location outside a current field of view of a sensor of the mobile robot;

generating an observational path to bring the previously detected location of the selected obstacle into the current field of view of the sensor; and

transmitting occupancy data for generating an updated occupancy map including an updated future occupancy for at least one of the subset of the regions, the occupancy data including (i) obstacle data indicating a location of the obstacle, and (ii) path data defining the path;

wherein the future occupancy indicates a future presence of another mobile robot at the corresponding region.

2 . The method of claim 1 , wherein the occupancy map defines a plurality of nodes each corresponding to one of the regions, and a plurality of edges extending between respective nodes; and

wherein the current occupancy and the future occupancy for a given region includes a cost associated with a node corresponding to the given region.

3 . The method of claim 1 , wherein the occupancy map defines a grid of cells each corresponding to one of the regions; and

wherein the current occupancy and the future occupancy for a given region includes a cost associated with a cell corresponding to the given region.

4 . The method of claim 1 , further comprising:

determining a first region corresponding to the obstacle data;

updating a current occupancy of the determined first region;

determining a second region corresponding to the path data; and

updating a future occupancy of the determined second region.

5 . The method of claim 4 , further comprising:

transmitting an updated occupancy map, including the updated current occupancy and the updated future occupancy, to each of a plurality of mobile robots.

6 . The method of claim 1 , wherein the current occupancy includes a cost value; and

wherein the future occupancy includes a cost value and a future time value.

7 . The method of claim 6 , wherein the occupancy map includes, for at least one region, a plurality of future occupancies and corresponding sequential future time values.

8 . The method of claim 1 , further comprising:

storing detected locations of the one or more obstacles;

during execution of the observational path, capturing further sensor data and determining from the further sensor data whether the previously detected location remains obstructed; and

modifying execution of the path based on whether the previously detected location remains obstructed.

9 . The method of claim 8 , wherein modifying the path includes:

responsive to determining that the previously detected location is not obstructed, generating an updated path travelling through the previously detected location.

10 . The method of claim 8 , wherein generating the observational path includes:

selecting a direction of rotation for the mobile robot that minimizes an angle of rotation and places the previously detected location of the selected obstacle in the current field of view of the sensor.

11 . A mobile robot, comprising:

a memory storing an occupancy map for a facility, the occupancy map defining:

(i) for each of a plurality of regions in the facility, a current occupancy corresponding to a present time value, and

(ii) for each of at least a subset of the regions, a future occupancy corresponding to a time value subsequent to the present time value;

a locomotive assembly;

a sensor; and

a processor configured to:

generate a path for the mobile robot from a current pose of the mobile robot in the facility to a target pose, based on the current occupancies and the future occupancies;

cause the locomotive assembly to execute the path and cause the sensor to capture sensor data along the path representing a vicinity of the mobile robot;

detect one or more obstacles from the sensor data;

in response to determining that the path is blocked, select an obstacle having a previously detected location outside a current field of view of the sensor;

generate an observational path to bring the previously detected location of the selected obstacle into the field of view of the sensor; and

transmit occupancy data for generating an updated occupancy map including an updated future occupancy for at least one of the subset of the regions, the occupancy data including (i) obstacle data indicating a location of the obstacle, and (ii) path data defining the path;

wherein the future occupancy indicates a future presence of another mobile robot at the corresponding region.

12 . The mobile robot of claim 11 , wherein the occupancy map defines a plurality of nodes each corresponding to one of the regions, and a plurality of edges extending between respective nodes; and

wherein the current occupancy and the future occupancy for a given region includes a cost associated with a node corresponding to the given region.

13 . The mobile robot of claim 11 , wherein the occupancy map defines a grid of cells each corresponding to one of the regions; and

wherein the current occupancy and the future occupancy for a given region includes a cost associated with a cell corresponding to the given region.

14 . The mobile robot of claim 11 , wherein the processor is further configured to:

store detected locations of the one or more obstacles;

during execution of the observational path, capture further sensor data and determine from the further sensor data whether the previously detected location remains obstructed; and

modify execution of the path based on whether the previously detected location remains obstructed.

15 . A method, comprising:

generating a path for a mobile robot from a current pose of the mobile robot in a facility to a target location, based on an occupancy map for the facility, the occupancy map defining a current occupancy for each of a plurality of regions in the facility;

causing the mobile robot to execute the path;

during execution of the path, detecting obstacles from sensor data captured via a sensor of the mobile robot, and storing detected locations of the obstacles;

in response to determining that the path is blocked, selecting a detected obstacle with a previously detected location outside a current field of view of the sensor;

generating an observational path for the mobile robot that brings the previously detected location of the selected obstacle into the current field of view of the sensor;

during execution of the observational path, capturing further sensor data by the sensor and determining from the further sensor data whether the previously detected location remains obstructed; and

modifying execution of the path based on whether the previously detected location remains obstructed;

wherein the occupancy map further defines, for each of a subset of the regions, a future occupancy indicating a future presence of another mobile robot at the corresponding region.

16 . The method of claim 15 , wherein modifying the path includes: responsive to determining that the previously detected location is not obstructed, generating an updated path travelling through the previously detected location.

17 . The method of claim 15 , wherein generating the observational path includes: selecting a direction of rotation for the mobile robot that minimizes a length of a rotational arc and places the previously determined location of the selected obstacle in the current field of view of the sensor.

18 . The method of claim 15 , wherein selecting the detected obstacle includes:

selecting a subset of the detected obstacles with previously detected locations outside the current field of view of the sensor;

generating a score for each of the subset of obstacles; and

selecting the detected obstacle based on the scores.

19 . The method of claim 18 , wherein generating the score includes at least one of:

determining a size of each detected obstacle in the subset; and

determining a distance from the previously detected location of each obstacle to the mobile robot.

20 . The method of claim 15 , wherein the occupancy map defines a plurality of nodes each corresponding to one of the regions, and a plurality of edges extending between respective nodes; and

wherein the current occupancy and the future occupancy for a given region includes a cost associated with a node corresponding to the given region.

21 . The method of claim 15 , wherein the occupancy map defines a grid of cells each corresponding to one of the regions; and

wherein the current occupancy and the future occupancy for a given region includes a cost associated with a cell corresponding to the given region.

22 . The method of claim 15 , wherein the occupancy map includes, for at least one region, a plurality of future occupancies and corresponding sequential future time values.

23 . A mobile robot, comprising:

a locomotive assembly;

a sensor; and

a processor configured to:

generate a path from a current pose of a mobile robot in a facility to a target location, based on an occupancy map for the facility, the occupancy map defining a current occupancy for each of a plurality of regions in the facility;

control the locomotive assembly to execute the path;

during execution of the path, detect obstacles from sensor data captured via the sensor, and store detected locations of the obstacles;

in response to determining that the path is blocked, select a detected obstacle with a previously detected location outside a current field of view of the sensor;

generate an observational path to bring the previously detected location of the selected obstacle into the current field of view of the sensor;

during execution of the observational path, capture further sensor data and determine from the further sensor data whether the previously detected location remains obstructed; and

modify execution of the path based on whether the previously detected location remains obstructed;

wherein the occupancy map further defines, for each of a subset of the regions, a future occupancy indicating a future presence of another mobile robot at the corresponding region.

24 . The mobile robot of claim 23 , wherein the processor is configured to modify the path by: responsive to determining that the previously detected location is not obstructed, generating an updated path travelling through the previously detected location.

25 . The mobile robot of claim 23 , wherein the processor is configured to generate the observational path by: selecting a direction of rotation for the mobile robot that minimizes a length of a rotational arc and places the previously detected location of the selected obstacle in the current field of view of the sensor.

26 . The mobile robot of claim 23 , wherein the processor is configured to select the detected obstacle by:

selecting a subset of the detected obstacles with previously detected locations outside the current field of view of the sensor;

generating a score for each of the subset of obstacles; and

selecting the detected obstacle based on the scores.

27 . The mobile robot of claim 26 , wherein the processor is configured to generate the score by at least one of:

determining a size of each detected obstacle in the subset; and

determining a distance from the previously detected location of each obstacle to the mobile robot.

28 . The mobile robot of claim 23 , wherein the occupancy map defines a plurality of nodes each corresponding to one of the regions, and a plurality of edges extending between respective nodes; and

wherein the current occupancy and the future occupancy for a given region includes a cost associated with a node corresponding to the given region.

29 . The mobile robot of claim 23 , wherein the occupancy map defines a grid of cells each corresponding to one of the regions; and

wherein the current occupancy and the future occupancy for a given region includes a cost associated with a cell corresponding to the given region.

30 . The mobile robot of claim 23 , wherein the occupancy map includes, for at least one region, a plurality of future occupancies and corresponding sequential future time values.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2026
From: ZEBRA TECHNOLOGIES CORPORATION
To: SKILD-FETCH LLC
Reel/Frame 075403/0946 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2023
From: WISE, MELONEE; HOY, AARON; KING, DEREK; ANGELI, MICAELA; SHAH, CHINMAY
To: ZEBRA TECHNOLOGIES CORPORATION
Reel/Frame 063953/0332 →
Continuity (1)
Related Publication 20240142985A1 · May 2, 2024
References Cited (15)
US 8364309B1 · Bailey · 2013 [cited by examiner]
US 11016491B1 · Millard · 2021 [cited by examiner]
US 20070150093A1 · Nagatsuka et al. · 2007 [cited by applicant]
US 20110231016A1 · Goulding · 2011 [cited by examiner]
US 20170157769A1 · Aghamohammadi et al. · 2017 [cited by applicant]
US 20190286145A1 · LaFary · 2019 [cited by examiner]
US 20200089252A1 · Kim et al. · 2020 [cited by applicant]
US 20200409376A1 · Ebrahami et al. · 2020 [cited by applicant]
US 20210004012A1 · Marchetti-Bowick · 2021 [cited by examiner]
US 20210089040A1 · Ebrahimi Afrouzi · 2021 [cited by examiner]
US 20230147624A1 · Gaud · 2023 [cited by examiner]
Merriam-Webster, “locomotive.” 2009. (Year: 2009). [cited by examiner]
MIT Urban Operations Research, 6.1 “Definition of Terms and Notation,” 2010. (Year: 2010). [cited by examiner]
Carnegie Mellon University, “Robot Pose—Representation and Transformation,” 2020. (Year: 2020). [cited by examiner]
International Search Report and Written Opinion for International Patent Application No. PCT/US2023/035683 mailed on Feb. 15, 2024. [cited by applicant]