IP Library › Granted Patent US 12,728,887
Granted Patent B2
US 12,728,887 · App. 18/446,649 · Granted Sep 8, 2026

Machine localization accuracy

Inventors: Vishisht Gupta (Santa Clara, CA); Amir Akbarzadeh (San Jose, CA); Yu Sheng (San Diego, CA)
Assignee: NVIDIA Corporation
B60W60/001G01C21/3867B60W2520/14
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,728,887
App. No.
18/446,649
Filed
Aug 9, 2023
Granted
Sep 8, 2026
Kind
B2
Art Unit
3666
USPC
701/23
Abstract

In various examples, accuracy determinations for localization in autonomous and semi-autonomous systems and applications are described herein. Systems and methods are disclosed that determine one or more errors associated with vehicle localization using various types of sensor data generated using a vehicle. For instance, a first component of the vehicle may use a map and first sensor data to determine an estimated pose of the vehicle. A second component of the vehicle may then determine the error(s) associated with the estimated pose based on both actual motion of the vehicle within the environment, as determined using second sensor data, and comparing features represented by the first sensor data to features represented by the map. In some examples, the second component may further determine information associated with the error(s), such as one or more uncertainties associated with the error(s).

Claims (112)

1 . A method comprising:

determining, based at least on motion data obtained using one or more motion sensors of a machine, a first pose associated with the machine within an environment;

determining, based at least on one or more correspondences between one or more first features represented by sensor data obtained using one or more sensors of the machine and one or more second features represented by map data, a second pose of the machine within the environment;

after the determining the second pose:

determining a first error corresponding to the second pose based at least on one or more differences between the first pose and the second pose associated with the machine; and

determining a second error corresponding to the second pose based at least on the one or more correspondences between the one or more first features represented by the sensor data and the one or more second features represented by the map data;

determining, based at least on the first error and the second error, a third error corresponding to the second pose; and

causing, based at least on the third error corresponding to the second pose, the machine to navigate from a first location within an environment to a second location within the environment.

2 . The method of claim 1 , further comprising:

determining, based on one of the one or more differences or the one or more correspondences, an uncertainty associated with the third error,

wherein the causing the machine to navigate from the first location within the environment to the second location within the environment is further based at least on the uncertainty.

3 . The method of claim 1 , wherein the determining the second pose comprises:

comparing the one or more first features represented by the sensor data to the one or more second features represented by the map data;

determining one or more costs based at least on the comparing; and

determining, based at least on the one or more costs, the second pose associated with the machine.

4 . The method of claim 1 , wherein the determining the first pose associated with the machine comprises:

determining a third pose associated with the machine;

determining, based at least on the motion data, motion of the machine that includes at least one of a direction of travel of the machine, a distance of travel of the machine, or a change in a yaw angle associated with the machine; and

determining, based at least on the third pose associated with the machine and the motion of the machine, the first pose associated with the machine.

5 . The method of claim 1 , further comprising:

determining that the sensor data represents the one or more first features;

determining whether the one or more first features represented by the sensor data match the one or more second features represented by the map data; and

determining the one or more correspondences based at least on whether the one or more first features represented by the sensor data match the one or more second features represented by the map data.

6 . The method of claim 1 , further comprising:

determining whether the third error is less than or equal to an error threshold; and

determining, based at least on the third error being less than or equal to the error threshold, to cause the machine to use the second pose to navigate within the environment.

7 . The method of claim 1 , further comprising:

determining, based at least on second motion data obtained using the one or more motion sensors of the machine, a third pose associated with the machine;

determining one or more second differences between the third pose and a fourth pose associated with the machine, the fourth pose determined using second sensor data obtained using the one or more sensors of the machine;

determining one or more second correspondences between one or more third features represented by the second sensor data and one or more fourth features represented by the map data; and

determining, based at least on the one or more second differences and the one or more second correspondences, a fourth error associated with the fourth pose,

wherein the determining the third error is further based at least on the second error.

8 . The method of claim 1 , wherein the third error includes one or more of:

a first error associated with a x-coordinate direction;

a second error associated with a y-coordinate direction;

a third error associated with a z-coordinate direction;

a fourth error associated with a yaw;

a fifth error associated with a roll; or

a sixth error associated with a pitch.

9 . A system comprising:

one or more processors to:

determine, using one or more first components of a machine, a first pose associated with a machine using motion data and a second pose associated with the machine using sensor data;

based at least on the second pose being determined using the sensor data, determine, using one or more second components of the machine that are different from the one or more first components, at least:

one or more differences between the first pose and the second pose;

one or more correspondences between one or more first features represented by the sensor data and one or more second features represented by map data; and

an error associated with the second pose based at least on the one or more differences and the one or more correspondences; and

cause, based at least on the error associated with the second pose, the machine to navigate from a first location within an environment to a second location within the environment.

10 . The system of claim 9 , wherein the one or more processors are further to determine, based at least on at least one of the one or more differences or the one or more correspondences, an uncertainty associated with the error.

11 . The system of claim 9 , wherein the determination of the second pose comprises:

