Shared tile map with live updates
AssigneeGM Cruise Holdings LLC
InventorsRoman Sergeev, Andrea Allais, Gautier Minster
Life of this patent
Estimating the term…
Abstract
Systems, methods, and devices are disclosed for synchronizing a map within shared memory for a navigating autonomous vehicle. A map, defined by a geographical area around an autonomous vehicle navigating a route, can be received and stored in shared memory. The shared memory can be a specific physical block of RAM. Concurrent access to the map within the shared memory can be granted to downstream nodes on the autonomous vehicle as the autonomous vehicle navigates the route. This shares the map among many nodes while, at the same time, allowing updates to the map without blocking those nodes at any time.
Claims20
A method comprising:
- storing data representing a virtual map tile in a physical block of memory of an autonomous vehicle computing system, wherein the virtual map tile pertains to a geographical area around an autonomous vehicle that is represented by portions of at least a first map tile of a stored map, and wherein the virtual map tile has a version number having a first value;
- and
- as the autonomous vehicle moves;
- identifying a second map tile of the stored map that represents the geographical area in a direction of movement of the autonomous vehicle;
- updating the virtual map tile by reusing a first portion of the physical block of memory to store a second portion of the second map tile, wherein a third portion of the physical block of memory stores a fourth portion of the first map tile, and wherein the physical block of memory stores the second portion of the second map tile and the fourth portion of the first map tile in a rolling array that is accessible using wrap-around read operations;
- and
- updating the version number of the virtual map tile to a second value different from the first value, wherein the version number can be used to detect when a query on the virtual map tile occurred during updating of the virtual map tile.
A system comprising:
- a processor;
- and
- a memory in communication with the processor and storing instructions that, when executed by the processor, cause the processor to:
- store data representing a virtual map tile in a physical block of memory of an autonomous vehicle computing system, wherein the virtual map tile pertains to a geographical area around an autonomous vehicle that is represented by portions of at least a first map tile of a stored map, and wherein the virtual map tile has a version number having a first value;
- and
- as the autonomous vehicle moves:
- identify a second map tile of the stored map that represents the geographical area in a direction of movement of the autonomous vehicle;
- update the virtual map tile by reusing a first portion of the physical block of memory to store a second portion of the second map tile, wherein a third portion of the physical block of memory stores a fourth portion of the first map tile, and wherein the physical block of memory stores the second portion of the second map tile and the fourth portion of the first map tile in a rolling array that is accessible using wrap-around read operations;
- and
- update the version number of the virtual map tile to a second value different from the first value, wherein the version number can be used to detect when a query on the virtual map tile occurred during updating of the virtual map tile.
A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to:
- store data representing a virtual map tile in a physical block of memory of an autonomous vehicle computing system, wherein the virtual map tile pertains to a geographical area around an autonomous vehicle that is represented by portions of at least a first map tile of a stored map, and wherein the virtual map tile has a version number having a first value;
- and
- as the autonomous vehicle moves:
- identify a second map tile of the stored map that represents the geographical area in a direction of movement of the autonomous vehicle;
- update the virtual map tile by reusing a first portion of the physical block of memory to store a second portion of the second map tile, wherein a third portion of the physical block of memory stores a fourth portion of the first map tile, and wherein the physical block of memory stores the second portion of the second map tile and the fourth portion of the first map tile in a rolling array that is accessible using wrap-around read operations;
- and
- update the version number of the virtual map tile to a second value different from the first value, wherein the version number can be used to detect when a query on the virtual map tile occurred during updating of the virtual map tile.
Dependencies are inferred from the claim text.