Mapping and localization of a passable world
An augmented reality (AR) device can be configured to generate a virtual representation of a user's physical environment. The AR device can capture images of the user's physical environment to generate or identify a user's location. The AR device can project graphics at designated locations within the user's environment to guide the user to capture images of the user's physical environment. The AR device can provide visual, audible, or haptic guidance to direct the user of the AR device to explore the user's environment.
1 . An augmented reality (AR) system comprising:
an AR display configured to present virtual content to a user of the AR system;
an outward facing camera configured to capture one or more images of an environment of the user, wherein a portion of the environment of the user visible to the user comprises the Field of View (FOV) of the user; and
a hardware processor in communication with the AR display and the outward facing camera, the hardware processor programmed to:
receive a user selection of a map; generate a plurality of raycasts from a point of origin comprising a location associated with the head of the user;
analyze the plurality of raycasts to identify a raycast associated with an unmapped location of the environment;
update the virtual content to include a graphic associated with the unmapped location;
direct the user to observe the graphic;
collect data associated with the environment of the user;
in response to collecting sufficient data associated with the unmapped location, signal to the user that data was successfully collected; and
in response to determining that at least one marker within the collected data correspond to at least one marker in the map, displaying virtual reality content associated with the map; or in response to determining that no marker in the collected data corresponds to a marker in the map, repeating said updating, directing, collecting, and signaling for another unmapped location, wherein to signal to the user that data was successfully collected at an unobserved location, the hardware processor is configured to display an animation associated with the graphic at the unobserved location.
2 . The AR system of claim 1 , wherein the at least one marker comprises at least one persistent coordinate frame (PCF).
3 . The AR system of claim 1 , wherein to analyze the plurality of raycasts, the hardware processor is configured to, for a raycast:
determine a presence of a mesh along the raycast;
calculate a distance of the mesh along the raycast; and
determine a raycast type comprising a content type, no content type, or unobserved type based on the presence of the mesh, the presence of the content, and the distance of the mesh.
4 . The AR system of claim 3 , wherein the content type comprises a raycast with content on the mesh within a maximum distance from at least one of: the user and other unobserved locations.
5 . The AR system of claim 4 , wherein the maximum distance is 2 meters.
6 . The AR system of claim 4 , wherein the no content type comprises a raycast with no content on the mesh within the maximum distance.
7 . The AR system of claim 4 , wherein the unobserved type comprises a raycast with unknown content within the maximum distance.
8 . The AR system of claim 1 , wherein the hardware processor is configured to display a graphic at a center of a FOV of the user.
9 . The AR system of claim 8 , wherein the hardware processor is configured to display the graphic at the center of the FOV of the user prior to generating the graphic at the unobserved location.
10 . The AR system of claim 8 , wherein the hardware processor is configured to: direct the user to observe the graphic at the center of the FOV of the user; and signal to the user that data was successfully collected near the unobserved location, wherein the collected data comprises data associated with the center of the FOV of the user.
11 . The AR system of claim 1 , wherein to display the animation, the AR system is configured to: generate at least one bubble associated with the graphic; determine a collision trajectory associated with the at least one bubble; animate the at least one bubble to move along the collision trajectory towards a collision location on a mesh associated with a map of the environment of the user; and display a collision of the at least one bubble with the mesh.
12 . The AR system of claim 1 , wherein to direct a user to observe the graphic, the hardware processor is configured to display an indicator ring based on the unobserved location with respect to the position of the user.