IP Library Granted Patent US 11,512,964
Granted Patent B2
US 11,512,964 · App. 16/810,796 · Granted Nov 29, 2022

Distributed processing of pose graphs for generating high definition maps for navigating autonomous vehicles

Inventor: Chen Chen (San Jose, CA)
Assignee: NVIDIA CORPORATION
G01C21/32G05D1/0088G05D1/0274G05D2201/0213
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,512,964
App. No.
16/810,796
Granted
Nov 29, 2022
Kind
B2
Abstract

According to an aspect of an embodiment, operations may comprise obtaining a pose graph that comprises a plurality of nodes. The operations may also comprise dividing the pose graph into a plurality of pose subgraphs, each pose subgraph comprising one or more respective pose subgraph interior nodes and one or more respective pose subgraph boundary nodes. The operations may also comprise generating one or more boundary subgraphs based on the plurality of pose subgraphs, each of the one or more boundary subgraphs comprising one or more respective boundary subgraph boundary nodes and comprising one or more respective boundary subgraph interior nodes. The operations may also comprise obtaining an optimized pose graph by performing a pose graph optimization. The pose graph optimization may comprise performing a pose subgraph optimization of the plurality of pose subgraphs and performing a boundary subgraph optimization of the plurality of boundary subgraphs.

Claims (65)

1. A method, comprising:

obtaining a pose graph that comprises a plurality of nodes, individual nodes of the plurality of nodes of the pose graph representing a respective pose of a corresponding vehicle of a plurality of vehicles, the respective pose comprising a geographic location of the corresponding vehicle and an orientation of the corresponding vehicle;

dividing the pose graph into a plurality of pose subgraphs, individual pose subgraphs of the plurality of pose subgraphs comprising one or more respective pose subgraph interior nodes and one or more respective pose subgraph boundary nodes;

obtaining one or more boundary subgraphs based on the plurality of pose subgraphs, individual boundary subgraphs of the one or more boundary subgraphs comprising one or more respective boundary subgraph boundary nodes and one or more respective boundary subgraph interior nodes that are respective pose subgraph boundary nodes;

obtaining an updated pose graph by performing a pose graph optimization based on the plurality of pose subgraphs and the one or more boundary subgraphs;

aligning, based on the updated pose graph, respective map information obtained by the plurality of vehicles; and

generating a high-definition map using the aligned map information.

2. The method of claim 1 , wherein the obtaining the updated pose graph comprises performing the pose graph optimization iteratively until determining that the pose graph has converged.

3. The method of claim 1 , wherein the obtaining the updated pose graph comprises performing the pose graph optimization iteratively until all adjustments to the interior nodes of the pose subgraph and the boundary subgraph are smaller than a threshold amount.

4. The method of claim 1 , wherein the obtaining the updated pose graph comprises performing the pose graph optimization iteratively, in which, for individual iterations, a pose subgraph optimization and a boundary subgraph optimization are performed sequentially.

5. The method of claim 1 , wherein the pose graph optimization comprises performing a pose subgraph optimization of the plurality of pose subgraphs and wherein the pose subgraph optimization is performed in parallel in which optimization operations are performed with respect to two or more pose subgraphs at the same time.

6. The method of claim 5 , wherein the parallel performance of the pose subgraph optimization is performed by a plurality of computer systems in a distributed manner.

7. The method of claim 1 , wherein respective poses correspond to a point in time in which one or more sensors of the corresponding vehicle obtain respective map information.

8. The method of claim 1 , wherein the pose graph optimization comprises:

performing a pose subgraph optimization of the plurality of pose subgraphs comprising adjusting interior node poses of the respective pose subgraph interior nodes while keeping boundary node poses of respective pose subgraph boundary nodes fixed; and

performing a boundary subgraph optimization of the one or more boundary subgraphs comprising adjusting interior node poses of the respective boundary subgraph interior nodes while keeping boundary node poses of the respective boundary subgraph boundary nodes fixed.

