IP Library Granted Patent US 12676068
Granted Patent B2
US 12676068 · App. 18/781,392 · Granted Jul 7, 2026

System for sparsely representing and storing geographic and map data

Inventors: Derek Adams (Pasadena, CA); Michael Carsten Bosse (Templeton, CA); Elena Stephanie Stumm (Berkeley, CA); Veeresh Taranalli (San Jose, CA)
Assignee: Zoox, Inc.
G08G1/22B60W60/001G01C21/3807G01C21/3841G06N20/00G08G1/20B60W2420/403B60W2420/408B60W2556/50B60W2556/65
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 12676068
App. No.
18/781,392
Filed
Jul 23, 2024
Granted
Jul 7, 2026
Kind
B2
Examiner
KAN, YURI
Art Unit
3662
USPC
701/23
Abstract

Techniques associated with generating and maintaining sparse geographic and map data. In some cases, the system may maintain a factor graph comprising a plurality of nodes. In some cases, the nodes may comprise pose data and sensor data associated with an autonomous vehicle at the geographic position represented by the node. The nodes may be linked based on shared trajectories and shared sensor data.

Claims (52)

1 . A system comprising:

one or more processors; and

one or more non-transitory computer-readable media storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

identifying a first node and a second node of a graph, wherein:

the first node is associated with an environment at a first time,

the second node is associated with the environment at a second time after the first time, and

the first node is associated with first pose data and the second node is associated with second pose data;

determining a first age associated with the first node based on the first time and a second age associated with the second node based on the second time;

determining a first weight associated with the first pose data based on the first age;

determining a second weight associated with the second pose data based on at least in part on the second age;

determining, based at least in part on the first pose data and the second pose data, a difference;

updating the graph based at least in part on the difference, the first weight, and the second weight; and

transmitting the graph to a vehicle to navigate the vehicle from a starting location to a destination based at least in part on the graph.

2 . The system of claim 1 , wherein updating the graph comprises removing the first node.

3 . The system of claim 1 , wherein updating the graph comprises reducing the first weight.

4 . The system of claim 3 , the operations further comprising performing a graph optimization based on one or more of the first weight or the second weight.

5 . The system of claim 4 , wherein reducing the first weight is based on a decay model.

6 . The system of claim 1 , wherein updating the graph comprises localizing an update to the graph to a region of the graph that comprises the first node and leaving a remainder of the graph unmodified.

7 . The system of claim 1 , wherein the first pose data and the second pose data are determined based at least in part on sensor data associated with a sensor traveling through the environment.

8 . A non-transitory computer-readable medium storing computer executable instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

identifying a first node and a second node of a graph, wherein:

the first node is associated with an environment at a first time,

the second node is associated with the environment at a second time after the first time, and

the first node is associated with first pose data and the second node is associated with second pose data;

determining a first age associated with the first node based on the first time and a second age associated with the second node based on the second time;

determining a first weight associated with the first pose data based on the first age;

determining a second weight associated with the second pose data based on at least in part on the second age;

determining, based at least in part on the first pose data and the second pose data, a difference;

updating the graph based at least in part on the difference, the first weight, and the second weight; and

transmitting the graph to a vehicle to navigate the vehicle from a starting location to a destination based at least in part on the graph.

9 . The non-transitory computer-readable medium of claim 8 , wherein updating the graph comprises removing the first node.

10 . The non-transitory computer-readable medium of claim 8 , wherein updating the graph comprises reducing the first weight.

11 . The non-transitory computer-readable medium of claim 10 , the operations further comprising performing a graph optimization based on one or more of the first weight or the second weight.

12 . The non-transitory computer-readable medium of claim 11 , wherein reducing the first weight is based on a decay model.

13 . The non-transitory computer-readable medium of claim 8 , wherein updating the graph comprises localizing an update to the graph to a region of the graph that comprises the first node and leaving a remainder of the graph unmodified.

14 . The non-transitory computer-readable medium of claim 8 , wherein the first pose data and the second pose data are determined based at least in part on sensor data associated with a sensor traveling through the environment.

15 . A method comprising:

identifying a first node and a second node of a graph, wherein:

the first node is associated with an environment at a first time,

the second node is associated with the environment at a second time after the first time, and

the first node is associated with first pose data and the second node is associated with second pose data;

determining a first age associated with the first node based on the first time and a second age associated with the second node based on the second time;

determining a first weight associated with the first pose data based on the first age;

determining a second weight associated with second pose data based on at least in part on the second age;

determining, based at least in part on the first pose data and the second pose data, a difference;

updating the graph based at least in part on the difference, the first weight, and the second weight; and

transmitting the graph to a vehicle to navigate the vehicle from a starting location to a destination based at least in part on the graph.

16 . The method of claim 15 , wherein updating the graph comprises removing the first node.

17 . The method of claim 15 , wherein updating the graph comprises reducing the first weight.

18 . The method of claim 17 , further comprising performing a graph optimization based on one or more of the first weight or the second weight.

19 . The method of claim 18 , wherein reducing the first weight is based on a decay model.

20 . The method of claim 15 , wherein updating the graph comprises localizing an update to the graph to a region of the graph that comprises the first node and leaving a remainder of the graph unmodified.