Sharing neighboring map data across devices
AssigneeMicrosoft Technology Licensing, LLC
InventorsEthan Eade, Jeroen Vanturennout, Jonathan Lyons, David Fields, Gavin Dean Lazarow, Tushar Cyril Bhatnagar
Life of this patent
Estimating the term…
Abstract
A computing device and method are provided for transmitting a relevant subset of map data, called a neighborhood, to enable mutual spatial understanding by multiple display devices around a target virtual location to display a shared hologram in the same exact location in the physical environment at the same moment in time. The computing device may comprise a processor, a memory operatively coupled to the processor, and an anchor transfer program stored in the memory and executed by the processor.
Claims20
A server computing device, comprising:
- a processor;
- a non-volatile storage device operatively coupled to the processor;
- and
- an anchor transfer program stored in the non-volatile storage device and executed by the processor of the server computing device, wherein
- the anchor transfer program is configured to:
- receive a transfer request from a first autonomous vehicle for neighboring map data of a neighborhood around a second virtual place-located anchor at a second target virtual location including a second pose graph created based on sensor measurements of a second autonomous vehicle;
- responsive to the transfer request, retrieve and transmit the neighboring map data to the first autonomous vehicle storing local map data including at least a first pose graph created based on sensor measurements of the first autonomous vehicle, the first pose graph including a first virtual place-located anchor defining a first target virtual location;
- determine a third pose graph connecting the first virtual place-located anchor to the second virtual place-located anchor;
- cause the first autonomous vehicle to incorporate, via a stitching process, the neighboring map data into the local map data of the first autonomous vehicle to create integrated map data comprising keyframes, each keyframe including feature matching data, wherein
- the stitching process stitches together the second pose graph of the neighboring map data and the first pose graph of the local map data by connecting the first pose graph and the second pose graph based on a spatial relationship determined by the anchor transfer program of at least one point of the first pose graph and at least one point of the second pose graph, wherein the spatial relationship comprises the first pose graph, the second pose graph, and the third pose graph connecting the first virtual place-located anchor defining the first target virtual location to the second virtual place-located anchor defining the second target virtual location.
A method comprising:
- receiving a transfer request from a first autonomous vehicle for neighboring map data of a neighborhood around a second virtual place-located anchor at a second target virtual location including a second pose graph created based on sensor measurements of a second autonomous vehicle;
- responsive to the transfer request, retrieving and transmitting the neighboring map data to the first autonomous vehicle storing local map data including at least a first pose graph created based on sensor measurements of the first autonomous vehicle, the first pose graph including a first virtual place-located anchor defining a first target virtual location;
- determining a third pose graph connecting the first virtual place-located anchor to the second virtual place-located anchor;
- causing the first autonomous vehicle to incorporate, via a stitching process, the neighboring map data into the local map data of the first autonomous vehicle to create integrated map data comprising keyframes, each keyframe including feature matching data, wherein
- the stitching process stitches together the second pose graph of the neighboring map data and the first pose graph of the local map data by connecting the first pose graph and the second pose graph based on a spatial relationship determined of at least one point of the first pose graph and at least one point of the second pose graph, wherein the spatial relationship comprises the first pose graph, the second pose graph, and the third pose graph connecting the first virtual place-located anchor defining the first target virtual location to the second virtual place-located anchor defining the second target virtual location;
- determining a pose of the first autonomous vehicle with predictive corrective localization based on the feature matching data in the keyframes of the integrated map data;
- and
- causing the first autonomous vehicle to align movements in aligned coordinate space with the second autonomous vehicle based on the integrated map data and the determined pose of the first autonomous vehicle, wherein
- a virtual model is anchored by the first virtual place-located anchor and the second virtual place-located anchor, the virtual model including predetermined spaces in which the movements of the first and second autonomous vehicles are instructed, and prohibited spaces in which the movements of the first and second autonomous vehicles are prohibited.
A server computing device, comprising:
- a processor;
- a non-volatile storage device operatively coupled to the processor;
- and
- an anchor transfer program stored in the non-volatile storage device and executed by the processor of the server computing device, wherein
- the anchor transfer program is configured to:
- receive a transfer request from a first autonomous vehicle for neighboring map data of a neighborhood around a second virtual place-located anchor at a second target virtual location including a second pose graph created based on sensor measurements of a second autonomous vehicle;
- responsive to the transfer request, retrieve and transmit the neighboring map data to the first autonomous vehicle storing local map data including at least a first pose graph created based on sensor measurements of the first autonomous vehicle, the first pose graph including a first virtual place-located anchor defining a first target virtual location;
- determine a third pose graph connecting the first virtual place-located anchor to the second virtual place-located anchor;
- cause the first autonomous vehicle to incorporate, via a stitching process, the neighboring map data into the local map data of the first autonomous vehicle to create integrated map data comprising keyframes, each keyframe including feature matching data, wherein
- the stitching process stitches together the second pose graph of the neighboring map data and the first pose graph of the local map data by connecting the first pose graph and the second pose graph based on a spatial relationship determined by the anchor transfer program of at least one point of the first pose graph and at least one point of the second pose graph, wherein the spatial relationship comprises the first pose graph, the second pose graph, and the third pose graph connecting the first virtual place-located anchor defining the first target virtual location to the second virtual place-located anchor defining the second target virtual location;
- determine a pose of the first autonomous vehicle with predictive corrective localization based on the feature matching data in the keyframes of the integrated map data;
- and
- cause the first autonomous vehicle to align movements in aligned coordinate space with the second autonomous vehicle based on the integrated map data and the determined pose of the first autonomous vehicle, wherein
- a virtual model is anchored by the first virtual place-located anchor and the second virtual place-located anchor, the virtual model including predetermined spaces in which the movements of the first and second autonomous vehicles are instructed, and prohibited spaces in which the movements of the first and second autonomous vehicles are prohibited.
Dependencies are inferred from the claim text.