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 first autonomous robot configured to network with a second autonomous robot, the first autonomous robot comprising:
- a processor;
- a memory operatively coupled to the processor and storing local map data including at least a first pose graph created based on sensor measurements of the first autonomous robot, the first pose graph including a first virtual place-located anchor defining a first target virtual location;
- an anchor transfer program stored in the memory and executed by the processor to be configured to execute an import anchor mode, wherein
- in the import anchor mode, the anchor transfer program is configured to:
- receive, from the second autonomous robot, 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 the second autonomous robot;
- incorporate, via a stitching process, the neighboring map data into the local map data of the first autonomous robot to create integrated map data comprising keyframes, each keyframe including feature matching data, the stitching process including stitching 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 a 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 robot with predictive corrective localization based on the feature matching data in the keyframes of the integrated map data;
- and
- cause the first autonomous robot to align movements in aligned coordinate space with the second autonomous robot based on the integrated map data and the determined pose of the first autonomous robot, 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 robots are instructed, and prohibited spaces in which the movements of the first and second autonomous robots are prohibited.
A method for a first autonomous robot configured to network with a second autonomous robot, the method comprising:
- storing local map data including at least a first pose graph created based on sensor measurements of the first autonomous robot, the first pose graph including a first virtual place-located anchor defining a first target virtual location;
- causing the first autonomous robot to execute an import anchor mode, wherein
- in the import anchor mode:
- neighboring map data is received from the second autonomous robot 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 the second autonomous robot;
- via a stitching process, the neighboring map data is incorporated into the local map data of the first autonomous robot to create integrated map data comprising keyframes, each keyframe including feature matching data, the stitching process including stitching 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 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 a 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 pose of the first autonomous robot is determined with predictive corrective localization based on the feature matching data in the keyframes of the integrated map data;
- and
- the first autonomous robot is caused to align movements in aligned coordinate space with the second autonomous robot based on the integrated map data and the determined pose of the first autonomous robot, 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 robots are instructed, and prohibited spaces in which the movements of the first and second autonomous robots are prohibited.
A first autonomous robot configured to network with a second autonomous robot, the first autonomous robot comprising:
- visual sensors and/or inertial measurement sensors configured to output sensor measurements;
- a processor;
- a memory operatively coupled to the processor and storing local map data including at least a first pose graph created based on the sensor measurements of the first autonomous robot, the first pose graph including a first virtual place-located anchor defining a first target virtual location;
- an anchor transfer program stored in the memory and executed by the processor to be configured to execute an import anchor mode, wherein
- in the import anchor mode, the anchor transfer program is configured to:
- receive, from the second autonomous robot, 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 the second autonomous robot;
- incorporate, via a stitching process, the neighboring map data into the local map data of the first autonomous robot to create integrated map data comprising keyframes, each keyframe including feature matching data, the stitching process including stitching 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 a 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 robot with predictive corrective localization based on the feature matching data in the keyframes of the integrated map data;
- and
- cause the first autonomous robot to align movements in aligned coordinate space with the second autonomous robot based on the integrated map data and the determined pose of the first autonomous robot, 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 robots are instructed, and prohibited spaces in which the movements of the first and second autonomous robots are prohibited.
Dependencies are inferred from the claim text.