IP Library › Granted Patent US 12,333,759
Granted Patent B2
US 12,333,759 · App. 18/246,464 · Granted Jun 17, 2025

Identifying a position of a controllable device using a wearable device

Inventors: Shengzhi Wu (Shenzhen, CN); Alexander James Faaborg (Mountain View, CA)
Assignee: Google LLC
G06T7/74G06F3/04815G06F3/0484G06T15/00G06V20/20G06T2200/24
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,333,759
App. No.
18/246,464
Granted
Jun 17, 2025
Kind
B2
Abstract

According to an aspect, a method of identifying a position of a controllable device includes receiving visual data from an image sensor on a wearable device, generating, by an object recognition module, identification data based on the visual data, and identifying, using the identification data, a first three-dimensional (3D) map from a map database that stores a plurality of 3D maps including the first 3D map and a second 3D map, where the first 3D map is associated with a first controllable device and the second 3D map is associated with a second controllable device. The method includes obtaining a position of the first controllable device in a physical space based on visual positioning data of the first 3D map and rendering a user interface (UI) object on a display in a position that is within a threshold distance of the position of the first controllable device.

Claims (59)

1. A method comprising:

receiving image data from an image sensor on a user device;

generating first identification data about a first controllable device included in the image data;

determining that a first three-dimensional (3D) map from a map database is annotated with second identification data that corresponds to the first identification data, the map database storing a plurality of 3D maps including the first 3D map and a second 3D map, the first 3D map being associated with the first controllable device, the first 3D map being generated during a configuration process of the first controllable device, the second 3D map being associated with a second controllable device;

comparing the image data to the first 3D map to determine that the first 3D map at least partially corresponds to a physical space represented by the image data;

obtaining a 3D position of the first controllable device in the physical space from the first 3D map; and

rendering a user interface object on a display of the user device in a location that is based on the 3D position of the first controllable device, the user interface object including a control for interacting with the first controllable device.

2. The method of claim 1 , wherein the 3D position includes a six degree of freedom position of the first controllable device.

3. The method of claim 1 , wherein the first identification data includes information about at least one of a device name or a device type of the first controllable device.

4. The method of claim 1 , further comprising:

generating a plurality of feature points about the physical space that includes the first controllable device;

generating the first 3D map based on the plurality of feature points, the first 3D map identifying the 3D position of the first controllable device in the physical space; and

storing the first 3D map in the map database.

5. The method of claim 1 , further comprising:

receiving a selection to the control on the user interface object; and

initiating execution of a function on the first controllable device by communicating with the first controllable device.

6. A method comprising:

receiving image data from an image sensor on a user device;

generating identification data about a first controllable device based on the image data, the identification data including information about a classification of a physical space that includes the first controllable device;

identifying, using the identification data, a first three-dimensional (3D) map from a map database that stores a plurality of 3D maps including the first 3D map and a second 3D map, the first 3D map being associated with the first controllable device, the first 3D map being generated during a configuration process of the first controllable device, the second 3D map being associated with a second controllable device;

comparing the image data to the first 3D map to determine that the first 3D map at least partially corresponds to the physical space represented by the image data;

obtaining a 3D position of the first controllable device in the physical space from the first 3D map; and

rendering a user interface object on a display of the user device in a location that is based on the 3D position of the first controllable device, the user interface object including a control for interacting with the first controllable device.

7. A method comprising:

receiving image data from an image sensor on a first user device;

generating identification data about a first controllable device based on the image data;

identifying, using the identification data, a first three-dimensional (3D) map from a map database that stores a plurality of 3D maps including the first 3D map and a second 3D map, the first 3D map being associated with the first controllable device, the second 3D map being associated with a second controllable device;

comparing the image data to the first 3D map to determine that the first 3D map at least partially corresponds to a physical space represented by the image data;

obtaining a 3D position of the first controllable device in the physical space from the first 3D map;

rendering a user interface object on a display of the first user device in a location that is based on the 3D position of the first controllable device, the user interface object including a control for interacting with the first controllable device; and

transmitting an identifier of the first 3D map to a second user device.

8. A non-transitory computer-readable medium storing executable instructions that when executed by at least one processor are configured to cause the at least one processor to execute operations, the operations comprising:

receiving image data from an image sensor on a user device;

generating first identification data about a first controllable device included in the image data;

determining that a first three-dimensional (3D) map from a map database is annotated with second identification data that corresponds to the first identification data, the map database storing a plurality of 3D maps including the first 3D map and a second 3D map, the first 3D map being associated with the first controllable device, the second 3D map being associated with a second controllable device, the first 3D map being generated during a configuration process of the first controllable device, the first and second 3D maps representing different physical spaces;

comparing the image data to the first 3D map to determine that the first 3D map at least partially corresponds to a physical space represented by the image data;

obtaining a 3D position of the first controllable device in the physical space from the first 3D map; and

rendering a user interface object on a display of the user device in a location that is based on the 3D position of the first controllable device, the user interface object including a control for interacting with the first controllable device.

9. The non-transitory computer-readable medium of claim 8 , wherein the user interface object displays information about an action of the first controllable device.

10. The non-transitory computer-readable medium of claim 8 , wherein the first identification data includes information about at least one of a device name, a device type, or a space type of the physical space that includes the first controllable device.

11. The non-transitory computer-readable medium of claim 8 , wherein the user device is a first user device, wherein the operations further comprise:

transmitting an identifier of the first 3D map to a second user device, the second user device configured to use the identifier to join an augment reality (AR) session that includes at least a portion of the physical space.

12. A computing system comprising:

