Magic Leap Patent | Radar head pose localization
Patent: Radar head pose localization
Drawings: Click to check drawins
Publication Number: 20210141076
Publication Date: 20210513
Applicants: Magic Leap
Assignee: Magic Leap
Abstract
An augmented reality device has a radar system that generates radar maps of locations of real world objects. An inertial measurement unit detects measurement values such as acceleration, gravitational force and inclination ranges. The values from the measurement unit drift over time. The radar maps are processed to determine fingerprints and the fingerprints are combined with the values from the measurement unit to store a pose estimate. Pose estimates at different times are compared to determine drift of the measurement unit. A measurement unit filter is adjusted to correct for the drift.
Claims
1. An augmented reality device comprising: a head-mountable frame; a radar system that generates first and second sets of radar fingerprints of locations of real-world objects relative to the user at first and second times; a measurement unit, secured to the frame, and detecting first and second measurement values at the first and second times, each measurement value being indicative of at least one of position and movement of the measurement unit; a measurement unit filter connected to the measurement unit; a sensor fusion module connected to the radar system and the measurement unit and operable to (i) determine first and second pose estimates, the first pose estimate being based on the first set of radar fingerprints relative to the first measurement value and the second pose estimate being based on the second set of radar fingerprints relative to the second measurement value, (ii) determine a drift of the measurement unit by comparing the first pose estimate with the second pose estimate, and (iii) adjust the measurement unit filter to correct for the drift; a rendering module to determine a desired position of a rendered object based on the second pose; an eyepiece secured to the frame; and a projector secured to the frame and operable to convert data into light to generate the rendered object and displaying the rendered object in the desired position to the user through the eyepiece.
2. The augmented reality device of claim 1, wherein the radar system includes: at least a first radar device having: a first radar transmitter secured to the frame and transmitting a radio wave at first and second times in the slow domain; a first radar receiver secured to the frame and detecting the radio waves after the radio waves are reflected from a surface; a radar tracking module connected to the first radar receiver and determining first and second time intervals in a fast domain between the transmission and the detection of the radio waves, respectively; a radar mapping module connected to the radar tracking module and generating first and second radar maps of locations of real-world objects relative to the user based at least on the respective times in the fast domain; and an image processing module connected to the radar mapping module and calculating a first and second sets of radar fingerprints based on the locations of the real-world objects in the first and second radar maps, respectively. The augmented reality device of claim 2, wherein the radar system includes: at least a second radar device having: a second radar transmitter secured to the frame and transmitting a radio wave at first and second times in a slow domain; and a second radar receiver secured to the frame and detecting the radio waves transmitted by the second radar transmitter after the radio waves are reflected from a surface, wherein the radar tracking module is connected to the second radar receiver and determines first and second time intervals in the fast domain between the transmission and the detection of the respective radio waves transmitted by the second radar transmitter.
4. The augmented reality device of claim 3, wherein the radar system includes: at least a third radar device having: a third radar transmitter secured to the frame and transmitting a radio wave at first and second times in a slow domain; and a third radar receiver secured to the frame and detecting the radio waves transmitted by the third radar transmitter after the radio waves are reflected from a surface, wherein the radar tracking module is connected to the third radar receiver and determines first and second time intervals in the fast domain between the transmission and the detection of the respective radio waves transmitted by the third radar transmitter.
5. The augmented reality device of claim 2, wherein the first radar receiver detects back scatter from the surface and the image processing module calculates a texture of the surface based on the back scatter.
6. The augmented reality device of claim 1, further comprising: a visual system that includes: a visual camera mounted to the frame to capture a first and second visual images of the real-world object; a visual tracking module connected to the visual camera and storing the first and second visual images at the first and second times in the slow domain, respectively; a visual mapping module connected to the visual tracking module and generating first and second visual maps of locations of real-world objects relative to the user based on the first and second visual images; and a map merge and optimization module that refines the locations of the first and second sets of fingerprints based on the first and second visual maps, respectively.
7. The augmented reality device of claim 1, further comprising: a radar filter connected to the radar system, wherein the sensor fusion module adjusts the radar filter based on the second pose estimate.
8. The augmented reality device of claim 1, wherein the rendering module tracks a change in the second pose by receiving measurement values from the measurement device after the object is displayed in the desired location and updates the desired location of the rendered object in response to the tracking of the change in the second pose.
9. The augmented reality device of claim 1, wherein the sensor fusion module performs a coarse localization based on a wireless signal.
10. An augmented reality device comprising: a head-mountable frame; a radar system that includes: at least a first radar device having: a first radar transmitter secured to the frame and transmitting a radio wave at first and second times in a slow domain; a first radar receiver secured to the frame and detecting the radio waves after the radio waves are reflected from a surface; a radar tracking module connected to the first radar receiver and determining first and second time intervals in a fast domain between the transmission and the detection of the radio waves, respectively; a radar mapping module connected to the radar tracking module and generating first and second radar maps of locations of real-world objects relative to the user based at least on the respective times in the fast domain; an image processing module connected to the radar mapping module and calculating a first and second sets of radar fingerprints based on the locations of the real-world objects in the first and second radar maps, respectively; a measurement unit, secured to the frame, and detecting a first and second measurement values at the first and second times in the slow domain, each measurement value being indicative of at least one of position and movement of the measurement unit; a measurement unit filter connected to the measurement unit; a sensor fusion module connected to the image processing module and operable to (i) determine first and second pose estimates, the first pose estimate being based on the first set of radar fingerprints relative to the first measurement value and the second pose estimate being based on the second set of radar fingerprints relative to the second measurement value, (ii) determine drift of the measurement unit by comparing the first pose estimate with the second pose estimate, and (iii) adjust the measurement unit filter to correct for the drift; a rendering module to determine a desired position of a rendered object based on the second pose; an eyepiece secured to the frame; and a projector secured to the frame and operable to convert data into light to generate the rendered object and displaying the rendered object in the desired position to the user through the eyepiece.
11. An augmented reality device comprising: a head-mountable frame; a radar system secured to the frame that includes: a radar transmitter secured to the frame and initiates execution of a first radar cycle by transmitting a first radio wave; a radar receiver secured to the frame and detecting the first radio wave after the first radio wave is reflected from a surface; a radar tracking module connected to the radar receiver and determining a first time between the transmission and the detection of the first radio wave; a radar mapping module connected to the radar tracking module and generating a first radar map of locations of real-world objects relative to the user based at least on the first time between the transmission and the detection of the first radio wave; an image processing module connected to the radar mapping module and calculating a first set of radar fingerprints based on the locations of the real-world objects in the first radar map to complete the first radar cycle; a measurement unit, secured to the frame, and detecting a first measurement value indicative of at least one of position and movement with a measurement unit secured to the frame; a sensor fusion module connected to the image processing module and the measurement unit and determining a first pose estimate of the first set of radar fingerprints relative to the first measurement value; wherein the radar system executes a second radar cycle, including: transmitting a second radio wave; detecting the second radio wave after the second radio wave is reflected from the surface; determining a second time between the transmission and the detection of the second radio wave; generating a second radar map of locations of real-world objects relative to the user based at least on the second time between the transmission and the detection of the second radio wave; and calculating a second set of radar fingerprints based on the locations of the real-world objects in the second radar map; wherein the measurement unit detects a second measurement value indicative of a position and movement with the measurement unit secured to the frame; wherein the sensor fusion module: determines a second pose estimate of the second set of radar fingerprints relative to the second measurement value; determining drift of the measurement unit by comparing the first pose estimate with the second pose estimate; adjusts a measurement unit filter that is connected to the measurement unit to correct for the drift; a rendering module to determine a desired position of a rendered object based on the second pose; an eyepiece secured to the frame; and a projector secured to the frame and operable to convert data into light to generate the rendered object and displaying the rendered object in the desired position to the user through the eyepiece.
12. An augmented reality device comprising: a head-mountable frame; a radar system that generates first and second radar fingerprints of locations of real-world objects relative to the user at first and second times; a visual system that includes: a visual camera mounted to the frame to capture first and second visual images of the real-world objects; a visual tracking module connected to the visual camera and storing first and second visual images at the first and second time intervals, respectively; a visual mapping module connected to the visual tracking module and generating first and second visual maps of locations of real-world objects relative to the user based on the first and second visual images; a map merge and optimization module that refines the locations of the first and second sets of fingerprints based on the first and second visual maps, respectively; a rendering module to determine a desired position of a rendered object based on the first and second sets of fingerprints as refined by the map merge and optimization module; an eyepiece secured to the frame; and a projector secured to the frame and operable to convert data into light to generate the rendered object and displaying the rendered object in the desired position to the user through the eyepiece.
13. A method of displaying rendered content comprising: attaching a head-mountable frame to a head of a user; executing a plurality of radar cycles to generate first and second radar fingerprints of locations of real-world objects relative to the user at first and second times in a slow domain; detecting first and second measurement values at the first and second times in the slow domain, each measurement value being indicative of at least one of position and movement, with a measurement unit secured to the frame; determining first and second pose estimates, the first pose estimate being based on the first set of radar fingerprints relative to the first measurement value and the second pose estimate being based on the second set of radar fingerprints relative to the second measurement value; determining drift of the measurement unit by comparing the first pose estimate with the second pose estimate; adjusting a measurement unit filter that is connected to the measurement unit to correct for the drift; determining a desired position of a rendered object based on the second pose estimate; converting data into light to generate the rendered object; and displaying the rendered object in the desired position to the user through an eyepiece secured to the head-mountable frame.
14. The method of claim 13, further comprising: transmitting a radio wave at first and second times in the slow domain; detecting the radio waves after the radio waves are reflected from a surface; determining first and second time intervals in a fast domain between the transmission and the detection of the radio waves, respectively; generating first and second radar maps of locations of real-world objects relative to the user based at least on the respective times in the fast domain; and calculating a first and second sets of radar fingerprints based on the locations of the real-world objects in the first and second radar maps, respectively.
15. The method of claim 14, further comprising: detecting back scatter from the surface; and calculating a texture of the surface based on the back scatter.
16. The method of claim 13, wherein the radar cycles include: transmitting a radio wave at first and second times in the slow domain; detecting the radio waves after the radio waves are reflected from a surface; determining first and second time intervals in a fast domain between the transmission and the detection of the radio waves, respectively; generating first and second radar maps of locations of real-world objects relative to the user based at least on the respective times in the fast domain; and calculating first and second sets of radar fingerprints based on the locations of the real-world objects in the first and second radar maps, respectively.
17. A method of displaying rendered content comprising: attaching a head-mountable frame to a head of a user; executing a plurality of radar cycles, including: transmitting a radio wave at a first and second times in a slow domain; detecting the radio waves after the radio waves are reflected from a surface; determining first and second time intervals in a fast domain between the transmission and the detection of the radio waves, respectively; generating first and second radar maps of locations of real-world objects relative to the user based at least on the respective times in the fast domain; and calculating first and second sets of radar fingerprints based on the locations of the real-world objects in the first and second radar maps, respectively; detecting a first and second measurement values at the first and second times in the slow domain, each measurement value being indicative of at least one of position and movement with a measurement unit secured to the frame; determining a first and second pose estimate, the first pose estimate being based on the first set of radar fingerprints relative to the first measurement value and the second pose estimate being based on the second set of radar fingerprints relative to the second measurement value; determining drift of the measurement unit by comparing the first pose estimate with the second pose estimate; adjusting a measurement unit filter that is connected to the measurement unit to correct for the drift; determining a desired position of a rendered object based on the second pose estimate; converting data into light to generate the rendered object; and displaying the rendered object in the desired position to the user through an eyepiece secured to the head-mountable frame.
18. A method of displaying rendered content comprising: attaching a head-mountable frame to a head of a user; executing a first radar cycle, including: transmitting a first radio wave; detecting the first radio wave after the first radio wave is reflected from a surface; determining a first time between the transmission and the detection of the first radio wave; generating a first radar map of locations of real-world objects relative to the user based at least on the first time between the transmission and the detection of the first radio wave; and calculating a first set of radar fingerprints based on the locations of the real-world objects in the first radar map; detecting a first measurement value indicative of at least one of position and movement with a measurement unit secured to the frame; determining a first pose estimate of the first set of radar fingerprints relative to the first measurement value; executing a second radar cycle, including: transmitting a second radio wave; detecting the second radio wave after the second radio wave is reflected from the surface; determining a second time between the transmission and the detection of the second radio wave; generating a second radar map of locations of real-world objects relative to the user based at least on the second time between the transmission and the detection of the second radio wave; and calculating a second set of radar fingerprints based on the locations of the real-world objects in the second radar map; detecting a second measurement value indicative of a position and movement with the measurement unit secured to the frame; determining a second pose estimate of the second set of radar fingerprints relative to the second measurement value; determining drift of the measurement unit by comparing the first pose estimate with the second pose estimate; adjusting a measurement unit filter that is connected to the measurement unit to correct for the drift; determining a desired position of a rendered object based on the second pose estimate; converting data into light to generate the rendered object; and displaying the rendered object in the desired position to the user through an eyepiece secured to the head-mountable frame.
19. A method of displaying rendered content comprising: attaching a head-mountable frame to a head of a user; executing a plurality of radar cycles to generate first and second radar fingerprints of locations of real-world objects relative to the user at first and second times in the slow domain; capturing first and second visual images of the real-world objects with a visual camera mounted to the frame to; storing the first and second visual images at the first and second times in the slow domain, respectively; generating first and second visual maps of locations of real-world objects relative to the user based on the first and second visual images; refining the locations of the first and second sets of fingerprints based on the first and second visual maps, respectively; determining a desired position of a rendered object based on the first and second sets of fingerprints as refined; converting data into light to generate the rendered object; and displaying the rendered object in the desired position to the user through an eyepiece secured to the head-mountable frame.
20. An augmented reality device comprising: a head-mountable frame; a radar system that generates first and second sets of radar fingerprints of locations of real-world objects relative to the user at first and second times in the slow domain; a measurement unit, secured to the frame, and detecting first and second measurement values at the first and second times in the slow domain, each measurement value being indicative of at least one of position and movement of the measurement unit; a measurement unit filter connected to the measurement unit; a processor; a computer-readable medium connected to the processor; a set of instructions on the computer-readable medium and executable by the processor to (i) determine first and second pose estimates, the first pose estimate being based on the first set of radar fingerprints relative to the first measurement value and the second pose estimate being based on the second set of radar fingerprints relative to the second measurement value, (ii) determine a drift of the measurement unit by comparing the first pose estimate with the second pose estimate, and (iii) adjust the measurement unit filter to correct for the drift; and (iv) determine a desired position of a rendered object based on the second pose; an eyepiece secured to the frame; and a projector secured to the frame and operable to convert data into light to generate the rendered object and displaying the rendered object in the desired position to the user through the eyepiece.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority from U.S. Provisional Patent Application No. 62/678,621, filed on May 31, 2018, all of which is incorporated herein by reference in its entirety.
BACKGROUND OF THE INVENTION
1). Field of the Invention
[0002] This invention relates to an augmented reality device and to a method of displaying rendered content.
2). Discussion of Related Art
[0003] Modern computing and display technologies have facilitated development of visual perception devices such as "virtual reality" viewing devices. A virtual reality viewing device may be a wearable device that presents the user with two images, one for the left eye and one for the right eye. Objects in the images may differ from one another in a manner that allows the brain to process the objects as a three-dimensional object. When the images constantly change, movement in three-dimensions can be simulated. A virtual reality viewing device typically involves presentation of digital or virtual image information without transparency to other real-world objects.
[0004] Other visual perception devices, so called "augmented reality" viewing devices usually include technology that allows for the presentation of digital and virtual image information as an augmentation to visualization of the actual world around the user. An augmented reality viewing device may, for example, have one or more transparent eyepieces that allow the user to see real world objects behind the eyepieces. Such an eyepiece can serve as a wave guide through which laser light propagates from a laser projector towards an eye of the user. A laser light pattern created by the projector becomes visible on the retina of the eye. The retina of the eye then receives light from the real-world objects behind the eyepiece and laser light from the projector. Real world objects are thus augmented with image data from the projector, in the perception of the user.
[0005] Augmented reality devices often have technology that permit for an object to remain in a stationary position relative to real world objects, as perceived by the user, even if the user would move their head. If the user would, for example, rotate their head to the right, the rendered object has to rotate to the left within the view of the user together with real world objects. Movement of the augmented reality device may be tracked through a measurement device such as an inertial measurement unit (IMU) so that the position of the object can be adjusted via the projector.
SUMMARY OF THE INVENTION
[0006] In some embodiments, the invention provides an augmented reality device including a head-mountable frame, a radar system, a measurement unit, measurement unit filter, a sensor fusion module, a rendering module, an eyepiece and a projector. The radar system generates first and second radar maps of locations of real-world objects relative to the user at first and second times in the slow domain. The measurement unit may be secured to the frame and detects first and second measurement values at the first and second times in the slow domain, each measurement value being indicative of a position and movement of the measurement unit. The measurement unit filter may be connected to the measurement unit. The sensor fusion module may be connected to the image processing module and may be operable to (i) determine first and second pose estimates, the first pose estimate being based on the first set of radar fingerprints relative to the first measurement value and the second pose estimate being based on the second set of radar fingerprints relative to the second measurement value, (ii) determine drift of the measurement unit by comparing the first pose estimate with the second pose estimate, and (iii) adjust the measurement unit filter to correct for the drift. The rendering module determines a desired position of a rendered object based on the second pose. The eyepiece may be secured to the frame. The projector may be secured to the frame and may be operable to convert data into light to generate the rendered object and displaying the rendered object in the desired position to the user through the eyepiece.
[0007] In some embodiments, the invention also provides another augmented reality device including a head-mountable frame, a radar system, a measurement unit, measurement unit filter, a sensor fusion module, a rendering module, an eyepiece, and a projector. The radar system includes at least a first radar device that has a first radar transmitter secured to the frame and transmitting a radio wave at first and second times in a slow domain and a first radar receiver secured to the frame and detecting the radio waves after the radio waves are reflected from a surface, a radar tracking module connected to the first radar receiver and determining first and second time intervals in a fast domain between the transmission and the detection of the radio waves, respectively, a radar mapping module connected to the radar tracking module and generating first and second radar maps of locations of real-world objects relative to the user based at least on the respective times in the fast domain, an image processing module connected to the radar mapping module and calculating a first and second sets of radar fingerprints based on the locations of the real-world objects in the first and second radar maps, respectively. The measurement unit may be secured to the frame and may detects first and second measurement values at the first and second times in the slow domain, each measurement value being indicative of a position and movement of the measurement unit, a measurement unit filter connected to the measurement unit. The sensor fusion module may be connected to the image processing module and may be operable to (i) determine first and second pose estimates, the first pose estimate being based on the first set of radar fingerprints relative to the first measurement value and the second pose estimate being based on the second set of radar fingerprints relative to the second measurement value, (ii) determine drift of the measurement unit by comparing the first pose estimate with the second pose estimate, and (iii) adjust the measurement unit filter to correct for the drift. The rendering module may determine a desired position of a rendered object based on the second pose. The eyepiece may be secured to the frame. The projector may be secured to the frame and may be operable to convert data into light to generate the rendered object and displaying the rendered object in the desired position to the user through the eyepiece.
[0008] In some embodiments, the invention further provides a further augmented reality device including a head-mountable frame, a radar system, a measurement unit, measurement unit filter, a sensor fusion module, a rendering module, an eyepiece, and a projector. The radar system may be secured to the frame and may include a radar transmitter secured to the frame and initiates execution of a first radar cycle by transmitting a first radio wave, a radar receiver secured to the frame and detecting the first radio wave after the first radio wave may be reflected from a surface, a radar tracking module connected to the radar receiver and determining a first time between the transmission and the detection of the first radio wave, a radar mapping module connected to the radar tracking module and generating a first radar map of locations of real-world objects relative to the user based at least on the first time between the transmission and the detection of the first radio wave and an image processing module connected to the radar mapping module and calculating a first set of radar fingerprints based on the locations of the real-world objects in the first radar map to complete the first radar cycle. The measurement unit may be secured to the frame and may detect a first measurement value indicative of a position and movement with a measurement unit that may be secured to the frame. The sensor fusion module is connected to the image processing module. The measurement unit may determine a first pose estimate of the first set of radar fingerprints relative to the first measurement value. The radar system executes a second radar cycle, which may include transmitting a second radio wave, detecting the second radio wave after the second radio wave is reflected from the surface, determining a second time between the transmission and the detection of the second radio wave, generating a second radar map of locations of real-world objects relative to the user based at least on the second time between the transmission and the detection of the second radio wave and calculating a second set of radar fingerprints based on the locations of the real-world objects in the second radar map. The measurement unit detects a second measurement value indicative of a position and movement with the measurement unit secured to the frame. The sensor fusion module may determine a second pose estimate of the second set of radar fingerprints relative to the second measurement value, may determine drift of the measurement unit by comparing the first pose estimate with the second pose estimate, and adjusts a measurement unit filter that may be connected to the measurement unit to correct for the drift. The rendering module may determine a desired position of a rendered object based on the second pose. The eyepiece may be secured to the frame. The projector may be secured to the frame and may be operable to convert data into light to generate the rendered object and displaying the rendered object in the desired position to the user through the eyepiece.
[0009] In some embodiments, the invention also provides a method of displaying rendered content. A head-mountable frame may be attached to a head of a user. A plurality of radar cycles may be executed to generate first and second radar maps of locations of real-world objects relative to the user at first and second times in the slow domain. First and second measurement values may be detected at the first and second times in the slow domain, each measurement value being indicative of a position and movement with a measurement unit secured to the frame. A first and second pose estimate may be determined, the first pose estimate being based on the first set of radar fingerprints relative to the first measurement value and the second pose estimate being based on the second set of radar fingerprints relative to the second measurement value. A drift of the measurement unit may be determined by comparing the first pose estimate with the second pose estimate. A measurement unit filter that may be connected to the measurement unit may be adjusted to correct for the drift. A desired position of a rendered object may be determined based on the second pose estimate. Data may be converted into light to generate the rendered object and the rendered object may be displayed in the desired position to the user through an eyepiece secured to the head-mountable frame.
[0010] In some embodiments, the invention provides another method of displaying rendered content. A head-mountable frame may be attached to a head of a user. A plurality of radar cycles may be executed, including transmitting a radio wave at a first and second times in a slow domain, detecting the radio waves after the radio waves are reflected from a surface, determining first and second time intervals in a fast domain between the transmission and the detection of the radio waves, respectively, generating first and second radar maps of locations of real-world objects relative to the user based at least on the respective times in the fast domain and calculating first and second sets of radar fingerprints based on the locations of the real-world objects in the first and second radar maps, respectively. A first and second measurement values may be detected at the first and second times in the slow domain, each measurement value being indicative of a position and movement with a measurement unit secured to the frame. First and second pose estimates may be determined, the first pose estimate being based on the first set of radar fingerprints relative to the first measurement value and the second pose estimate being based on the second set of radar fingerprints relative to the second measurement value. Drift of the measurement unit may be determined by comparing the first pose estimate with the second pose estimate, adjusting a measurement unit filter that may be connected to the measurement unit to correct for the drift. A desired position of a rendered object may be determined based on the second pose estimate. Data may be converted into light to generate the rendered object and the rendered object may be displayed in the desired position to the user through an eyepiece secured to the head-mountable frame.
[0011] In some embodiments, the invention provides further method of displaying rendered content. A head-mountable frame may be attached to a head of a user. A first radar cycle may be executed that may include transmitting a first radio wave, detecting the first radio wave after the first radio wave is reflected from a surface, determining a first time between the transmission and the detection of the first radio wave, generating a first radar map of locations of real-world objects relative to the user based at least on the first time between the transmission and the detection of the first radio wave and calculating a first set of radar fingerprints based on the locations of the real-world objects in the first radar map, detecting a first measurement value indicative of a position and movement with a measurement unit secured to the frame. A first pose estimate may be determined of the first set of radar fingerprints relative to the first measurement value. A second radar cycle may be executed that may include transmitting a second radio wave, detecting the second radio wave after the second radio wave is reflected from the surface, determining a second time between the transmission and the detection of the second radio wave, generating a second radar map of locations of real-world objects relative to the user based at least on the second time between the transmission and the detection of the second radio wave and calculating a second set of radar fingerprints based on the locations of the real-world objects in the second radar map. A second measurement value may be determined that is indicative of a position and movement with the measurement unit secured to the frame. A second pose estimate may be determined of the second set of radar fingerprints relative to the second measurement value. Drift of the measurement unit may be determined by comparing the first pose estimate with the second pose estimate. A measurement unit filter that may be connected to the measurement unit may be adjusted to correct for the drift. A desired position of a rendered object may be determined based on the second pose estimate. Data may be converted into light to generate the rendered object and the rendered object may be displayed in the desired position to the user through an eyepiece secured to the head-mountable frame.
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The invention is further described by way of example with reference to the accompanying drawings, wherein:
[0013] FIG. 1 is a top plan view of an augmented reality device, according to an embodiment of the invention, and a user wearing the augmented reality device;
[0014] FIG. 2 is a perspective view illustrating the capturing of visual data for purposes of generating a visual map;
[0015] FIG. 3 is a block diagram of further components of the augmented reality device;
[0016] FIG. 4 is a flow chart illustrating how a radar system of the augmented reality device is used to correct for drift of a measurement unit of the augmented reality device;
[0017] FIG. 5 is a perspective view illustrating the use of a radar system to detect surfaces around the augmented reality device;
[0018] FIG. 6 is a time chart illustrating how a radar map is created;
[0019] FIG. 7 is a radar map that illustrates objects that are detected to determine fingerprints;
[0020] FIG. 8 is a block diagram illustrating how corrections are made to measurement unit data and radar sensor array data;
[0021] FIG. 9 is a flow chart illustrating an initiation process of the augmented reality device;
[0022] FIG. 10 illustrates a rendering, as seen by the user using the augmented reality device; and
[0023] FIG. 11 is a block diagram of a machine in the form of a computer that can find application in the present invention system, in accordance with one embodiment of the invention.
DETAILED DESCRIPTION OF THE INVENTION
[0024] An augmented reality device has a radar system that generates radar maps of locations of real world objects. An inertial measurement unit detects measurement values such as acceleration, gravitational force and inclination ranges. The values from the measurement unit drift over time. The radar maps are processed to determine fingerprints and the fingerprints may be combined with the values from the measurement unit to store a pose estimate. Pose estimates at different times may be compared to determine drift of the measurement unit. A measurement unit filter may be adjusted to correct for the drift.
[0025] Positive terms such as "is", "are", "have", etc. are preferred herein as opposed to optional terms such as "may be" or "may have", etc. Positive terms are used to comply with the requirements for (i) describing the best mode, (ii) providing a description that enables one of ordinary skill in the art to make the invention and (iii) providing an example. It should however be understood that the specific details that are described using positive terms may be modified without departing from the scope and spirit of the invention as more broadly defined in the claims.
[0026] FIG. 1 illustrates an augmented reality device 10, according to an embodiment of the invention, and a head of a user 12. The augmented reality device 10 may include a head-mountable frame 14, a radar system 16, a measurement unit 18, first and second eyepieces 20 and 22, first and second projectors 24 and 26, and a visual camera 28 that may be mounted to the frame 14.
[0027] The radar system 16 may include first, second and third radar devices 30, 32 and 34. Each radar device 30, 32 and 34 may be mounted to the frame 14. Each radar device 30, 32 and 34 has a particular orientation that allows the radar device 30, 32 or 34 to transmit and receive radio waves in a desired direction.
[0028] A radar system may comprise one or more antenna for transmitting and/or receiving signals. The radar system may have a chip with a fixed number of antenna fixed to the chip. In order to obtain the desired signal number and/or directionality, more than one chip may be used, and each chip may be placed as needed to direct the signal to the desired location. Alternatively, the radar system may have a single chip with one or more antenna that may be placed in different locations and pointing in different directions in order to obtain the desired radar signals
[0029] The measurement unit 18 may be an inertial measurement unit (IMU). The measurement unit 18 may include one or more accelerometers, a gyroscope and a magnetometer. As will be commonly understood by one of ordinary skill in the art, an accelerometer measures acceleration, the acceleration may be integrated to determine velocity, and the velocity may be integrated to determine position. The gyroscope may determine changes in angular orientation. The magnetometer may determine the direction of gravitational force and may determine an "attitude" of the measurement unit relative to the direction of gravitational force.
[0030] The projectors 24 and 26 may be operable to convert data into light (e.g. laser light, or LED light) and to generate a rendered object. The projectors 24 and 26 may have lasers that are oriented to direct laser light into the eyepieces 20 and 22, respectively. The eyepieces 20 and 22 may be waveguides that may be also transparent.
[0031] Each one of the radar devices 30, 32 or 34 has field-of-view of approximately 30.degree. and an operation range of 0.1 to 4 meters. The radar devices 30, 32 and 34 are typically operated to transmit and receive radio waves. The radio waves may be frequency modulated continuous waves. The radio waves may be millimeter-wave radar (e.g. operating in the 60 GHz band). Each radar device 30, 32 and 34 may have more than one transmission (TX) channel (e.g., two TX channels) and more than one reception (RX) channel (e.g., four RX channels) with some channels measuring redundant signal.
[0032] The visual camera 28 captures grayscale images and depth maps at approximately 60 Hz. The visual camera 28 has a field-of-view of approximately 90.degree. and an operating range of approximately 1 to 4 meters.
[0033] FIG. 2 illustrates the use of the visual system in more detail. The visual system captures objects 38 and a depth sensor may determine distances to the object 38 from the augmented reality device 10. The visual camera 28 captures images of the real world objects 38 on a continual basis. The user's head pose and position can be determined by processing imagery from the visual system using a Simultaneous Localization and Mapping (SLAM) and visual odometry procedure. The dashed lines represent further processing of the images on a continual basis. Such continual processing of the images provides data that indicates movement of the augmented reality device 10 relative to the real world objects 38. Because the depth sensor and the gravity sensor determine the locations of the real world objects 38 relative to gravitation force, and the visual camera 28 detects movement of the augmented reality device 10 relative to the real world objects 38, the movement of the augmented reality device 10 relative to gravitation force can also be calculated. Other methods of mapping a three-dimensional environment may be employed, for example using one or more cameras that are located in stationary positions within a room. However, the integration of the depth sensor and the visual system within the augmented reality device 10 provides for a more mobile application.
[0034] As shown in FIG. 3, the augmented reality device 10 may include an on-device software stack 40, a cloud database 42 and head-mounted device hardware 44.
[0035] The head-mounted device hardware 44 include the first, second and third radar devices 30, 32 and 34, the measurement unit 18, and the visual camera 28. Each radar device 30, 32 or 34 has a respective radar transmitter 46 and a respective radar receiver 48. The measurement unit 18 may include a number of measurement devices, including an accelerometer 50, a gyroscope 52 and a magnetometer 54.
[0036] All the components of the head-mounted device hardware 44 are directly or indirectly mounted to the frame 14 and are therefore stationary relative to the frame 14. The on-device software stack 40 may include a user interface 60, an application interface 62, a rendering module 64, a real-time tracking module 66, a mapping and map management module 68, a sensor fusion module 70, an image processing module 72 and a hardware abstraction layer (HAL) 74.
[0037] The real-time tracking module 66 may include a radar tracking module 76, a radar mapping module 78, a visual tracking module 80 and a visual mapping module 82. The mapping and map management module 68 may include at least one radar map 84, a visual map 86, and a map merge and optimization module 88.
[0038] The components of the on-device software stack 40 are shown as separate modules. The modules may, however, be connected to one another in the form of calls and subroutines within a computer program. The components of the on-device software stack 40 may be connected through the hardware abstraction layer 74 to components of the head-mounted device hardware 44. Of significance is that the radar tracking module 76 may be connected to the radar transmitters 46 and radar receivers 48 of the radar devices 30, 32 and 34 and that the radar mapping module 78 may be connected to the radar tracking module 76. Of significance also is that the visual tracking module 80 may be connected to the visual camera 28 and the visual mapping module 82 may be connected to the visual tracking module 80.
[0039] The radar mapping module 78 creates the radar map 84 and the visual tracking module 80 creates the visual map 86. The image processing module 72 reads the radar map 84 and the visual map 86 to determine features within the maps. Further radar maps 90 and visual maps 92 may be located within the cloud database 42. The cloud database 42 may be connected to the mapping and map management module 68 so that the radar maps 90 and the visual maps 92 can be stored in or be downloaded from the cloud database 42. The sensor fusion module 70 may be connected to the image processing module 72 and to the measurement devices of the measurement unit 18.
[0040] In use, the user 12 secures the frame 14 to their head. The frame 14 has a bridge portion 96 that rests on a nose of the user 12 and temple pieces 98 that extend over the ears of the user 12 and secure to the ears of the user 12 or secure around the back of their head. The eyepieces 20 and 22 may be located in front of eyes of the user 12. All components mounted to the frame 14, including the radar system 16 and the measurement unit 18 may be stationary relative to the head of the user 12 and move together with the head of the user 12 when the user 12 moves their head.
[0041] The visual camera 28 continually captures a grayscale image of objects in front of the user 12. The visual tracking module 80 controls the visual camera 28. The visual mapping module 82 generates the visual map 86 based on the grayscale image received from the visual camera 28. The image processing module 72 processes the visual map 86 to determine objects within the visual map 86. The latest visual map 86 may be stored as the visual map 86 within the mapping and map management module 68 and earlier maps may be stored as the visual maps 92 within the cloud database 42. A "visual system" may be thus provided by the visual camera 28, visual tracking module 80, visual mapping module 82, the visual maps 86 and 92 and the image processing module 72.
[0042] FIG. 4 illustrates subsequent functioning of the augmented reality device 10 of FIGS. 1 and 3. At 110, the world may be illuminated via the TX channels. Referring to FIG. 3, each one of the radar transmitters 46 transmits a radio wave. The radio wave may be reflected from one or more surfaces and may be then detected by the respective radar receiver 48. The radio waves have frequencies on the order of 60 GHz, which allows for very accurate distance measurements to the surface or surfaces. In addition, multiple radio waves may be transmitted and detected at a frequency in the slow domain of approximately 100 Hz to 10 kHz. The frequency in the slow domain may be high enough to ensure a very fast sampling rate of distance measurements.
[0043] As shown in FIG. 1, the radar device 32 may be directed to the front of the user 12 to detect surfaces in front of the user 12. The radar device 30 may be directed to the left of the user 12. Although not clearly shown in FIG. 1, the radar device 34 may be directed in a vertical direction, i.e. out of the paper, to detect the location of a ceiling above the user 12. In the given embodiment, the radar devices 30, 32 and 34 are all located in the same plane, although, in another embodiment, they may be located in different planes. Another embodiment may use more than three radar devices to reduce search complexity, although three radar devices are optimal because it provides for a large number of degrees of freedom to be detected without unnecessary complexity in design.
[0044] The radar devices 30, 32 and 34 may be under the control of the radar tracking module 76. The radar tracking module 76 provides the frequency in the slow domain to the radar transmitters 46. The radar tracking module 76 also samples the radio waves through the radar receivers 48 in the fast domain. As is commonly understood in the field of radar engineering, a radio wave will take longer between transmission and reception when it is reflected from a surface that is farther away than from a closer surface. The time between transmission and reception may be in the fast domain and may be an indicator of the distance of the surface from which the radio wave is reflected. Each radar receiver 48 has an array of detectors that can detect the distances to surfaces over a two-dimensional area. In addition, the radar receivers 48 detect back scatter. Different types of surfaces have different back scatter properties and the back scatter is thus a measure of the type of surface, e.g. surface roughness or texture. The distance of each surface, its location in two-dimensional space, its size and the type of surface are all eventually used to provide a fingerprint that may include the individual surfaces and the surfaces in combination.
[0045] FIG. 5 illustrates the transmission and reception of radio waves to the front, left and above the augmented reality device 10 that may be worn by the user 12. Each TX channel may transmit a respective radio wave 110A representing a respective TX signal and each RX channel may receive a respective radio wave 112A representing a respective RX signal. Surfaces are thus detected to the left and right of the augmented reality device 10 and a distance to a ceiling above the augmented reality device 10.
[0046] In FIG. 4, at 114, all IMU data may be read. The sensor fusion module 70 in FIG. 3 reads an output of the measurement unit 18, including the accelerometer 50, the gyroscope 52 and the magnetometer 54. At 116 in FIG. 4, a three-dimensional (3D) orientation of the device may be determined. In FIG. 3, the sensor fusion module 70 calculates a 3D orientation of the augmented reality device 10 based on the readings from the accelerometer 50, gyroscope 52 and the magnetometer 54.
[0047] In FIG. 4, at 118, normalized range-Doppler maps may be created. In FIG. 3, the radar mapping module 78 creates a map of all surfaces that are detected by the radar tracking module 76 and stores the map as the radar map 84. The radar map 84 may be a two-dimensional map that may include the surfaces, their locations and textures. The doppler maps may be normalized to compensate for motion (of the user, e.g. ego motion) based on data from the measurement unit 18.
[0048] Range-Doppler maps are well known in the art, and many radar sensor systems automatically create one or more range-doppler maps. In general, the system sends out one or more TX signals and one or more objects reflect the signal back (RX). The received signal may be converted to a range Doppler map using one or more manipulations, including conversion to a slow time/fast time chart, a windowed Fourier Fast Transform (FFT), and background subtraction. Other suitable methods of creating a range-Doppler map may be used, as long as the standard form is range on the y-axis and velocity on the x-axis.
[0049] FIG. 6 illustrates how a range-Doppler map may be created. FIG. 5 shows three radar sensors sending (110A), and receiving (112A) signals and in FIG. 6 each TX signal (110A) can be represented by a frequency domain graph 113 and each RX channel (112A) may be represented by a time domain graph 115. The frequency domain graph 113 shows that the respective TX channel may transmit a series of signal represented by pulses.
[0050] The time domain graph 115 shows the RX signal that is received in response to the pulses in the frequency domain graph 113. Reflected signals from objects that are farther away take a longer time to travel. Different voltage levels indicate different distances, due of the design of the RX circuitry.
[0051] The signal from the RX channel is divided into smaller sample pieces. The sample pieces of the RX signal are divided in time in accordance with the pulses in the TX signal.
[0052] Four matrices represent subsequent processing of the RX signal. The first matrix shows that the time domain graph 115 is transformed into slow time and fast time, each being represented on a respective axis. Each sample of the RX signal (between the pulses of the TX signal) is entered into its own column in the matrix. The second matrix show the result of a fast-Fourier transformation along the fast time. The fast time domain provides data regarding the range of different surfaces. Background subtraction in the third matrix allows for objects in the foreground to be isolated so that a moving object can be identified. The fourth matrix shows a fast-Fourier transformation along the slow time to create a range Doppler map that shows range and velocity on different axes.
[0053] After the range-Doppler maps have been calculated as discussed with reference to FIG. 6, the system then performs a calculation to compensate for the augmented reality device 10 due to movement of the user 12. When the correction for ego motion has been made, the system can determine whether the user 12 is moving past an object, or if the object is moving past the user 12.
[0054] The range-Doppler map only goes so far as to make a determination of the relative location of objects. For example, the range-Doppler map may show that there is a wall three feet away. A wall should not move if a correction for ego motion is made, i.e. the velocity of a wall should be zero. Without ego correction, if the user should walk towards the wall with a certain velocity, it would appear from the range Doppler map that the wall is moving. Once the system makes a correction to adjust for the ego motion, the wall will remain stationary within the range-Doppler map. The IMU data that is read at 114 in FIG. 4 is used to calculate a velocity of the user 12, which is used to correct for movement of the user.
[0055] In FIG. 4, at 120, radar fingerprints may be calculated. FIGS. 6 and 7 illustrate how radar fingerprints may be identified for one channel. Radar fingerprinting is an approach that renders a set of values that may be characteristic for given positions in a room. Of particular importance are the distances and angles to static objects. The radar fingerprint is the range-Doppler map wherein the range-Doppler map is corrected for ego motion. The only objects that are included in the radar fingerprint are the ones with zero velocity. By way of example, the stationary wall is included in the fingerprint, but not a hand of the user 12 or any effects due to movement of the user 12.
[0056] In FIG. 3, the image processing module 72 may be used to calculate the fingerprints. A radar system is thus provided that may include the radar devices 30, 32 and 34, the radar tracking module 76, the radar mapping module 78, the radar maps 84 and 90 and the image processing module 72.
[0057] In FIG. 4, the IMU data that may be read at 114 and the radar fingerprints that are calculated at 120 allow for a pose estimate to be determined at 122. Pose may be determined using geometric error minimization, although other geometric or other error minimization methods may be used. The pose estimate is a first pose estimate at a first time, t1. The IMU data is thus related to the fingerprints at t1. The pose estimate may be stored for later retrieval and later correction of IMU data at a second time, t2, in the slow domain.
[0058] In FIG. 4, at 124, the pose estimate can optionally be refined with fingerprints against the visual map 86. In FIG. 3, the map merge and optimization module 88 compares the fingerprints in the radar map 84 with the fingerprints in the visual map 86. The fingerprints in the radar map 84 are then updated with the fingerprints in the visual map 86. The latest radar map may be stored as the radar map 84 within the mapping and map management module 68 and earlier radar maps may be stored as the radar maps 90 in the cloud database 42. The radar maps 90 in the cloud database 42 can be used for additional calculations, e.g. for predictive calculations.
[0059] Referring again to FIG. 4, at 126, a determination may be made whether a match is found with an earlier pose estimate. For purposes of discussion, it may be assumed that at t1, there is no further pose estimate and the system does not proceed to 128 and 130, but instead proceeds to 132 to collect further radar data.
[0060] The sequence hereinbefore described with reference to FIG. 4 represent a first cycle at a first time t1 in the slow domain. Each radar device 30, 32 and 34 has captured surfaces and the surfaces may be used to determine a first set of radar fingerprints and a first pose may be calculated by combining the first fingerprints with data from the measurement unit 18.
[0061] At a second t2 in the slow domain, the system again proceeds to illuminate the world via the TX channels at 110. The process continues through 112 where the RX channels are read, 114 where the IMU data may be read, 116 where a 3D orientation of the device may be determined, 118 where normalized range-Doppler maps are created, 120 where radar fingerprints are calculated, 122 where a pose estimate may be determined, and 124 where the pose estimate may be refined with fingerprints from the visual map. At 126, a determination may be made whether an earlier set of radar fingerprints is available. In the present example, an earlier set of radar fingerprints was previously calculated at t1. The system then proceeds to 128 to update the pose estimate. Values that are provided by the measurement unit 18 drift over time and become inaccurate. The drifts are primarily the result of double integration of acceleration to obtain position. The amount of drift can be determined by comparing the first pose estimate with the second pose estimate. Necessary adjustments are then made to correct for the drift. The adjustments thus form an updated pose estimate. Fingerprints may only be stored long enough to correct for IMU drift and may then discarded. Fingerprints may be stored in a circular buffer or the like. More than one fingerprint can be retained, for example the last five fingerprints, so that a path of the drift can be calculated. Five or so fingerprints may also be useful for prediction IMU data drift, calculating time warping, or extrapolation purposes.
[0062] At 130, the radar map 84 is updated. The radar map 84 may need updating because it may be based on an incorrect set of data from the measurement unit 18. A comparison of the fingerprint with map allows the system to do absolute localization. "Relative localization" can be described by way of example to refer to adjusting the display of content relative to a wall that the user 12 is walking towards. "Absolute localization" can be described by way of example to refer to keeping a display of content on a table regardless even if the user would rotate their head from left to right, and/or when others can share in the experience with their own augmented reality devices.
[0063] By looking at consecutive sets of fingerprints, a unique 3D pose in a room can be obtained. The accuracy of the estimate quickly converges over time due to a high temporal frequency of the measurement unit 18 and the radar devices 30, 32 and 34. In FIG. 3, the sensor fusion module 70 may be responsible for determining each pose estimate, including a first post estimate at t1 and second pose estimate at t2. The sensor fusion module 70 also determines drift of the measurement unit 18 by comparing the first pose estimate with the second pose estimate, and makes any necessary adjustments for correcting for the drift.
[0064] FIG. 8 illustrates the measurement unit 18 and a radar sensor array 121. The radar sensor array 121 may include the radar devices 30, 32 and 34 illustrated in FIGS. 1 and 3. Measurements taken by the measurement unit 18 pass through a measurement unit filter 134. Measurements taken by the radar sensor array 121 pass through a radar Kalman filter 136. An estimate 138 from the measurement unit filter 134 and an estimate 140 from the radar Kalman filter 136 are combined to calculate a pose estimate 142. At 144, the pose estimate 142 may be used to adjust the measurement unit filter 134. The adjustment corrects for the drift in the measurement unit 18. Adjustments that may be made at 144 include acceleration bias and gyroscopic drift corrections, and position, velocity and attitude corrections.
[0065] At 146, the pose estimate 130 may be used to adjust the radar Kalman filter 136. The adjustments that may be made at measurement unit filter 134 include position, velocity and attitude corrections.
[0066] At 148, a pose resulting from the pose estimate 142 and the visual map 86 may be combined to refine the estimate with the fingerprints against the visual map 86. The refinements result in a pose that may be more accurate than the pose estimate 142, due to the refinements provided by the visual map 86.
[0067] The measurements taken in FIG. 4, including measurements by the measurement unit 18, the radar sensor array 121 and the visual map 86 are all at the same time, e.g. t2. At a later time, t3, a new set of measurements can be taken, including a new set of measurements from the measurement unit 18, the radar sensor array 121 and a new visual map 86. Alternatively, all measurements may not be taken at exactly the same time. For example, the measurement unit 18 and the radar sensor array 121 may take measurements at slightly different times. An interpolation algorithm may be used to modify the measurements to obtain sets of measurement that represent measurements if the measurements were to be taken at the same time. Furthermore, the visual map 86 may be a visual map that may be taken at an earlier time than the measurements of the measurement unit 18 and the radar sensor array 121. For example, the visual map 86 may be taken at t1 and the measurements from the measurement unit 18 and the radar sensor array 121 may be taken at t2.
[0068] FIG. 9 illustrates initialization that takes place when the augmented reality device 10 may be powered on or put on the head of the user 12. At 150, the augmented reality device 10 carries out coarse localization. The augmented reality device 10 utilizes a global positioning system (GPS) and/or WIFI and/or Bluetooth.TM. of the environment to carry out coarse geo-location of the device 10. At 152, the device 10 searches whether a visual map may be locally available or available from the cloud database 42. At 154, the system determines whether a map is available. If no map is available, then the device 10 proceeds at 156 to create a new map.
[0069] If a map is available, then the device 10 proceeds at 158 to load the map. The device 10 then proceeds to 160 to initiate relocalization. During relocalization, the device 10 uses a circular buffer of radar sensors and IMU fingerprints to determine coarse localization. The device 10 then further refines a starting position by using depth sensor input. At 162, the device 10 starts tracking its movement using IMU data.
[0070] Referring again to FIG. 3, the rendering module 64 receives computer data representing an object that has to be rendered. The rendering module 64 also determines a location of the object based on the pose resulting from FIG. 8. The rendering module 64 then provides the data of the image and its locations based on the pose to the projectors 24 and 26 in FIG. 1. The projectors 24 and 26 convert the data into laser or other light and insert the light into the eyepieces 20 and 22. The projectors 24 and 26 each generate a pattern of laser light that renders the object and renders the object at a particular location relative to the pose. The laser light then reflects within the eyepieces 20 and 22 and then exits the eyepieces 20 and 22 towards the user 12. The laser light then enters eyes of the user 12 and the user perceives the laser light on retinas of their eyes. The user 12 can also see through the eyepieces 20 and 22. The user 12 can thus see real world objects behind the eyepieces 20 and 22 and the real-world objects are augmented with the rendered object. The rendered object may be a stationary object relative to the real-world objects. When the user 12 moves their head, the measurement unit 18 detects such movement and the pose may be updated so that the pose modifies relative to the real-world objects. Because the rendered object remains stationary relative to the pose, the rendered object remains stationary relative to the real-world objects in the view of the user 12. In alternate embodiments, the rendered object may be stationary relative to the user, or the rendered object may move relative to the user or real world objects.
[0071] In FIG. 3, the user interface 60 and the application interface 62 allow a user 12 to interact with other modules of the on-device software stack 40. For example, the user 12 may modify the frequency that a visual map or a radar map may be created or IMU data may be captured.
[0072] FIG. 10 illustrates a rendering, as seen by the user 12 using the augmented reality device 10. In the given example, the rendered object is a globe 170 and its position may be fixed relative to the real-world objects 38 when the user 12 moves their head. In FIG. 3, the rendering module 64 continues to track a change in the second pose by receiving measurement values from the measurement unit 18 after the object is displayed in the desired location and updates the desired location of the rendered object in response to the tracking of the change in the second pose.
[0073] As discussed above, a person may be wearing the augmented reality device 10 and, in order for the augmented reality content to be displayed correctly, the location of the augmented reality device 10 must be known. An IMU may provide good short term position estimation, but may suffer from drift problems over time. Radar data may be more accurate in the long term (but not in the short term), so is combined with IMU data to produce improved position data for both long and short term. The combined data is only accurate for determining relative location. The combined data can for example determine that the device is 3 feet away from a wall, but the device still does not know where in the world that wall or the user is. To provide accurate absolute position data of the device, a radar fingerprint may be created from the radar and IMU data and may be compared with data from an outward facing visual camera.
[0074] FIG. 11 shows a diagrammatic representation of a machine in the exemplary form of a computer system 900 within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed. In alternative embodiments, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. Further, while only a single machine is illustrated, the term "machine" shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
[0075] The exemplary computer system 900 includes a processor 902 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 904 (e.g., read only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), etc.), and a static memory 906 (e.g., flash memory, static random access memory (SRAM), etc.), which communicate with each other via a bus 908 and a laser driver chip 912 or other light source driver.
[0076] The computer system 900 may further include a disk drive unit 916, and a network interface device 920.
[0077] The disk drive unit 916 includes a machine-readable medium 922 on which is stored one or more sets of instructions 924 (e.g., software) embodying any one or more of the methodologies or functions described herein. The software may also reside, completely or at least partially, within the main memory 904 and/or within the processor 902 during execution thereof by the computer system 900, the main memory 904 and the processor 902 also constituting machine-readable media.
[0078] The software may further be transmitted or received over a network 928 via the network interface device 920.
[0079] While the machine-readable medium 924 is shown in an exemplary embodiment to be a single medium, the term "machine-readable medium" should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term "machine-readable medium" shall also be taken to include any medium that is capable of storing, encoding, or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention. The term "machine-readable medium" shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic media, and carrier wave signals.
[0080] A laser driver chip 912 includes a data store 161 and its own processor 162. The data store 161 is used to store instruction and data structures that are specific to the operation of a laser source. The processor 162 retrieves the instructions from the data store and has access to the data structures to execute routines that drive the laser source so that the laser source generates laser light. The laser source forms part of a projector that receives data such as video data. A scanner forms part of the projector to allow the projector to display the laser light over a two-dimensional area, and in some instances in three-dimensional space with any patterns, color, saturation and other light qualities that are created by the projector being based on values in the video data.
[0081] Although a laser source and a laser driver chip 912 have been illustrated and discussed, it may be possible to use other display systems. Other display systems may for example include displays that make use of light-emitting diode (LED) technology, organic light-emitting diode (OLED) technology, superluminescent light-emitting diode (SLED), or the like.
Example Embodiments
[0082] In some embodiments, the invention provides an augmented reality device including a head-mountable frame, a radar system that generates first and second sets of radar fingerprints of locations of real-world objects relative to the user at first and second times, a measurement unit, secured to the frame, and detecting first and second measurement values at the first and second times, each measurement value being indicative of at least one of position and movement of the measurement unit, a measurement unit filter connected to the measurement unit, a sensor fusion module connected to the radar system and the measurement unit and operable to (i) determine first and second pose estimates, the first pose estimate being based on the first set of radar fingerprints relative to the first measurement value and the second pose estimate being based on the second set of radar fingerprints relative to the second measurement value, (ii) determine a drift of the measurement unit by comparing the first pose estimate with the second pose estimate, and (iii) adjust the measurement unit filter to correct for the drift, a rendering module to determine a desired position of a rendered object based on the second pose, an eyepiece secured to the frame and a projector secured to the frame and operable to convert data into light to generate the rendered object and displaying the rendered object in the desired position to the user through the eyepiece.
[0083] In some embodiments, the augmented reality device may include that the radar system includes at least a first radar device having a first radar transmitter secured to the frame and transmitting a radio wave at first and second times in the slow domain, a first radar receiver secured to the frame and detecting the radio waves after the radio waves are reflected from a surface, a radar tracking module connected to the first radar receiver and determining first and second time intervals in a fast domain between the transmission and the detection of the radio waves, respectively, a radar mapping module connected to the radar tracking module and generating first and second radar maps of locations of real-world objects relative to the user based at least on the respective times in the fast domain and an image processing module connected to the radar mapping module and calculating a first and second sets of radar fingerprints based on the locations of the real-world objects in the first and second radar maps, respectively.
[0084] In some embodiments, the augmented reality device may include that the radar system includes at least a second radar device having a second radar transmitter secured to the frame and transmitting a radio wave at first and second times in a slow domain and a second radar receiver secured to the frame and detecting the radio waves transmitted by the second radar transmitter after the radio waves are reflected from a surface, wherein the radar tracking module is connected to the second radar receiver and determines first and second time intervals in the fast domain between the transmission and the detection of the respective radio waves transmitted by the second radar transmitter.
[0085] In some embodiments, the augmented reality device may include that the radar system includes at least a third radar device having a third radar transmitter secured to the frame and transmitting a radio wave at first and second times in a slow domain; and a third radar receiver secured to the frame and detecting the radio waves transmitted by the third radar transmitter after the radio waves are reflected from a surface, wherein the radar tracking module is connected to the third radar receiver and determines first and second time intervals in the fast domain between the transmission and the detection of the respective radio waves transmitted by the third radar transmitter.
[0086] In some embodiments, the augmented reality device may include that the first radar receiver detects back scatter from the surface and the image processing module calculates a texture of the surface based on the back scatter.
[0087] In some embodiments, the augmented reality device may include a visual system that includes a visual camera mounted to the frame to capture a first and second visual images of the real-world object, a visual tracking module connected to the visual camera and storing the first and second visual images at the first and second times in the slow domain, respectively, a visual mapping module connected to the visual tracking module and generating first and second visual maps of locations of real-world objects relative to the user based on the first and second visual images and a map merge and optimization module that refines the locations of the first and second sets of fingerprints based on the first and second visual maps, respectively.
[0088] In some embodiments, the augmented reality device may include a radar filter connected to the radar system, wherein the sensor fusion module adjusts the radar filter based on the second pose estimate.
[0089] In some embodiments, the augmented reality device may include that the rendering module tracks a change in the second pose by receiving measurement values from the measurement device after the object is displayed in the desired location and updates the desired location of the rendered object in response to the tracking of the change in the second pose.
[0090] In some embodiments, the augmented reality device may include that the sensor fusion module performs a coarse localization based on a wireless signal.
[0091] In some embodiments, the invention also provides an augmented reality device including a head-mountable frame, a radar system that includes at least a first radar device having a first radar transmitter secured to the frame and transmitting a radio wave at first and second times in a slow domain, a first radar receiver secured to the frame and detecting the radio waves after the radio waves are reflected from a surface, a radar tracking module connected to the first radar receiver and determining first and second time intervals in a fast domain between the transmission and the detection of the radio waves, respectively, a radar mapping module connected to the radar tracking module and generating first and second radar maps of locations of real-world objects relative to the user based at least on the respective times in the fast domain, an image processing module connected to the radar mapping module and calculating a first and second sets of radar fingerprints based on the locations of the real-world objects in the first and second radar maps, respectively, a measurement unit, secured to the frame, and detecting a first and second measurement values at the first and second times in the slow domain, each measurement value being indicative of at least one of position and movement of the measurement unit, a measurement unit filter connected to the measurement unit, a sensor fusion module connected to the image processing module and operable to (i) determine first and second pose estimates, the first pose estimate being based on the first set of radar fingerprints relative to the first measurement value and the second pose estimate being based on the second set of radar fingerprints relative to the second measurement value, (ii) determine drift of the measurement unit by comparing the first pose estimate with the second pose estimate, and (iii) adjust the measurement unit filter to correct for the drift, a rendering module to determine a desired position of a rendered object based on the second pose, an eyepiece secured to the frame; and a projector secured to the frame and operable to convert data into light to generate the rendered object and displaying the rendered object in the desired position to the user through the eyepiece.
[0092] In some embodiments, the invention further provides an augmented reality device including a head-mountable frame, a radar system secured to the frame that includes a radar transmitter secured to the frame and initiates execution of a first radar cycle by transmitting a first radio wave, a radar receiver secured to the frame and detecting the first radio wave after the first radio wave is reflected from a surface, a radar tracking module connected to the radar receiver and determining a first time between the transmission and the detection of the first radio wave, a radar mapping module connected to the radar tracking module and generating a first radar map of locations of real-world objects relative to the user based at least on the first time between the transmission and the detection of the first radio wave, an image processing module connected to the radar mapping module and calculating a first set of radar fingerprints based on the locations of the real-world objects in the first radar map to complete the first radar cycle, a measurement unit, secured to the frame, and detecting a first measurement value indicative of at least one of position and movement with a measurement unit secured to the frame, a sensor fusion module connected to the image processing module and the measurement unit and determining a first pose estimate of the first set of radar fingerprints relative to the first measurement value, wherein the radar system executes a second radar cycle including transmitting a second radio wave, detecting the second radio wave after the second radio wave is reflected from the surface, determining a second time between the transmission and the detection of the second radio wave, generating a second radar map of locations of real-world objects relative to the user based at least on the second time between the transmission and the detection of the second radio wave and calculating a second set of radar fingerprints based on the locations of the real-world objects in the second radar map, wherein the measurement unit detects a second measurement value indicative of a position and movement with the measurement unit secured to the frame, wherein the sensor fusion module determines a second pose estimate of the second set of radar fingerprints relative to the second measurement value, determining drift of the measurement unit by comparing the first pose estimate with the second pose estimate, adjusts a measurement unit filter that is connected to the measurement unit to correct for the drift, a rendering module to determine a desired position of a rendered object based on the second pose, an eyepiece secured to the frame and a projector secured to the frame and operable to convert data into light to generate the rendered object and displaying the rendered object in the desired position to the user through the eyepiece.
[0093] In some embodiments, the invention also provides an augmented reality device including a head-mountable frame, a radar system that generates first and second radar fingerprints of locations of real-world objects relative to the user at first and second times a visual system that includes a visual camera mounted to the frame to capture first and second visual images of the real-world objects, a visual tracking module connected to the visual camera and storing first and second visual images at the first and second time intervals, respectively, a visual mapping module connected to the visual tracking module and generating first and second visual maps of locations of real-world objects relative to the user based on the first and second visual images, a map merge and optimization module that refines the locations of the first and second sets of fingerprints based on the first and second visual maps, respectively, a rendering module to determine a desired position of a rendered object based on the first and second sets of fingerprints as refined by the map merge and optimization module, an eyepiece secured to the frame and a projector secured to the frame and operable to convert data into light to generate the rendered object and displaying the rendered object in the desired position to the user through the eyepiece.
[0094] In some embodiments, the invention further provides a method of displaying rendered content including attaching a head-mountable frame to a head of a user, executing a plurality of radar cycles to generate first and second radar fingerprints of locations of real-world objects relative to the user at first and second times in a slow domain, detecting first and second measurement values at the first and second times in the slow domain, each measurement value being indicative of at least one of position and movement, with a measurement unit secured to the frame, determining first and second pose estimates, the first pose estimate being based on the first set of radar fingerprints relative to the first measurement value and the second pose estimate being based on the second set of radar fingerprints relative to the second measurement value, determining drift of the measurement unit by comparing the first pose estimate with the second pose estimate, adjusting a measurement unit filter that is connected to the measurement unit to correct for the drift, determining a desired position of a rendered object based on the second pose estimate, converting data into light to generate the rendered object and displaying the rendered object in the desired position to the user through an eyepiece secured to the head-mountable frame.
[0095] In some embodiments, the method may include transmitting a radio wave at first and second times in the slow domain, detecting the radio waves after the radio waves are reflected from a surface, determining first and second time intervals in a fast domain between the transmission and the detection of the radio waves, respectively, generating first and second radar maps of locations of real-world objects relative to the user based at least on the respective times in the fast domain and calculating a first and second sets of radar fingerprints based on the locations of the real-world objects in the first and second radar maps, respectively.
[0096] In some embodiments, the method may include detecting back scatter from the surface and calculating a texture of the surface based on the back scatter.
[0097] In some embodiments, the method may include that the radar cycles include transmitting a radio wave at first and second times in the slow domain, detecting the radio waves after the radio waves are reflected from a surface, determining first and second time intervals in a fast domain between the transmission and the detection of the radio waves, respectively, generating first and second radar maps of locations of real-world objects relative to the user based at least on the respective times in the fast domain and calculating first and second sets of radar fingerprints based on the locations of the real-world objects in the first and second radar maps, respectively.
[0098] In some embodiments, the invention also provides a method of displaying rendered content including attaching a head-mountable frame to a head of a user, executing a plurality of radar cycles, including transmitting a radio wave at a first and second times in a slow domain, detecting the radio waves after the radio waves are reflected from a surface, determining first and second time intervals in a fast domain between the transmission and the detection of the radio waves, respectively, generating first and second radar maps of locations of real-world objects relative to the user based at least on the respective times in the fast domain and calculating first and second sets of radar fingerprints based on the locations of the real-world objects in the first and second radar maps, respectively, detecting a first and second measurement values at the first and second times in the slow domain, each measurement value being indicative of at least one of position and movement with a measurement unit secured to the frame, determining a first and second pose estimate, the first pose estimate being based on the first set of radar fingerprints relative to the first measurement value and the second pose estimate being based on the second set of radar fingerprints relative to the second measurement value, determining drift of the measurement unit by comparing the first pose estimate with the second pose estimate, adjusting a measurement unit filter that is connected to the measurement unit to correct for the drift, determining a desired position of a rendered object based on the second pose estimate, converting data into light to generate the rendered object and displaying the rendered object in the desired position to the user through an eyepiece secured to the head-mountable frame.
[0099] In some embodiments, the invention further provides a method of displaying rendered content including attaching a head-mountable frame to a head of a user, executing a first radar cycle, including transmitting a first radio wave, detecting the first radio wave after the first radio wave is reflected from a surface, determining a first time between the transmission and the detection of the first radio wave, generating a first radar map of locations of real-world objects relative to the user based at least on the first time between the transmission and the detection of the first radio wave and calculating a first set of radar fingerprints based on the locations of the real-world objects in the first radar map, detecting a first measurement value indicative of at least one of position and movement with a measurement unit secured to the frame, determining a first pose estimate of the first set of radar fingerprints relative to the first measurement value, executing a second radar cycle, including transmitting a second radio wave, detecting the second radio wave after the second radio wave is reflected from the surface, determining a second time between the transmission and the detection of the second radio wave, generating a second radar map of locations of real-world objects relative to the user based at least on the second time between the transmission and the detection of the second radio wave and calculating a second set of radar fingerprints based on the locations of the real-world objects in the second radar map, detecting a second measurement value indicative of a position and movement with the measurement unit secured to the frame, determining a second pose estimate of the second set of radar fingerprints relative to the second measurement value, determining drift of the measurement unit by comparing the first pose estimate with the second pose estimate, adjusting a measurement unit filter that is connected to the measurement unit to correct for the drift, determining a desired position of a rendered object based on the second pose estimate, converting data into light to generate the rendered object and displaying the rendered object in the desired position to the user through an eyepiece secured to the head-mountable frame.
[0100] In some embodiments, the invention also provides a method of displaying rendered content including attaching a head-mountable frame to a head of a user, executing a plurality of radar cycles to generate first and second radar fingerprints of locations of real-world objects relative to the user at first and second times in the slow domain, capturing first and second visual images of the real-world objects with a visual camera mounted to the frame to, storing the first and second visual images at the first and second times in the slow domain, respectively, generating first and second visual maps of locations of real-world objects relative to the user based on the first and second visual images, refining the locations of the first and second sets of fingerprints based on the first and second visual maps, respectively, determining a desired position of a rendered object based on the first and second sets of fingerprints as refined, converting data into light to generate the rendered object; and displaying the rendered object in the desired position to the user through an eyepiece secured to the head-mountable frame.
[0101] In some embodiments, the invention further provides an augmented reality device including a head-mountable frame, a radar system that generates first and second sets of radar fingerprints of locations of real-world objects relative to the user at first and second times in the slow domain, a measurement unit, secured to the frame, and detecting first and second measurement values at the first and second times in the slow domain, each measurement value being indicative of at least one of position and movement of the measurement unit, a measurement unit filter connected to the measurement unit, a processor, a computer-readable medium connected to the processor, a set of instructions on the computer-readable medium and executable by the processor to (i) determine first and second pose estimates, the first pose estimate being based on the first set of radar fingerprints relative to the first measurement value and the second pose estimate being based on the second set of radar fingerprints relative to the second measurement value, (ii) determine a drift of the measurement unit by comparing the first pose estimate with the second pose estimate, and (iii) adjust the measurement unit filter to correct for the drift; and (iv) determine a desired position of a rendered object based on the second pose, an eyepiece secured to the frame; and a projector secured to the frame and operable to convert data into light to generate the rendered object and displaying the rendered object in the desired position to the user through the eyepiece.
[0102] While certain exemplary embodiments have been described and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative and not restrictive of the current invention, and that this invention is not restricted to the specific constructions and arrangements shown and described since modifications may occur to those ordinarily skilled in the art.