IP Library › Granted Patent US 12,474,170
Granted Patent B2
US 12,474,170 · App. 18/088,470 · Granted Nov 18, 2025

Topometric map based autonomous navigation for inventory drone

Inventors: Soon Hac Hong (San Jose, CA); Yishun Cheng (Cupertino, CA); Young Joon Kim (San Jose, CA)
Assignee: Brookhurst Garage, Inc.
G01C21/206G01C21/3804G06Q10/087
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,474,170
App. No.
18/088,470
Granted
Nov 18, 2025
Kind
B2
Abstract

A topometric map that enables autonomous navigation of an inventory robot. The topometric map is generated using the layout of a storage site and is made up of vertices and edges. The vertices are generated at pallet locations and other structural locations, and edges are generated between neighboring vertices. Vertices and edges have associated metrics that aid in the routing of the robot. The metrics of the vertices and edges may be updated as the robot navigates through the storage site by using a perception engine and state estimator. The metrics of the edges can be used to calculate an energy cost. The robot determines a shortest path between a source and destination vertex based on the energy cost associated with each edge.

Claims (84)

1 . A method for autonomously navigating an inventory robot in a storage site, the method comprising:

generating a topometric map which contains layout information of the storage site, the topometric map comprising vertices representing locations of the storage site and edges that connect the vertices, wherein the topometric map is a three-dimensional map, a subset of the vertices represent pallet locations in the storage site, each vertex in the subset is associated with location coordinates as metrices of the vertex, and an edge is associated with one or more metrics that define a cost between two vertices connected by the edge;

updating a value of a metric of the topometric map through the inventory robot moving in the storage site in capturing an updated value of the metric, wherein updating the value of the metric of the topometric map through the inventory robot moving in the storage site in capturing the updated value of the metric comprises:

measuring a relative pose of the inventory robot at a parent vertex and at a child vertex, wherein the parent vertex represents a starting location along a path and the child vertex represents a subsequent location connected to the parent vertex via an edge, and wherein the relative pose is with respect to a reference structure in the storage site,

calculating a cost associated with the edge connecting the parent vertex and the child vertex based on the measured relative pose, wherein the cost comprises one or more of a planar distance, a vertical displacement, or an angular rotation between the vertices, and

updating one or more metrics in the topometric map based on the calculated cost, the updated metrics being associated with the edge connecting the parent vertex and the child vertex;

determining a path to a target pallet location by calculating a total cost of traversing one or more edges in the topometric map along the path; and

directing the inventory robot to navigate in the storage site according to the path.

2 . The method of claim 1 , wherein generating the topometric map further comprises:

generating a layout of storage racks in the storage site, based on a default numbering system of the storage site;

translating the default numbering system into a locally used unified numbering system;

generating vertices for pallet locations and structural locations;

generating edges between neighboring vertices; and

assigning predefined metrics for vertices and edges.

3 . The method of claim 2 , wherein the storage racks comprise rows and columns.

4 . The method of claim 1 , wherein one of the vertices of the topometric map is represented as a combination of location values, which indicate a position of one of the vertices in context of the storage site, and wherein one of the edges of the topometric map is represented as a combination of metric values, which includes a cost for traversing an edge.

5 . The method of claim 4 , wherein one of the edges connecting to a ground station is predefined, and the metric values of a plurality of remaining edges of the topometric map are captured through the inventory robot moving in the storage site.

6 . The method of claim 1 , wherein an instruction for updating the value of a metric of an edge of the topometric map comprises instructions for:

detecting, with a camera, a feature of a structural location associated with a source vertex;

measuring, with the camera, a relative pose of the source vertex with respect to the structural location associated with the source vertex;

moving the inventory robot in a predefined direction until a structural location associated with a destination vertex is detected by the camera;

measuring, with the camera, a relative pose of the destination vertex with respect to the structural location associated with the destination vertex;

calculating, using a state estimator, the relative pose between source and destination vertices; and

updating the metric of the edge with the relative pose between the source and destination vertices.

7 . The method of claim 4 , wherein the cost associated with an edge that connects a parent and child vertex is calculated using translational and rotational differences between the parent and child vertex.

8 . The method of claim 1 , wherein determining the path to the target pallet location further comprises:

generating a list of vertices that make up the path; and

determining a sequence of actions performed by the inventory robot to navigate from source vertex to destination vertex, based in part on vertex metrics and corresponding edge metrics.

9 . An inventory robot, comprising:

a sensor configured to perform measurement of a storage site;

one or more computer processors; and

memory coupled to one or more computer processors, the memory storing one or more sets of instruction, the one or more sets of instructions, when executed by the one or more computer processors, cause the one or more computer processors to:

receive a topometric map which contains layout information of the storage site, the topometric map comprising vertices representing locations of the storage site and edges that connect the vertices, wherein the topometric map is a three-dimensional map, a subset of the vertices represent pallet locations in the storage site, each vertex in the subset is associated with location coordinates as metrices of the vertex, and an edge is associated with one or more metrics that define a cost between two vertices connected by the edge;

provide an updated value of a metric of the topometric map through performing measurement using the sensor capturing an updated value of the metric, wherein updating the value of the metric of the topometric map through the inventory robot moving in the storage site in capturing the updated value of the metric comprises:

measuring a relative pose of the inventory robot at a parent vertex and at a child vertex, wherein the parent vertex represents a starting location along a path and the child vertex represents a subsequent location connected to the parent vertex via an edge, and wherein the relative pose is with respect to a reference structure in the storage site,

calculating a cost associated with the edge connecting the parent vertex and the child vertex based on the measured relative pose, wherein the cost comprises one or more of a planar distance, a vertical displacement, or an angular rotation between the vertices, and

updating one or more metrics in the topometric map based on the calculated cost, the updated metrics being associated with the edge connecting the parent vertex and the child vertex;

determine a path to a target pallet location through calculating a total cost of traversing one or more edges in the topometric map along the path; and

direct the inventory robot to navigate in the storage site according to the path.

10 . The inventory robot of claim 9 , wherein an instruction for generating the topometric map comprises instructions for:

generating a layout of storage racks in the storage site, based on a default numbering system of the storage site;

translating the default numbering system into a locally used unified numbering system;

generating vertices for pallet locations and structural locations;

generating edges between neighboring vertices; and

assigning predefined metrics for vertices and edges.

11 . The inventory robot of claim 10 , wherein the storage racks comprise rows and columns.

12 . The inventory robot of claim 9 , wherein one of the vertices of the topometric map is represented as a combination of location values, which indicate a position of one of the vertices in context of the storage site, and wherein one of the edges of the topometric map is represented as a combination of metric values, which includes a cost for traversing an edge.

13 . The inventory robot of claim 12 , wherein one of the edges connecting to a ground station is predefined, and the metric values of a plurality of remaining edges of the topometric map are captured through the inventory robot moving in the storage site.

14 . The inventory robot of claim 9 , wherein an instruction for updating the value of a metric of an edge of the topometric map comprises instructions for:

detecting, with a camera, a feature of a structural location associated with a source vertex;

measuring, with the camera, a relative pose of the source vertex with respect to the structural location associated with the source vertex;

moving the inventory robot in a predefined direction until a structural location associated with a destination vertex is detected by the camera;

measuring, with the camera, a relative pose of the destination vertex with respect to the structural location associated with the destination vertex;

calculating, using a state estimator, the relative pose between source and destination vertices; and

updating the metric of the edge with the relative pose between the source and destination vertices.

15 . The inventory robot of claim 12 , wherein the cost associated with an edge that connects a parent and child vertex is calculated using translational and rotational differences between the parent and child vertex.

16 . The inventory robot of claim 9 , wherein determining the path to the target pallet location further comprises:

generating a list of vertices that make up the path; and

determining a sequence of actions performed by the inventory robot to navigate from source vertex to destination vertex, based in part on vertex metrics and corresponding edge metrics.

17 . A system comprising:

a computing server configured to generate a topometric map which contains layout information of a storage site, the topometric map comprising vertices representing locations of the storage site and edges that connect the vertices, wherein the topometric map is a three-dimensional map, a subset of the vertices represent pallet locations in the storage site, each vertex in the subset is associated with location coordinates as metrices of the vertex, and an edge is associated with one or more metrics that define a cost between two vertices connected by the edge; and

an inventory robot in communication with the computing server, the inventory robot configured to:

update a value of a metric of an edge of the topometric map through the inventory robot moving in the storage site in capturing an updated value of the metric, wherein updating the value of metric of the topometric map through the inventory robot moving in the storage site in capturing the updated value of the metric comprises:

measuring a relative pose of the inventory robot at a parent vertex and at a child vertex, wherein the parent vertex represents a starting location along a path and the child vertex represents a subsequent location connected to the parent vertex via an edge, and wherein the relative pose is with respect to a reference structure in the storage site,