at least one processor; and

a non-transitory computer-readable medium storing executable instructions that cause the at least one processor to:

receive image data from an image sensor;

generate first identification data about a first controllable device included in the image data;

determine that a first three-dimensional (3D) map from a map database is annotated with second identification data that corresponds to the first identification data, the map database storing a plurality of 3D maps including the first 3D map and a second 3D map, the first 3D map being associated with the first controllable device, the second 3D map being associated with a second controllable device, the first 3D map being generated during a configuration process of the first controllable device, the first and second 3D maps representing different physical spaces;

compare the image data to the first 3D map to determine that the first 3D map at least partially corresponds to a physical space represented by the image data;

obtain a 3D position of the first controllable device in the physical space from the first 3D map; and

render a user interface object on a display in a location that is based on the 3D position of the first controllable device, the user interface object including a control for interacting with the first controllable device.

13. The computing system of claim 12 , wherein the first identification data includes information about a device name and a device type of the first controllable device.

14. The computing system of claim 12 , wherein the executable instructions include instructions that cause the at least one processor to:

generate, during the configuration process of the first controllable device, a plurality of feature points about the physical space that includes the first controllable device;

generate the first 3D map based on the plurality of feature points, the first 3D map identifying the 3D position of the first controllable device in the physical space; and

store the first 3D map in the map database.

15. The computing system of claim 12 , wherein the executable instructions include instructions that cause the at least one processor to:

transmit an identifier of the first 3D map to a user device, the user device configured to use the identifier to join an extended reality session that includes at least a portion of the physical space.

16. The computing system of claim 12 , wherein the computing system includes a head-mounted display device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2023
From: WU, SHENGZHI; FAABORG, ALEXANDER JAMES
To: GOOGLE LLC
Reel/Frame 063138/0601 →
Continuity (1)
Related Publication 20230360264A1 · Nov 9, 2023
References Cited (48)
US 8717388B2 · Matsuda · 2014 [cited by examiner]
US 9477302B2 · Kauffmann et al. · 2016 [cited by applicant]
US 10345913B2 · Jain · 2019 [cited by examiner]
US 10701661B1 · Coelho et al. · 2020 [cited by applicant]
US 20040121725A1 · Matsui · 2004 [cited by applicant]
US 20090054108A1 · Kito · 2009 [cited by examiner]
US 20090244015A1 · Sengupta · 2009 [cited by examiner]
US 20110312311A1 · Abifaker · 2011 [cited by examiner]
US 20140249657A1 · Yurasits et al. · 2014 [cited by applicant]
US 20150070319A1 · Pryor · 2015 [cited by applicant]
US 20160148417A1 · Kim · 2016 [cited by examiner]
US 20160252967A1 · Liang et al. · 2016 [cited by applicant]
US 20160283205A1 · Chen et al. · 2016 [cited by applicant]
US 20160320934A1 · Thomason · 2016 [cited by applicant]
US 20170162036A1 · Agardh et al. · 2017 [cited by applicant]
US 20180143432A1 · Li et al. · 2018 [cited by applicant]
US 20180151060A1 · Griffin · 2018 [cited by applicant]
US 20180157398A1 · Kaehler · 2018 [cited by examiner]
US 20180275762A1 · Freeman et al. · 2018 [cited by applicant]
US 20180285052A1 · Eade · 2018 [cited by examiner]
US 20180322774A1 · Wang et al. · 2018 [cited by applicant]
US 20190179509A1 · Daie · 2019 [cited by examiner]
US 20190235641A1 · Goldberg · 2019 [cited by examiner]
US 20190302714A1 · Laurent · 2019 [cited by examiner]
US 20190311544A1 · Kayo · 2019 [cited by examiner]
US 20190340836A1 · Lynen et al. · 2019 [cited by applicant]
US 20200142388A1 · Maggiore · 2020 [cited by examiner]
US 20200322178A1 · Wang · 2020 [cited by examiner]
US 20220083631A1 · Chen · 2022 [cited by examiner]
CN 110413719A · 2019 [cited by applicant]
CN 111512119A · 2020 [cited by applicant]
JP 2011164666A · 2011 [cited by applicant]
JP 2015213212A · 2015 [cited by applicant]
JP 2016533565A · 2016 [cited by applicant]
JP 2020513618A · 2020 [cited by applicant]
JP 2020098451A · 2020 [cited by applicant]
JP 2020135679A · 2020 [cited by applicant]
TW 201926992A · 2019 [cited by applicant]
TW M584455U · 2019 [cited by applicant]
WO 2016192916A1 · 2016 [cited by applicant]
WO 2017201162A1 · 2017 [cited by applicant]
WO 2018005061A1 · 2018 [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2019/014937, mailed Jun. 21, 2019, 14 pages. [cited by applicant]
International Search Report and Written Opinion for PCT Application No. PCT/US2020/070792, mailed on Aug. 4, 2021, 12 pages. [cited by applicant]
Office Action for Taiwanese Application No. 110142337 (with English Translation), mailed Jul. 28, 2022, 17 pages. [cited by applicant]
Heun, et al., “Smarter Objects: Using AR Technology To Program Physical Objects and Their Interactions”, CHI 2013: Changing Perspectives, 2013, pp. 961-966. [cited by applicant]
First Office Action (with English translation) for Chinese Application No. 202080106474.8, mailed on Sep. 4, 2024, 29 pages. [cited by applicant]
Notice of Allowance for Japanese Application No. 2023-528595 (with English translation), mailed Nov. 12, 2024, 6 pages. [cited by applicant]
Cited By (1)
US 12,724,866