IP Library Granted Patent US 11,632,679
Granted Patent B2
US 11,632,679 · App. 17/071,879 · Granted Apr 18, 2023

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 11,632,679
App. No.
17/071,879
Granted
Apr 18, 2023
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 (47)

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; and

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

forming a map of the 3D environment based on image data produced by the image sensor as the portable device moves in the 3D environment, the map of the 3D environment comprising a plurality of feature descriptors and having a first coordinate frame;

maintaining a wireless fingerprint associated with the portable device 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 corresponding to the location of the portable device within the 3D environment; and

updating information stored in association with the selected location within the map, based on the obtained network access point information;

sending the wireless fingerprint and the plurality of feature descriptors to a localization service; and

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, wherein the localization service generates the coordinate transformation based at least in part on the wireless fingerprint and the plurality of feature descriptors sent to the localization service.

2. The portable device of claim 1 , wherein updating information stored in association with the selected location comprises combining the obtained network access point information with previously obtained network access point information associated with the selected 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 3 , 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.

5. The portable device of claim 3 , wherein the scan for network access points is triggered when the portable device has moved a distance in the 3D environment exceeding a threshold.

6. 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.

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

8. The portable device of claim 7 , 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.

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

10. The portable device of claim 9 , wherein the signal strength indicator values are Received Signal Strength Indicator (RSSI) values.

11. The portable device of claim 8 , wherein updating the information 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.

12. The portable device of claim 11 , wherein updating the information stored in association with the selected location within the map comprises identifying a subset of the access point identifiers to be excluded.

13. The portable device of claim 12 , wherein the subset of access point identifiers to be excluded is based at least on the one or more signal strength indicator values.

14. The portable device of claim 11 , 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.

15. The portable device of claim 1 , wherein the selected location within the map comprises a persistent pose or a persistent coordinate frame of the map.

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

17. The portable device of claim 1 , wherein the portable device further comprises a non-transitory computer-readable medium connected to the at least one processor, and wherein the method further comprises storing the map on the computer-readable medium.

18. The portable device of claim 17 , wherein updating information stored in association with the selected location within the map, based on the obtained network access point information, comprises updating information stored on the non-transitory computer-readable medium in association with the selected location within the map, based on the obtained network access point information.

19. 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:

forming a map of the 3D environment based on image data generated as the portable device moves in the 3D environment, the map of the 3D environment comprising a plurality of feature descriptors and having a first coordinate frame;

maintaining a wireless fingerprint associated with the portable device 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 corresponding to the location of the portable device within the 3D environment; and

updating information stored in association with the selected location within the map, based on the obtained network access point information; and

sending the wireless fingerprint and the plurality of feature descriptors to a localization service;

selecting, by the localization service, one or more candidate maps from among a plurality of stored maps based on the received wireless fingerprint;

selecting, by the localization service, a first map from the one or more candidate maps by matching a plurality of feature descriptors associated with the first map to the received plurality of feature descriptors;

generating, by the localization service, a coordinate transformation between the first coordinate frame of the map of the 3D environment and a coordinate frame of the first map; and

providing the generated coordinate transformation from the localization service to the portable device.

20. A non-transitory compute r-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:

forming a map of the 3D environment based on image data generated as the portable device moves in the 3D environment, the map of the 3D environment comprising a plurality of feature descriptors and having a first coordinate frame;

maintaining a wireless fingerprint associated with the portable device 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 corresponding to the location of the portable device within the 3D environment; and

updating information stored in association with the selected location within the map, based on the obtained network access point information; and

sending the wireless fingerprint and the plurality of feature descriptors to a localization service; and

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, wherein the localization service generates the coordinate transformation based at least in part on the wireless fingerprint and the plurality of feature descriptors sent to the localization service.

Assignments (3)
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/0238 →
SECURITY INTEREST Recorded May 24, 2022
From: MOLECULAR IMPRINTS, INC.; MENTOR ACQUISITION ONE, LLC; MAGIC LEAP, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 060338/0665 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2021
From: SHVEKI, GILBOA; WEISBIH, BEN; KAPOTA, OFER; TORRES, RAFAEL DOMINGOS; OLSHANSKY, DANIEL; HOLDER, JOEL DAVID
To: MAGIC LEAP, INC.
Reel/Frame 056945/0143 →
Continuity (2)
Provisional Application 62915559 · Oct 15, 2019
Related Publication 20210112427A1 · Apr 15, 2021
Cited By (10)
US 12,243,178 US 12,283,011 US 12,283,012 US 12,293,471 US 12,307,004 US 12,315,097 US 12,399,601 US 12,430,861 US 12,499,618 US 12,670,675