calculating a cost associated with the edge connecting the parent vertex and the child vertex based on the measured relative pose, wherein the cost comprises one or more of a planar distance, a vertical displacement, or an angular rotation between the vertices, and

updating one or more metrics in the topometric map based on the calculated cost, the updated metrics being associated with the edge connecting the parent vertex and the child vertex;

determine a path to a target pallet location by calculating a total cost of traversing one or more edges in the topometric map along the path; and

navigate in the storage site according to the path.

18 . The system of claim 17 , wherein an instruction for generating the topometric map comprises instructions for:

generating a layout of storage racks in the storage site, based on a default numbering system of the storage site;

translating the default numbering system into a locally used unified numbering system;

generating vertices for pallet locations and structural locations;

generating edges between neighboring vertices; and

assigning predefined metrics for vertices and edges.

19 . The system of claim 17 , wherein an instruction for updating the value of a metric of an edge of the topometric map comprises instructions for:

detecting, with a camera, a feature of a structural location associated with a source vertex;

measuring, with the camera, a relative pose of the source vertex with respect to the structural location associated with the source vertex;

moving the inventory robot in a predefined direction until a structural location associated with a destination vertex is detected by the camera;

measuring, with the camera, a relative pose of the destination vertex with respect to the structural location associated with the destination vertex;

calculating, using a state estimator, the relative pose between source and destination vertices; and

updating the metric of the edge with the relative pose between the source and destination vertices.

20 . The system of claim 17 , wherein an instruction for determining the path to the target pallet location further comprises instructions for:

generating a list of vertices that make up the path; and

determining a sequence of actions performed by the inventory robot to navigate from source vertex to destination vertex, based in part on vertex metrics and corresponding edge metrics.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2023
From: HONG, SOON HAC; CHENG, YISHUN; KIM, YOUNG JOON
To: BROOKHURST GARAGE, INC.
Reel/Frame 064020/0012 →
Continuity (1)
Related Publication 20240210177A1 · Jun 27, 2024
References Cited (24)
US 2178647A · Raymond · 1939 [cited by examiner]
US 9908702B2 · Elazary et al. · 2018 [cited by applicant]
US 10210212B2 · Wang et al. · 2019 [cited by applicant]
US 20080294338A1 · Doh et al. · 2008 [cited by applicant]
US 20130131865A1 · Yamane · 2013 [cited by examiner]
US 20160071278A1 · Leonard · 2016 [cited by examiner]
US 20190171220A1 · Elazary et al. · 2019 [cited by applicant]
US 20200047340A1 · Hong · 2020 [cited by examiner]
US 20200380876A1 · Sachdeva · 2020 [cited by examiner]
US 20220066456A1 · Ebrahimi Afrouzi · 2022 [cited by examiner]
US 20220191542A1 · Ahmadyan · 2022 [cited by examiner]
US 20220351133A1 · Akiona et al. · 2022 [cited by applicant]
US 20220390950A1 · Yamauchi · 2022 [cited by applicant]
US 20220390954A1 · Klingensmith · 2022 [cited by applicant]
CN 106527448A · 2017 [cited by applicant]
CN 112161618A · 2021 [cited by applicant]
CN 115824222A · 2023 [cited by applicant]
CN 116135736A · 2023 [cited by applicant]
WO WO2020076422A2 · 2020 [cited by applicant]
PCT International Search Report and Written Opinion, PCT Application No. PCT/US2023/083102, Apr. 2, 2024, 10 pages. [cited by applicant]
PCT International Search Report and Written Opinion, PCT Application No. PCT/US2024/033136, Sep. 30, 2024, nine pages. [cited by applicant]
Badino, H. et al., “Visual Topometric Localization,” IEEE Intelligent Vehicles Symposium, Jun. 5-9, 2011, pp. 794-799. [cited by applicant]
Martinez-Martin, E. et al., “The UJI Aerial Librarian Robot: A Quadcopter for Visual Library Inventory and Book Localisation,” Sensors, Feb. 4, 2021, vol. 21, Issue 4, pp. 1-16. [cited by applicant]
Stanko, J. et al., “Towards Automatic Inventory Checking Using an Autonomous Unmanned Aerial Vehicle,” 2022 IEEE 27th International Conference on Emerging Technologies and Factory Automation (ETFA), Sep. 6-9, 2022, pp. … [cited by applicant]