9. The method of claim 1 , wherein obtaining a respective boundary subgraph of the one or more boundary subgraphs comprises:

identifying a first boundary node of a first pose subgraph of the plurality of pose subgraphs as a first interior node of the respective boundary subgraph;

identifying a second boundary node of a second pose subgraph of the plurality of pose subgraphs as a second interior node of the respective boundary subgraph;

identifying a first boundary node of the respective boundary subgraph based on the first boundary node being a particular number of edges away from the first interior node of the respective boundary subgraph; and

identifying a second boundary node of the respective boundary subgraph based on the second boundary node being the particular number of edges away from the second interior node of the respective boundary subgraph.

10. A processor comprising:

one or more circuits to perform operations, the operations comprising:

obtaining a pose graph that comprises a plurality of nodes, individual nodes of the plurality of nodes of the pose graph representing a respective pose of a corresponding vehicle of a plurality of vehicles, the respective pose comprising a geographic location of the corresponding vehicle and an orientation of the corresponding vehicle;

dividing the pose graph into a plurality of pose subgraphs, individual pose subgraphs of the plurality of pose subgraphs comprising one or more respective pose subgraph interior nodes and one or more respective pose subgraph boundary nodes;

generating one or more boundary subgraphs based on the plurality of pose subgraphs, individual boundary subgraphs of the one or more boundary subgraphs comprising one or more respective boundary subgraph boundary nodes and one or more respective boundary subgraph interior nodes;

obtaining an updated pose graph by performing a pose graph optimization based on the plurality of pose subgraphs and the one or more boundary subgraphs;

aligning, based on the updated pose graph, respective map information obtained by the plurality of vehicles; and

generating a high-definition map using the aligned map information.

11. The processor of claim 10 , wherein the obtaining the updated pose graph comprises performing the pose graph optimization iteratively until determining that the pose graph has converged.

12. The processor of claim 10 , wherein the obtaining the updated pose graph comprises performing the pose graph optimization iteratively until all adjustments to the interior nodes of the pose subgraph and the boundary subgraph are smaller than a threshold amount.

13. The processor of claim 10 , wherein the obtaining the updated pose graph comprises performing the pose graph optimization iteratively, in which, for individual iterations, a pose subgraph optimization and a boundary subgraph optimization are performed sequentially.

14. The processor of claim 10 , wherein the pose graph optimization comprises performing a pose subgraph optimization of the plurality of pose subgraphs and wherein the pose subgraph optimization is performed in parallel in which optimization operations are performed with respect to two or more pose subgraphs at the same time.

15. The processor of claim 14 , wherein the parallel performance of the pose subgraph optimization is performed by a plurality of computer systems in a distributed manner.

16. The processor of claim 10 , wherein respective poses correspond to a point in time in which one or more sensors of the corresponding vehicle obtain respective map information.

17. The processor of claim 10 , wherein the pose graph optimization comprises:

performing a pose subgraph optimization of the plurality of pose subgraphs comprising adjusting interior node poses of respective pose subgraph interior nodes while keeping boundary node poses of respective pose subgraph boundary nodes fixed; and

performing a boundary subgraph optimization of the one or more boundary subgraphs comprising adjusting interior node poses of the respective boundary subgraph interior nodes while keeping boundary node poses of the respective boundary subgraph boundary nodes fixed.

18. The processor of claim 10 , wherein generating a respective boundary subgraph of the one or more boundary subgraphs comprises:

identifying a first boundary node of a first pose subgraph of the plurality of pose subgraphs as a first interior node of the respective boundary subgraph;

identifying a second boundary node of a second pose subgraph of the plurality of pose subgraphs as a second interior node of the respective boundary subgraph;

identifying a first boundary node of the respective boundary subgraph based on the first boundary node being a particular number of edges away from the first interior node of the respective boundary subgraph; and

