IP Library Granted Patent US 12,170,910
Granted Patent B2
US 12,170,910 · App. 18/179,275 · Granted Dec 17, 2024

Cross reality system with wireless fingerprints

Inventors: Gilboa Shveki (Shoham, IL); Ben Weisbih (Rehovot, IL); Ofer Kapota (Plantation, FL); Rafael Domingos Torres (Boca Raton, FL); Daniel Olshansky (Mountain View, CA); Joel David Holder (Austin, TX)
Assignee: Magic Leap, Inc.
H04W24/02G01S5/0252G06T19/006H04W4/029H04W4/02
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,170,910
App. No.
18/179,275
Granted
Dec 17, 2024
Kind
B2
Abstract

A cross reality system enables any of multiple devices to efficiently and accurately access previously stored maps and render virtual content specified in relation to those maps. Both stored maps and tracking maps used by portable devices may have wireless fingerprints associated with them. The portable devices may maintain wireless fingerprints based on wireless scans performed repetitively, based on one or more trigger conditions, as the devices move around the physical world. The wireless information obtained from these scans may be used to create or update wireless fingerprints associated with locations in a tracking map on the devices. One or more of these wireless fingerprints may be used when a previously stored map is to be selected based on its coverage of an area in which the portable device is operating. Maintaining wireless fingerprints in this way provides a reliable and low latency mechanism for performing map-related operations.

Claims (53)

1. A portable device configured to operate within a three-dimensional (3D) environment and display virtual content of a cross reality system, the portable device comprising:

at least one processor;

an image sensor configured to output image data; and

computer executable instructions configured to, when executed by the at least one processor, perform a method comprising:

extracting a plurality of features from the image data;

forming a map of the 3D environment based on the image data produced by the image sensor as the portable device moves in the 3D environment, the map of the 3D environment

comprising a first coordinate frame and a plurality of persistent poses associated with feature descriptors of features of the plurality of features extracted from the image data and associated with locations within the map of the 3D environment;

maintaining a wireless fingerprint associated with the map of the 3D environment by repeatedly:

obtaining network access point information from network access points sending wireless signals received by the portable device at a location within the 3D environment;

selecting a persistent pose of the plurality of persistent poses at a location within the map of the 3D environment based on correspondence between features of the plurality of features and features associated with the persistent pose; and

based on selecting the persistent pose, updating a wireless fingerprint stored in association with the location within the map of the 3D environment by merging network access point information obtained at a second time with network access point information obtained at a first time and linked with the selected pose to produce a merged wireless fingerprint linked with the selected persistent pose;

for a set of features of the plurality of features associated with a position of the portable device, determining the location within the map associated with the features and sending to a localization service the merged wireless fingerprint stored in association with the determined location within the map and a plurality of feature descriptors associated with features of the set of features; and

based on sending the merged wireless fingerprint associated with the determined location and the plurality of feature descriptors to the localization service, receiving, from the localization service, a coordinate transformation between the first coordinate frame of the map of the 3D environment and a coordinate frame of a stored map.

2. The portable device of claim 1 , wherein updating the wireless fingerprint stored in association with the location of the selected persistent pose comprises combining the obtained network access point information with previously obtained network access point information associated with the location.

3. The portable device of claim 1 , wherein obtaining network access point information comprises triggering a scan for network access points.

4. The portable device of claim 1 , wherein obtaining network access point information comprises receiving the network access point information pushed from wireless hardware components after a scan for network access points.

5. The portable device of claim 1 , wherein obtaining network access point information comprises obtaining access point identifiers of the network access points.

6. The portable device of claim 5 , wherein obtaining network access point information further comprises obtaining one or more signal strength indicator values for access points identified by the access point identifiers.

7. The portable device of claim 6 , wherein the access point identifiers are Basic Service Set Identifiers (BSSIDs).

8. The portable device of claim 1 , wherein obtaining network access point information further comprises filtering, clustering, and/or normalizing the network access point information.

9. The portable device of claim 1 , wherein:

each persistent pose of the plurality of persistent poses comprises information configured to orient the portable device relative to the 3D environment.

10. A non-transitory computer-readable medium storing computer executable instructions configured to, when executed by at least one processor, perform a method for operating a portable device configured to operate within a three-dimensional (3D) environment and display virtual content of a cross reality system, the method comprising:

extracting a plurality of features from image data output by an image sensor;

forming a map of the 3D environment based on the image data generated as the portable device moves in the 3D environment, the map of the 3D environment comprising a first coordinate frame and feature descriptors of features of the plurality of features extracted from the image data and associated with locations within the map of the 3D environment;

maintaining a wireless fingerprint associated with the map of the 3D environment by repeatedly:

obtaining network access point information from network access points sending wireless signals received by the portable device at a location within the 3D environment;

selecting a location within the map of the 3D environment based on correspondence between features of the plurality of features and features within the map of the 3D environment; and

