US 11,704,881 B2
Computer systems and methods for navigating building information models in an augmented environment
Kevin McKee, Carpinteria, CA (US); Jon Hoover, Camarillo, CA (US); Christopher Bindloss, Santa Barbara, CA (US); David McCool, Carpinteria, CA (US); Winson Chu, Alameda, CA (US); and Christopher Myers, Oakland, CA (US)
Assigned to Procore Technologies, Inc., Carpinteria, CA (US)
Filed by Procore Technologies, Inc., Carpinteria, CA (US)
Filed on Jan. 10, 2022, as Appl. No. 17/572,326.
Application 17/572,326 is a continuation of application No. 16/920,138, filed on Jul. 2, 2020, granted, now 11,222,475.
Claims priority of provisional application 62/964,531, filed on Jan. 22, 2020.
Prior Publication US 2022/0130122 A1, Apr. 28, 2022
Int. Cl. G06T 19/00 (2011.01); G06F 3/04845 (2022.01); G06F 3/04815 (2022.01); G06F 3/16 (2006.01)
CPC G06T 19/006 (2013.01) [G06F 3/04815 (2013.01); G06F 3/04845 (2013.01); G06F 3/167 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computing device comprising:
one or more sensors;
a user input interface;
a display screen;
at least one processor;
a non-transitory computer-readable medium; and
program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing device is configured to:
based on user input, determine an initial position and orientation of the computing device within a virtual three-dimensional (3D) model of a real-world environment;
capture, via the one or more sensors, sensor data that is representative of the real-world environment surrounding the computing device;
based on an analysis of the captured sensor data, detect at least one object in the real-world environment surrounding the computing device;
compare the at least one detected object to data defining physical elements that are represented within the virtual 3D model;
based on the comparison, identify a given physical element represented within the virtual 3D model that matches the detected object;
update one or more of a position, an orientation, or a presentation of the virtual 3D model of the real-world environment in order to align the given physical element represented within the virtual 3D model with the detected object in the real-world environment surrounding the computing device; and
cause the display screen to present the aligned virtual 3D model as overlaid virtual content on a view of the real-world environment surrounding the computing device.