identifying a second boundary node of the respective boundary subgraph based on the second boundary node being the particular number of edges away from the second interior node of the respective boundary subgraph.

19. A system comprising:

one or more processing units to perform operations, the operations comprising:

obtaining a pose graph that comprises a plurality of nodes, individual nodes of the plurality of nodes of the pose graph representing a respective pose of a corresponding vehicle of a plurality of vehicles, the respective pose comprising a geographic location of the corresponding vehicle and an orientation of the corresponding vehicle;

dividing the pose graph into a plurality of pose subgraphs, individual pose subgraphs of the plurality of pose subgraphs comprising one or more respective pose subgraph interior nodes and one or more respective pose subgraph boundary nodes;

obtaining one or more boundary subgraphs based on the plurality of pose subgraphs, individual boundary subgraphs of the one or more boundary subgraphs comprising one or more respective boundary subgraph boundary nodes and one or more respective boundary subgraph interior nodes that are respective pose subgraph boundary nodes; and

obtaining an updated pose graph by performing a pose graph optimization based on the plurality of pose subgraphs and the one or more boundary subgraphs;

aligning, based on the updated pose graph, respective map information obtained by the plurality of vehicles; and

generating a high-definition map using the aligned map information.

20. The system of claim 19 , wherein the obtaining the updated pose graph comprises performing the pose graph optimization iteratively until determining that the pose graph has converged.

21. The system of claim 19 , wherein the obtaining the updated pose graph comprises performing the pose graph optimization iteratively until all adjustments to the interior nodes of the pose subgraph and the boundary subgraph are smaller than a threshold amount.

22. The system of claim 19 , wherein the obtaining the updated pose graph comprises performing the pose graph optimization iteratively, in which, for individual iterations, a pose subgraph optimization and a boundary subgraph optimization are performed sequentially.

23. The system of claim 19 , wherein the pose graph optimization comprises performing a pose subgraph optimization of the plurality of pose subgraphs and wherein the pose subgraph optimization is performed in parallel in which optimization operations are performed with respect to two or more pose subgraphs at the same time.

24. The system of claim 23 , wherein the parallel performance of the pose subgraph optimization is performed by a plurality of computer systems in a distributed manner.

25. The system of claim 19 , wherein respective poses correspond to a point in time in which one or more sensors of the corresponding vehicle obtain respective map information.

26. The system of claim 19 , wherein the pose graph optimization comprises:

performing a pose subgraph optimization of the plurality of pose subgraphs comprising adjusting interior node poses of respective pose subgraph interior nodes while keeping boundary node poses of respective pose subgraph boundary nodes fixed; and

performing a boundary subgraph optimization of the one or more boundary subgraphs comprising adjusting interior node poses of the respective boundary subgraph interior nodes while keeping boundary node poses of the respective boundary subgraph boundary nodes fixed.

27. The system of claim 19 , wherein obtaining a respective boundary subgraph of the one or more boundary subgraphs comprises:

identifying a first boundary node of a first pose subgraph of the plurality of pose subgraphs as a first interior node of the respective boundary subgraph;

identifying a second boundary node of a second pose subgraph of the plurality of pose subgraphs as a second interior node of the respective boundary subgraph;

identifying a first boundary node of the respective boundary subgraph based on the first boundary node being a particular number of edges away from the first interior node of the respective boundary subgraph; and

identifying a second boundary node of the respective boundary subgraph based on the second boundary node being the particular number of edges away from the second interior node of the respective boundary subgraph.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2022
From: DEEPMAP INC.
To: NVIDIA CORPORATION
Reel/Frame 061038/0311 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2020
From: CHEN, CHEN
To: DEEPMAP, INC.
Reel/Frame 052389/0552 →
Continuity (2)
Provisional Application 62813842 · Mar 5, 2019
Related Publication 20200284590A1 · Sep 10, 2020
Cited By (3)
US 12,228,423 US 12,270,662 US 12,372,665