based on selecting the location, updating a wireless fingerprint stored in association with the selected location within the map of the 3D environment based on the obtained network access point information by merging a plurality of wireless fingerprints each obtained at a respective time for the selected location to produce a merged wireless fingerprint for the selected location; and

for a set of features of the plurality of features associated with a position of the portable device, selecting the location within the map associated with the features and sending to a localization service the merged wireless fingerprint stored in association with the selected location within the map and a plurality of feature descriptors associated with features of the set of features; and

based on sending the merged wireless fingerprint associated with the selected location and the plurality of feature descriptors to the localization service, receiving, from the localization service, a coordinate transformation between the first coordinate frame of the map of the 3D environment and a coordinate frame of a stored map.

11. The non-transitory computer-readable medium of claim 10 , wherein merging the plurality of wireless fingerprints for the selected location comprises combining the obtained network access point information with previously obtained network access point information associated with the selected location.

12. The non-transitory computer-readable medium of claim 10 , wherein obtaining network access point information comprises triggering a scan for network access points;

wherein the scan for network access points is triggered when an amount of time passed since a previous scan of network access points was performed exceeds a threshold.

13. The non-transitory computer-readable medium of claim 10 , wherein obtaining network access point information comprises obtaining access point identifiers of the network access points.

14. The non-transitory computer-readable medium of claim 13 , wherein obtaining network access point information further comprises obtaining one or more signal strength indicator values for access points identified by the access point identifiers.

15. The non-transitory computer-readable medium of claim 14 , wherein updating the wireless fingerprint stored in association with the selected location within the map comprises storing the one or more signal strength indicator values in association with the access point identifiers.

16. The non-transitory computer-readable medium of claim 15 , wherein updating the wireless fingerprint stored in association with the selected location within the map comprises identifying a subset of the access point identifiers to be excluded.

17. The non-transitory computer-readable medium of claim 16 , wherein the subset of access point identifiers to be excluded is based at least on the one or more signal strength indicator values.

18. The non-transitory computer-readable medium of claim 15 , wherein storing the one or more signal strength indicator values comprises storing an average of multiple signal strength indicator values in association with the access point identifiers.

19. The non-transitory computer-readable medium of claim 10 , wherein the selected location within the map comprises a persistent pose or a persistent coordinate frame of the map.

20. A portable device configured to operate within a three-dimensional (3D) environment and display virtual content of a cross reality system, the portable device comprising:

at least one processor;

an image sensor configured to output image data; and

computer executable instructions configured to, when executed by the at least one processor, perform a method comprising:

extracting a plurality of features from the image data;

forming a map of the 3D environment based on the image data produced by the image sensor as the portable device moves in the 3D environment, the map of the 3D environment comprising a first coordinate frame and feature descriptors of features of the plurality of features extracted from the image data and associated with locations within the map of the 3D environment;

maintaining a wireless fingerprint associated with the map of the 3D environment by repeatedly:

obtaining network access point information from network access points sending wireless signals received by the portable device at a location within the 3D environment;

detecting a position of the portable device by selecting a location within the map of the 3D environment based on correspondence between features of the plurality of features and features within the map of the 3D environment; and

based on detecting the position of the portable device, updating a wireless fingerprint stored in association with the selected location within the map of the 3D environment based on the obtained network access point information by merging network access point information obtained at a second time with network access point information obtained at a first time to produce a merged wireless fingerprint linked with the detected position;

for a set of features of the plurality of features associated with the position of the portable device, selecting the location within the map associated with the features and sending to a localization service the merged wireless fingerprint stored in association with the selected location within the map and a plurality of feature descriptors associated with features of the set of features; and

based on sending the merged wireless fingerprint associated with the selected location and the plurality of feature descriptors to the localization service, receiving, from the localization service, a coordinate transformation between the first coordinate frame of the map of the 3D environment and a coordinate frame of a stored map.

Assignments (3)
SECURITY INTEREST Recorded Oct 29, 2025
From: MAGIC LEAP, INC.; MENTOR ACQUISITION ONE, LLC; MOLECULAR IMPRINTS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073438/0463 →
SECURITY INTEREST Recorded Oct 15, 2025
From: MAGIC LEAP, INC.; MENTOR ACQUISITION ONE, LLC; MOLECULAR IMPRINTS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073109/0476 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2023
From: SHVEKI, GILBOA; WEISBIH, BEN; KAPOTA, OFER; TORRES, RAFAEL DOMINGOS; OLSHANSKY, DANIEL; HOLDER, JOEL DAVID
To: MAGIC LEAP, INC.
Reel/Frame 064259/0443 →
Continuity (3)
Continuation 17071879 · Oct 15, 2020
Provisional Application 62915559 · Oct 15, 2019
Related Publication 20230209373A1 · Jun 29, 2023
Cited By (2)
US 12,430,861 US 12,499,618