compare the one or more first features represented by the sensor data to the one or more second features represented by the map data;

determine one or more costs based at least on the comparison; and

determine, using the one or more first components and based at least on the one or more costs, the second pose associated with the machine.

12 . The system of claim 9 , wherein the determination of the first pose comprises:

determine a third pose associated with the machine;

determine, based at least on the motion data, motion of the machine that includes at least one of a direction of travel of the machine, a distance of travel of the machine, or a change in a yaw angle associated with the machine; and

determine, using the one or more first components and based at least on the third pose associated with the machine and the motion of the machine, the first pose associated with the machine.

13 . The system of claim 9 , wherein the determination of the error associated with the second pose comprises:

determining, using the one or more second components, a second error based at least on the one or more differences;

determining, using the one or more second components, a third error based at least on the one or more correspondences; and

determining, using the one or more second components, the error based at least on the second error and the third error.

14 . The system of claim 9 , wherein the one or more processors are further to:

determine whether the error is less than or equal to an error threshold; and

determine, based at least on the error being greater than the error threshold, to cause the machine to use the first pose to navigate within the environment.

15 . The system of claim 9 , wherein the one or more processors are further to:

determine one or more second differences between a third pose determined using second motion data and a fourth pose determined using second sensor data;

determine one or more second correspondences between one or more third features represented by the second sensor data and one or more fourth features represented by the map data; and

determine, based at least on the one or more second differences and the one or more second correspondences, a second error associated with the fourth pose,

wherein the error is further determined based at least on the second error.

16 . The system of claim 9 , wherein the system is comprised in at least one of:

a control system for an autonomous or semi-autonomous machine;

a perception system for an autonomous or semi-autonomous machine;

a system for performing simulation operations;

a system for performing digital twin operations;

a system for performing light transport simulation;

a system for performing collaborative content creation for 3D assets;

a system for performing deep learning operations;

a system implemented using an edge device;

a system implemented using a robot;

a system implemented using large language models (LLMs);

a system for performing one or more generative AI operations;

a system for performing conversational AI operations;

a system for generating synthetic data;

a system incorporating one or more virtual machines (VMs);

a system implemented at least partially in a data center; or

a system implemented at least partially using cloud computing resources.

17 . One or more processors comprising processing circuitry to:

determine a first pose associated with a machine using motion data;

determine, based at least on one or more first correspondences between one or more first features represented by sensor data and one or more second features represented by map data, a second pose associated with the machine;

based at least on the second pose being determined:

determine a first error corresponding to the second pose based at least on the first pose and the second pose;

determine a second error corresponding to the second pose based at least on one or more second correspondences between one or more third features represented by the sensor data and one or more fourth features represented by the map data; and

determine a third error corresponding to the second pose based at least on the first error and the second error; and

cause, based at least on the third error corresponding to the second pose, the machine to navigate from a first location within an environment to a second location within the environment.

18 . The one or more processors of claim 17 , wherein the processing circuitry is further to determine an uncertainty associated with the third error.

19 . The one or more processors of claim 17 , wherein the one or more processors are comprised in at least one of:

a control system for an autonomous or semi-autonomous machine;

a perception system for an autonomous or semi-autonomous machine;

a system for performing simulation operations;

a system for performing digital twin operations;

a system for performing light transport simulation;

a system for performing collaborative content creation for 3D assets;

a system for performing deep learning operations;

a system implemented using an edge device;

a system implemented using a robot;

a system implemented using large language models (LLMs);

a system for performing one or more generative AI operations;

a system for performing conversational AI operations;

a system for generating synthetic data;

a system incorporating one or more virtual machines (VMs);

a system implemented at least partially in a data center; or

a system implemented at least partially using cloud computing resources.

20 . The one or more processors of claim 17 , wherein the one or more second correspondences are determined using the second pose associated with the machine.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2023
From: GUPTA, VISHISHT; AKBARZADEH, AMIR; SHENG, YU
To: NVIDIA CORPORATION
Reel/Frame 064589/0625 →
Continuity (1)
Related Publication 20250058796A1 · Feb 20, 2025
References Cited (13)
US 10309778B2 · Zhang et al. · 2019 [cited by applicant]
US 10692244B2 · Gu et al. · 2020 [cited by applicant]
US 11074717B2 · Tremblay et al. · 2021 [cited by applicant]
US 11488418B2 · Iqbal et al. · 2022 [cited by applicant]
US 11670001B2 · Mousavian et al. · 2023 [cited by applicant]
US 12131550B1 · Braley · 2024 [cited by examiner]
US 20160377437A1 · Brannstrom · 2016 [cited by examiner]
US 20200124421A1 · Kang · 2020 [cited by examiner]
US 20210063162A1 · Moskowitz · 2021 [cited by examiner]
US 20220066456A1 · Ebrahimi Afrouzi · 2022 [cited by examiner]
US 20220155075A1 · Jeon · 2022 [cited by examiner]
US 20220205789A1 · Wada · 2022 [cited by examiner]
US 20220398775A1 · Streem · 2022 [cited by examiner]