Electromechanical displacement sensor

A displacement sensor measures capacitance between a rotor-stator pair. The displacement sensor includes a plurality of stators coupled to a first object. The plurality of stators is oriented parallel to an axis of motion between the first object and a second object. The displacement sensor further includes a plurality of rotors coupled to the second object. The plurality of rotors is oriented parallel to the axis of motion. Each rotor of the plurality of rotors is aligned with and configured to receive a corresponding stator of the plurality of stators to create a respective rotor-stator pair. Capacitance between the rotor-stator pairs change as a function of position of the first object relative to the second object along the axis of motion. An amount of displacement of the first object relative to the second object is determined based in part on the capacitance values.

FIELD OF THE INVENTION

This disclosure relates generally to displacement sensors, and more specifically to electromechanical displacement sensors configured to sense displacement in up to five degrees of freedom.

BACKGROUND

Many displacement sensor devices measure the capacitance or change in capacitance between two conductive objects and derive displacement measurements for the two objects based on the measured capacitance values. Displacement measurements may include translational measurements and/or rotational measurements. When considering a standard three-dimensional coordinate system (e.g., with an x axis, a y axis, and a z axis), translational measurements are related to movement along (i.e., parallel to) the axes and rotational measurements are related to rotational movement around the axes; thus, there is a possible six degrees of freedom displacements for measuring. Typically, displacement sensor devices may measure one translational measurement only or one rotational measurement only. Accordingly, typically multiple displacement sensors are used to monitor movement along different translations and/or rotational directions.

SUMMARY

Electromechanical displacement sensors (or “displacement sensors”) measure capacitance between two objects (e.g., a first object and a second object) in order to determine an amount of displacement between the first object relative to the second object. A displacement sensor may include a plurality of stators made from conductive material coupled to the first object and oriented parallel to an axis of motion (e.g., the z axis). The plurality of stators is coupled to the first object such that movement of the first object cause the stators to move in a same direction as the first object. The displacement sensor may also include a plurality of rotors made from conductive material coupled to the second object and oriented parallel to an axis of motion (i.e., the z axis). The plurality of rotors is coupled to the second object such that movement of the second object cause the rotors to move in a same direction as the second object. During operation, for example, the second object and plurality of rotors move along the axis of motion (e.g., move in a positive or negative z direction) and/or rotate relative to an axis of motion (e.g., rotate around the x axis in a positive or negative direction and/or rotate around the y axis in a positive or negative direction). As the second object moves and/or rotates relative to the first object, capacitance between the rotors and the stators changes (i.e., increases or decreases). The capacitance is measured and analyzed to determine an amount of displacement between the second object relative to the first object. For example, change(s) in the capacitance measurements correspond to amount(s) of displacement. The displacement may be a translational displacement in the z direction, a rotational (tip) displacement, a rotational (tilt) displacement, or some combination thereof.

In some embodiments, the displacement sensor includes a plurality of stators and a plurality of rotors. The plurality of stators is coupled to a first object and oriented parallel to an axis of motion between the first object and a second object. The plurality of rotors is coupled to the second object and oriented parallel to the axis of motion. Each rotor is aligned with and configured to receive a corresponding stator to create a respective rotor-stator pair. Capacitance values of the rotor-stator pairs change as a function of position of the first object relative to the second object along the axis of motion. An amount of displacement of the first object relative to the second object is determined based in part on the capacitance values.

In some embodiments, the displacement sensor is included in a device (e.g., a headset device). The displacement sensor measures capacitance of rotor-stator pairs. The displacement sensor includes a plurality of stators coupled to a first object. The plurality of stators is oriented parallel to an axis of motion between the first object and a second object. The displacement sensor further includes a plurality of rotors coupled to the second object. The plurality of rotors is oriented parallel to the axis of motion. Each rotor of the plurality of rotors is aligned with and configured to receive a corresponding stator of the plurality of stators to create a respective rotor-stator pair. The device further includes a displacement controller. The displacement controller determines an amount of displacement of the first object relative to the second object based on the measured capacitance of the rotor-stator pairs. The measured capacitance of the rotor-stator pairs changes as a function of position of the first object relative to the second object along the axis of motion.

DETAILED DESCRIPTION

An electromechanical displacement sensor (“displacement sensor”) measures capacitance between two objects (i.e., a first object and a second object) over time. In one implementation, the displacement sensor may include a rotor assembly with a plurality of rotors coupled to the first object and a stator assembly with a plurality of stators coupled to the second object. In some embodiments, the plurality of rotors may be directly attached to the first object and/or the plurality of stators may be directly attached to the second object. The plurality of rotors is coupled to the first object such that the plurality of rotors moves in the same direction (e.g., translational and/or rotational) as the first object. The plurality of stators is coupled to the second object such that the plurality of stators moves in the same direction (e.g., translational and/or rotational) as the second object. The plurality of rotors of the rotor assembly and the plurality of stators of the stator assembly may be made from one or more conductive materials. During operation of the displacement sensor, the plurality of rotors and the plurality of stators are supplied with a voltage.

In one embodiment, each rotor and each stator may be rectangular in shape (e.g., the rotors may be hollow rectangular boxes with open bottom sides and the stators may be rectangular columns. In one embodiment, all of the rotors and all of the stators are arranged with the long sides of each rotor and the long sides of each stator arranged parallel to a first plane (e.g., the x-z plane). In this embodiment, translational motion of the objects (i.e., movement of the first object and/or the second object in the z direction) and/or rotational motion of the objects (i.e., movement of the first object and/or the second object around the y axis) may be determined.

In another embodiment, a first subset of the rotors and a first subset of the stators are arranged with their long sides aligned parallel to the first plane (i.e., the x-z plane) and a second subset of the rotors and a second subset of the stators are arranged with their long sides aligned parallel to a second plane (i.e., the y-z plane). In this embodiment, translational motion of the objects (i.e., movement of the first object and/or the second object in the z direction, in the y direction, and/or in the x direction) and/or rotational motion of the objects (i.e., movement of the first object and/or the second object around the y axis) and/or rotational motion of the objects (i.e., movement of the first object and/or the second object around the x axis) may be determined. Thus, the displacement sensor with this configuration of rotors and stators can sense displacement in up to five degrees of freedom.

Regardless of the alignment of the rotors and the stators, each rotor of the plurality of rotors is configured to receive a corresponding stator of the plurality of stators to create a respective rotor-stator pair (e.g., the hollow rectangular rotor receives the rectangular column stator within a cavity). Capacitance values measured by the displacement sensor are measured in areas within the rotor-stator pair (i.e., in between the long sides of the rotor and the stator within the cavity) as voltage is applied to the plurality of rotors and the plurality of stators.

In another implementation, the displacement sensor may include a plurality of electrodes coupled to the first object. In one embodiment, the plurality of electrodes may be directly attached to the first object. The plurality of electrodes is coupled to the first object such that the plurality of electrodes moves in the same direction (e.g., translational) as the first object. During operation of the displacement sensor, the electrodes are supplied with a voltage and generate fringe fields in the space (or area) in between the first object (and the electrodes) and the second object. The displacement sensor measures the capacitance values within the fringe fields.

The displacement sensor provides the capacitance measurements to a displacement controller for determining an amount of displacement of the objects relative to each other. The displacement sensor and the displacement controller may be part of a displacement system. With the capacitance values being directly affected by conductive surface area and indirectly affected by distance, the displacement controller may compare measured capacitance values over time to determine the amount of displacement (e.g., an amount the first object moved relative to the second object). The displacement controller may determine an amount of translational motion and/or one or two rotational motions the first object underwent relative to the second object, the second object underwent relative to the first object, or the two objects underwent relative to each other. The displacement controller may determine an amount of displacement correction needed to move one or more objects back to a nominal position.

Conventional displacement sensor devices determine only a translational motion of one object relative to another or a rotational motion. Thus, conventional displacement sensor devices may determine one degree of freedom of motion. However, objects may undergo more motion than just one degree. For example, an object may undergo a translational motion along a first axis, a rotational motion around a second axis, and a rotational motion around a third axis. In contrast, the displacement sensor described herein can determine translation as well as tip and tilt. Additionally, the two objects experiencing the translational and/or rotational motions may be of a small form factor and may undergo fine translational and/or rotational motions. Accordingly, the displacement sensor device may be a small form factor (e.g., a few square millimeters) and be able to detect the finer movements that may take place between two objects due to the structure of the displacement sensor providing an increased surface area for taking measurements and increased movable range. The displacement sensor device provides differential sensing with improved sensitivity.

FIG.1Aillustrates a translational motion130between two objects (i.e., an object110and an object120), in accordance with one or more embodiments. The translation motion130between the object110and the object120is an up and down motion of the objects110,120relative to each other. For example, the translational motion130may include the object110moving up or down and the object120remaining stationary, the object120moving up or down and the object110remaining stationary, or both the object110and the object120moving up or down. The translation motion130is parallel to an axis of motion (e.g., the z axis). A displacement sensor105may be coupled to both the object110and the object120. In another embodiment (discussed in further detail inFIG.6), the displacement sensor may be coupled to one of the object110or the object120. In one embodiment, the displacement sensor105is directly attached to the object110and the object120. The displacement sensor105performs capacitance measurements over time and provides the measurements to a displacement controller160. In one embodiment, the displacement sensor105and the displacement controller160are components of a displacement system. The structure and operation of the displacement sensor105is described in further detail inFIGS.2A-6and the displacement system is described in further detail inFIG.9.

The displacement controller160determines an amount of displacement between the two objects110,120based on the capacitance measurements provided by the displacement sensor105. For example, the object110and the object120may begin in a starting position (i.e., a nominal position) and the displacement sensor105measures a particular capacitance value between the two objects110,120. In this example, as the object110undergoes a translational motion130(e.g., moves down closer to the object120), the capacitance values measured by the displacement sensor105increase. Based on the amount of increase of the capacitance values, the amount of displacement (i.e., an amount of position change of the object110relative to the object120) may be determined by the displacement controller160.

The displacement controller160may be attached to or included within the structure of the object110or the structure of the object120. In one example implementation, the object110and the object120are components of a larger device (e.g., a headset device where the object110may be a projector, the object120may be a waveguide, and the displacement controller160may be attached to a separate component (e.g., a frame) of the headset device). This example implementation is described in further detail inFIG.7.

FIG.1Billustrates two rotational motions (i.e., a rotational motion140and a rotational motion150) between the two objects110,120ofFIG.1A. The rotational motion140may be associated with a tipping motion of the object110and/or the object120. The rotational motion150may be associated with a tilting motion of the object110and/or the object120. In one embodiment, the rotational (tip) motion140is a rotation around an axis substantially parallel to the x axis and the rotational (tilt) motion150is a rotation around an axis substantially parallel to the y axis which is perpendicular to the rotational axis of the rotational motion140. The displacement controller160may determine an amount of displacement (i.e., may determine one or more rotational measurements) between the two objects110,120based on capacitance measurements provided by the displacement sensor.

The reference axis for determining any amount of translational motion and/or tip motion and/or tilt motion is placed when the two objects110,120are parallel to each other in the x-y plane. For example, a reference axis may be placed when the two objects are in the nominal position.

FIG.2Ais a perspective view of a rotor-stator pair200of a displacement sensor, in accordance with one or more embodiments. The rotor-stator pair200includes a rotor210and a stator220. In the illustrated embodiment ofFIG.2A, the rotor210is a hollow rectangular box with an open bottom side211for receiving the stator220. In one embodiment, a top side213of the rotor210may be coupled to a first object (e.g., the object110). In some embodiments (not shown), the top side213is closed (i.e., solid with no opening). The stator220is a rectangular column. In one embodiment, a bottom side221of the stator220may be coupled to a second object (e.g., the object120). The long sides215of the rotor210are aligned parallel with the long sides225of the stator220and the short sides217of the rotor210are aligned parallel with the short sides227of the stator220. In the illustrated embodiment, the long sides215,225of both the rotor210and the stator220are aligned substantially parallel to the x-z plane and the short sides217,227of the rotor210and the stator220are aligned substantially parallel to the y-z plane. The rotor210and the stator220are aligned such that the stator220(i.e., a top side of the stator220, not shown) fits into the cavity (i.e., the hollow of the rectangular rotor210) during translational motions (i.e., motions along an axis substantially parallel to the z axis) of the rotor210, the stator220, or a combination of both. InFIG.2A, the rotor-stator pair200is illustrated in a nominal position (i.e., the stator220is partially within the cavity of the rotor210). In some embodiments, half of the stator220is inside the cavity of the rotor210in the nominal position. The nominal position is described in further detail inFIG.2C.

The rotor and the stator may have different shapes (not shown) that are asymmetrical or symmetrical. For example, the rotor may be a hollow square box with an open bottom side for receiving the stator that is in the shape of a square column. In another example, the rotor may be a hollow sphere with an open bottom portion for receiving the stator that is in the shape of a solid sphere. In this example, a diameter of the stator is less than a diameter of the rotor such that the rotor may receive the stator during translational motions. In other examples, the rotor and the stator may have triangular shapes, ovular shapes, and so on.

In some embodiments, the rotor210may experience motions (i.e., a translational motion along an axis substantially parallel to the z axis and/or a rotational motion around an axis substantially parallel to the x axis and/or a rotational motion around an axis substantially parallel to the y axis). In some embodiments, the stator220may experience motions (i.e., a translational motion along an axis substantially parallel to the z axis and/or a rotational motion around an axis substantially parallel to the x axis and/or a rotational motion around an axis substantially parallel to the y axis). An amount of rotational motion of the rotor210and an rotational amount of motion the stator220may be controlled by spacing between the long sides215,225of the rotor210and the stator220and/or spacing between the short sides217,227of the rotor210and the stator220. For example, the rotor210may rotate around an axis substantially parallel to the x axis until a long side215of the rotor210touches the long side of the stator220.

The rotor210and the stator220are made from one or more conductive materials. In some embodiments, the rotor210and/or the stator220are formed by selectively etching a semiconductor material (e.g., silicon) on the micron scale. During operation of the displacement sensor, the rotor210and the stator220are supplied with a voltage and the capacitance between the rotor210and the stator220is measured. The operation of the displacement sensor will be described in further detail inFIGS.2C,3A,3B,9and10.

FIG.2Bis a perspective view of a plurality of rotor-stator pairs205of the displacement sensor. The rotor-stator pair200described inFIG.2Amay be placed in a one-dimensional array or in a two-dimensional array with other rotor-stator pairs200to form the plurality of rotor-stator pairs205. In one embodiment, each rotor-stator pair200is separated from another rotor-stator pair200by a gap (or open space). In other embodiments, each rotor-stator pair200is positioned directly next to an adjacent rotor-stator pair200with each rotor-stator pair200touching the adjacent rotor-stator pair200. The top sides of the rotors210of the rotor-stator pairs205may be coupled to the first object and the bottom sides of the stators220of the rotor-stator pairs205may be attached to the second object.

In one embodiment, the plurality of rotor-stator pairs205may be arranged such that the rotors210and the stators220are placed side-by-side in one direction (e.g., in a row in the y direction) as illustrated inFIG.2B. In other embodiments (not shown), the plurality of rotor-stator pairs205may be arranged such that the rotors210and the stators220are placed side-by-side in two directions (e.g., in an array with rows in the y direction and columns in the x direction). The plurality of roto-stator pairs205provide greater conductive surface area when compared to a single rotor-stator pair200in a displacement sensor. An array of rotor-stator pairs205provide a means of determining finer movements between the first object and the second object based on capacitance measurements of the array of rotor-stator pairs in a nominal position versus capacitance measurements of the array in a second position as further described inFIG.2C.

FIG.2Cis a cross section of two positions (i.e., a nominal position240and a second position250) of the rotor-stator pair200ofFIG.2A. Each rotor-stator pair200in the array may have a nominal position240(e.g., a starting position for the rotor210and the stator220of each rotor-stator pair200). The nominal position240may include a portion of the stator220sized to fit within the cavity of the rotor210including none of the stator220. The stator220fits within the cavity of the rotor210with a gap between the stator220and the rotor210. Capacitance values associated with deviations from the nominal position240are used to measure, e.g., translation motion, tip motion, tilt motion, or some combination thereof.

The cross section illustrated inFIG.2Cillustrates a side view of the rotor-stator pair200looking along the x direction. In the illustrated embodiment shown inFIG.2C, the nominal position240of the rotor-stator pair200includes half of the stator220being within the cavity of the rotor210and an equal spacing between the long sides215of the rotor210and the long sides225of the stator220. This nominal position240allows for the rotor210, the stator220, or both to undergo translational motions (i.e., motions along an axis substantially parallel to the z axis and/or motions along an axis substantially parallel to the y axis) in both positive and negative directions and rotational motions (i.e., rotations around an axis substantially parallel to the x axis) in both positive and negative directions. The second position250of the rotor-stator pair200depicts the rotor210and/or the stator220having undergone a translation motion. For example, the rotor210may have moved up (i.e., in a direction substantially parallel to the positive z direction) and the stator220remained stationary.

During operation of the displacement system as voltage is applied to the rotor210and the stator220of the rotor-stator pair200, the displacement sensor may take capacitance measurements in an area219between the long sides215of the rotor210and the long sides225of the stator220. In some embodiments, the displacement sensor utilizes electrodes (e.g., electrical pads) located on a stationary portion of the displacement sensor on a rotor side and on a stator side to measure the capacitance in the area219. In some embodiments, a first capacitance measurement is taken by the displacement sensor when the rotor-stator pair200is in the nominal position240and may be provided and stored in a displacement controller (e.g., the displacement controller160). The displacement sensor may take subsequent capacitance measurements over time as the rotor210and/or the stator220move relative to each other. For example, the displacement sensor may take a second capacitance measurement in the area219between the long sides215of the rotor210and the long sides225of the stator220when the rotor-stator pair200is in the second position250. The displacement sensor may provide the second capacitance measurement to the displacement controller.

In some embodiments, the displacement controller may compare the capacitance measurements (i.e., the first capacitance measurement and the second capacitance measurement) with a predetermined lookup table or a predetermined displacement determination model to estimate an amount of displacement between the first object relative to the second object, the second object relative to the first object, or a combination of both. A predetermined lookup table or a predetermined displacement determination model describes the relation between capacitance values and amounts of displacement. For example, the predetermined lookup table and/or the predetermined displacement determination model may identify an amount of displacement of the first object relative to the second object by comparing capacitance values measured by the displacement sensor with the predetermined lookup table (or a predetermined displacement determination model).

InFIG.2C, during operation of the displacement system, the displacement controller may compare the first capacitance measurement when the rotor-stator pair200is in the nominal position240and the second capacitance measurement when the rotor-stator pair200is in the second position250to the predetermined lookup table and/or the predetermined displacement determination model to determine the amount of displacement of the rotor210relative to the stator220.

FIG.3Ais an exploded view of a displacement sensor300including a rotor assembly330and a stator assembly340in a first alignment configuration, in accordance with one or more embodiments.

The rotor assembly330includes a plurality of rotors310, armature (e.g., an armature333), and a rotor frame335. The plurality of rotors310are embodiments of the rotor210described in detail above. The plurality of rotors310are attached by armature (e.g., the armature333) on all four sides of the rotor assembly330to the rotor frame335. The rotor frame335may be attached to a stator frame345. The material properties (e.g., flexibility) of the armature is such that the plurality of rotors310have some freedom of translational movement in a direction substantially parallel to the z direction (both in the positive and negative directions), in a direction substantially parallel to the x direction (both in the positive and negative directions), and in a direction substantially parallel to the y direction (both in the positive and negative directions) and have some freedom of rotational movement around an axis substantially parallel to the x axis and/or around an axis substantially parallel to the y axis. For example, the armature333may be stiffly tuned (i.e., more rigid) on portions of the armature333that are parallel to the x-y plane and less stiffly tuned (i.e., more flexible) on portions of the armature333that are parallel to the x-z plane and to the y-z plane. In this example, the plurality of rotors310have more freedom of translational movement in a direction substantially parallel to the z direction and have less freedom of translational movement in a direction substantially parallel to the x direction, translational movement in a direction substantially parallel to the y direction, rotational movement around an axis substantially parallel to the x axis, and rotational movement around an axis substantially parallel to the y axis. In another example, the armature333may be stiffly tuned on portions of the armature333that are parallel to the x-z plane and to the y-z plane and less stiffly tuned on portions of the armature333that are parallel to the x-y plane. In this example, the plurality of rotors310have less freedom of translational movement in a direction substantially parallel to the z direction and have more freedom of translational movement in a direction substantially parallel to the x direction, translational movement in a direction substantially parallel to the y direction, rotational movement around an axis substantially parallel to the x axis and rotational movement around an axis substantially parallel to the y axis.

The stator assembly340includes a plurality of stators320and the stator frame345. The plurality of stators320are embodiments of the stator220described in detail above. The stator frame345encompasses the plurality of stators320and may be attached to an object (e.g., the object120). In some embodiments, the displacement sensor may have a length and width ranging from a few hundred micrometers to a few millimeters and a thickness ranging from approximately 500 micrometers to two millimeters. For example, the rotor assembly330and the stator assembly340may have the same dimensions (i.e., 700 micrometers×700 micrometers by 0.6 millimeters).

InFIG.3A, both the plurality of rotors310and the plurality of stators320are arranged in the first alignment configuration. The first alignment configuration includes four groupings of the plurality of rotors310and the plurality of stators320. A grouping of rotors310include one or more rotors310. A grouping of stators320include one or more stators320. As shown onFIG.3A, two of the groupings include a first subset332of the plurality of rotors310and a first subset342of the plurality of stators320aligned with the long sides of the rotors310and the long sides of the stators320parallel to the y-z plane. The other two groupings include a second subset334of the plurality of rotors310and a second subset344of the plurality of stators320aligned with the long sides of the rotors310and the long sides of the stators320parallel to the x-z plane. The plurality of rotors310and the plurality of stators320are aligned such that each stator of the plurality of stators320fits into a cavity of its corresponding rotor of the plurality of rotors310during translational motions along the axis of motion (i.e., along the z axis) forming rotor-stator pairs (e.g., the rotor-stator pairs205).

During operation of the displacement system, the plurality of rotors310and the plurality of stators320are supplied with a voltage and the displacement sensor300measures capacitance between the long sides of each rotor of the plurality of rotors310and the long sides of each stator of the plurality of stators320in each rotor-stator pair over time. For example, during a nominal position (e.g., the nominal position240) of the rotor-stator pairs, the displacement sensor300measures a first capacitance value for each rotor-stator pair. As the first object and/or second object move relative to the other, the displacement sensor300continues to measure the capacitance values over time. The displacement sensor300may measure a second capacitance value for each rotor-stator pair, a third capacitance value for each rotor-stator pair, and so on. The capacitance values are provided to and stored in a displacement controller (e.g., the displacement controller160). The displacement controller determines an amount of displacement (e.g., amounts of translational motion and/or amounts of rotational motion) that the rotor assembly330and/or the stator assembly340have undergone based on the capacitance measurement values.

In one embodiment, the displacement controller may group the capacitance measurement values. For example, the capacitance measurements of each rotor-stator pair in each row of rotor-stator pairs in each grouping may be averaged. In another example, the capacitance measurements of each rotor-stator pair in each column of rotor-stator pairs in each grouping may be averaged. In another example, each rotor-stator pair in two, three, four, or N number of rows in each grouping may be averaged. In this example, each rotor-stator pair in a same number of columns in each grouping may be averaged. Thus, keeping the number of rotor-stator pairs in each grouping equivalent. In other examples, every second, third, fourth, or Nth pair in each row of rotor-stator pairs in each grouping may be averaged. In another example, every second, third, fourth, or Nth pair in each column of rotor-stator pairs in each grouping may be averaged. In some embodiments, the displacement controller may utilize each individual capacitance measurement of each rotor-stator pair.

The displacement controller may compare the capacitance values to a predetermined lookup table and/or a predetermined displacement determination module. In some embodiments, the displacement controller may compare the averaged capacitance values to the predetermined lookup table and/or the predetermined displacement determination model to determine the amount of displacement that the rotor assembly330and/or the stator assembly340have undergone. In some embodiments, the capacitance measurements of the rotor-stator pairs of the first subset322,342may be used to determine translational motions (i.e., motion along an axis substantially parallel to the z axis and/or motion along an axis substantially parallel to the x axis) and/or rotational (tilt) motion (i.e., rotation around an axis substantially parallel to the y axis). In some embodiments, the capacitance measurement of the rotor-stator pairs of the second subset324,344may be used to determine translational motions (i.e., motion along an axis substantially parallel to the z axis and/or motion along an axis substantially parallel to the y axis) and/or rotational (tip) motion (i.e., rotation around an axis substantially parallel to the x axis). For example, for determining the rotational motions of the rotor assembly330and/or the stator assembly340the capacitance measurements may be grouped in each subset by row.

This can be seen inFIG.3Bwhere a top view350of a stator assembly360is illustrated in the first alignment configuration. The stator assembly360is substantially similar to the stator assembly340(i.e., two groupings include stators positioned in rows with each stator parallel to a first plane and a different two groupings include stators positioned in columns with each stator orthogonal to the first plane). The displacement controller receives capacitance measurement values from the displacement sensor and may group the values. The displacement controller may group (e.g., by averaging) each rotor-stator pair capacitance measurement by row and by column. For example, that capacitance measurements determined by each rotor-stator pair in row A1may be averaged, in row A2may be averaged, and so on, and the capacitance measurements determined by each rotor-stator pair in column B1, may be averaged, in column B2may be averaged, and so on.

The averaged capacitance values may be determined at any given time (e.g., when the first object and second object are positioned in a nominal position, in a second position, or in any subsequent position). In one embodiment, the displacement controller may compare the average capacitance values for each row of rotor-stator pairs to the predetermined lookup table to determine an amount of rotational motion around an axis substantially parallel to the y axis (if any) that the rotor assembly and/or the stator assembly360may have underwent. Similarly, the displacement controller may compare the average capacitance values of each column of rotor-stator pairs to the predetermined lookup table to determine rotational motions around an axis substantially parallel to the the x axis (if any has taken place). In some embodiments, the displacement controller may compare the change in average capacitance values in each row and/or in each column. For example, a substantially equal change in average capacitance values in all rows (A1, A2, . . . , AN+M) and in all columns (B1, B2, . . . , BN+M) is determined for a translational motion in the z direction. In another example, a greater change in the average capacitance values for outer rows (A1and AN+M) is determined and the average capacitance values in the columns (B1, B2, . . . , BN+M) remain substantially the same for a rotational movement around an axis substantially parallel to the x axis. In another example, a greater change in the average capacitance values for outer columns (B1and BN+M) is determined and the average capacitance values in the rows (A1, A2, . . . , AN+M) remain substantially the same for a rotational movement around an axis substantially parallel to the y axis.

The first alignment configuration illustrated inFIGS.3A and3Bof the displacement sensor may provide high resolution displacement measurement for up to five degrees of motion. Sensitivity of the displacement sensor is increased by increasing the number of rotor-stator pairs in the first alignment configuration. The first alignment configuration allows for differential sensing to take place for translational motions and/or tip motions and/or tilt motions.

In other embodiments (not shown), the plurality of rotors310and the plurality of stators320may be arranged in other various alignment configurations. The plurality of rotors310and the plurality of stators320may be arranged in a grouping that includes one or more rows of rotors and corresponding rows of stators. In one example implementation, every other row of rotor-stator pairs is aligned in a first direction (e.g., the long sides of the rotors and stators are aligned with the x-z plane) and the other rows of rotor-stator pairs are aligned orthogonal to the first direction (e.g., the long sides of the rotors and stators are aligned with the y-z plane). In another example implementation, every other rotor-stator pair in each row is aligned in a first direction and the other rotor-stator pairs in each row are aligned orthogonal to the first direction. In further example implementations, any number of rotor-stator pairs in each row may be aligned in a first direction and the other rotor-stator pairs in each row are aligned orthogonal to the first direction. In another example implementation, the rotor-stator pairs are all aligned in a similar direction. This embodiment will be further described inFIG.4.

FIG.4is a top view400of a rotor assembly430of a displacement sensor in a second alignment configuration, in accordance with one or more embodiments. The rotor assembly430is substantially similar to the rotor assembly330, except the plurality of rotors410are aligned in only direction (i.e. the second alignment configuration). For example, the long sides of the plurality of rotors410are aligned parallel to a plane (e.g., the x-z plane). The stator assembly (not shown) of the displacement sensor includes a plurality of stators aligned in the same alignment configuration as the plurality of rotors410. In the same example, the long sides of the plurality of stators are aligned such that each stator fits within a corresponding rotor of the plurality of rotors410. The displacement sensor with the rotors410and the stators in this alignment configuration may determine a translation motion and/or two rotational motions. For example, a translational motion (i.e., a motion along an axis substantially parallel to the z axis) of the rotor assembly430relative to the stator assembly may be determined when each stator in the plurality of stators is provided with a substantially similar voltage across the entire stator. In another example, a translational motion (e.g., motion along an axis substantially parallel to the z axis) and one or more rotational motions (e.g., a rotation around an axis substantially parallel to the y axis and/or a rotation around an axis substantially parallel to the x axis) of the rotor assembly430relative to the stator assembly may be determined when portions of some or all of the stators in the plurality of stators is provided with differing voltages.

FIG.5Ais a cross section of a displacement sensor510attached to two objects (i.e., the object110and the object120) in a first attachment configuration, in accordance with one or more embodiments. The displacement sensor510is an embodiment of the displacement sensor105ofFIGS.1A and1Band/or the displacement sensor300ofFIG.3A. The displacement sensor510includes a rotor assembly530and a stator assembly540. The rotor assembly530is substantially similar to the rotor assemblies330,430previously discussed and may include a plurality of rotors arranged in any alignment orientation previously discussed. The stator assembly540may include a plurality of stators arranged in a matching alignment configuration to the rotor assembly530. For simplicity, inFIG.5A, the plurality of rotors and the plurality of stators are arranged with their long sides parallel to a plane similar to the second alignment configuration discussed inFIG.4. In the first attachment configuration, the rotor assembly530is attached to the object110by a bonding material550(e.g., an adhesive, a PDMS, etc.). In one embodiment shown inFIG.5A, the bonding material550may be applied to a portion of the rotor assembly530. In another embodiment (not shown), the bonding material530may be applied to the entire top side of the rotor assembly530. In the first attachment configuration, the stator assembly540may be attached via a stator frame (e.g., the stator frame345) to the object120.

FIG.5Bis a cross section of the displacement sensor510attached to two objects (i.e., the object110and the object120) in a second attachment configuration, in accordance with one or more embodiments. In the second attachment configuration, the rotor assembly530is coupled to the object110by an opening560in the rotor assembly530that is connected to a portion of material570extending from the object110. The portion of material570may be solid or hollow. The portion of material570during translational motions along the axis of motion (e.g., along an axis substantially parallel to the z axis) is restricted from colliding with the stator assembly545. For example, the rotor assembly530is affixed to a rotor frame (e.g., the rotor frame335) by armature (e.g., armature333) that restricts the amount of translational motion the rotor assembly530may undergo. In the second attachment configuration, the stator assembly545may be attached via the stator frame to the object120.

FIG.6is a cross section of a displacement sensor600utilizing fringe field sensing, in accordance with one or more embodiments. Similar to the displacement sensors described inFIGS.1A,1B,3A, and4, the displacement sensor600measures capacitance between conductive objects. The displacement sensor600utilizing fringe field sensing includes a plurality of electrodes (e.g., an electrode630and an electrode640) coupled to the object110. The plurality of electrodes may be coupled to the object110in a one-dimensional array or in a two-dimensional array. In other embodiments (not shown), the plurality of electrodes may be coupled to the object120. Each electrode is connected to a voltage source that provides voltage to the electrode. As the voltage is applied to the electrodes, electric fields (i.e., fringe fields650) are created in the areas (e.g., an area635) between the electrodes. The capacitance is measured between each electrode in the fringe fields650. For example, as the area635between the electrode630and the electrode640changes (e.g., increases or decreases) due to a translational motion130of the object110relative to the object120, a translational motion130of the object120relative to the object110, or some combination thereof, the displacement sensor600measures changes in capacitance of the fringe fields650. The displacement sensor600, similar to the previously described displacement sensors, provides the capacitance measurements to a displacement controller (e.g., the displacement controller160) to determine the amount of translation motion130that the object110and/or the object120underwent. In one example, the capacitance measurements of each electrode are provided to the displacement controller. In another example, the capacitance measurements are averaged over a row (or over a column) and the average capacitance measurements are provided to the displacement controller. The displacement controller may compare the capacitance values to a predetermined lookup table or a predetermined displacement determination model to determine the amount of translational displacement the object110and/or the object120underwent.

FIG.7is a perspective view of a headset700implemented as an eyewear device, in accordance with one or more embodiments. In some embodiments, the eyewear device is a near eye display (NED). In general, the headset700may be worn on the face of a user such that content (e.g., media content) is presented using a display assembly and/or an audio system. However, the headset700may also be used such that media content is presented to a user in a different manner. Examples of media content presented by the headset700include one or more images, video, audio, or some combination thereof. The headset700includes a frame710, and may include, among other components, a display assembly including one or more display elements720and one or more waveguides725, one or more projectors730, one or more displacement sensors740, and a displacement controller750. WhileFIG.7illustrates the components of the headset700in example locations on the headset700, the components may be located elsewhere on the headset700, on a peripheral device paired with the headset700, or some combination thereof. Similarly, there may be more or fewer components on the headset700than what is shown inFIG.7.

The frame710holds the other components of the headset700. The frame710includes a front part that holds the one or more display elements720and end pieces (e.g., temples) to attach to a head of the user. The front part of the frame710bridges the top of a nose of the user. The length of the end pieces may be adjustable (e.g., adjustable temple length) to fit different users. The end pieces may also include a portion that curls behind the ear of the user (e.g., temple tip, ear piece).

The one or more display elements720provide light to a user wearing the headset700. As illustrated the headset includes a display element720for each eye of a user. In some embodiments, a display element720generates image light that is provided to an eyebox of the headset700. The eyebox is a location in space that an eye of user occupies while wearing the headset700. For example, a display element720may be a waveguide display that includes one or more waveguides725. A waveguide display includes a light source (e.g., one or more projectors730) and one or more waveguides725. The waveguides725and the projectors730are positioned in the interior of the frame710. Light from the projectors730is in-coupled into the one or more waveguides725which outputs the light in a manner such that there is pupil replication in an eyebox of the headset700. Thus, the waveguides725guide the light output by the projectors730. In-coupling and/or outcoupling of light from the one or more waveguides725may be done using one or more diffraction gratings. In some embodiments, the one or more projectors730include a red projector, a blue projector, and a green projector. Each projector730in-couples light into the waveguides725(e.g., the red projector in-couples light into one waveguide, the blue projector in-couples light into one waveguide, and the green projector in-couples light into one waveguide).

In some embodiments, the waveguide display includes a scanning element (e.g., waveguide, mirror, etc.) that scans light from the projector730as it is in-coupled into the one or more waveguides725. Note that in some embodiments, one or both of the display elements720are opaque and do not transmit light from a local area around the headset700. The local area is the area surrounding the headset700. For example, the local area may be a room that a user wearing the headset700is inside, or the user wearing the headset700may be outside and the local area is an outside area. In this context, the headset700generates VR content. Alternatively, in some embodiments, one or both of the display elements720are at least partially transparent, such that light from the local area may be combined with light from the one or more display elements to produce AR and/or MR content.

In some embodiments, the display element720may include an additional optics block (not shown). The optics block may include one or more optical elements (e.g., lens, Fresnel lens, etc.) that direct light from the display element720to the eyebox. The optics block may, e.g., correct for aberrations in some or all of the image content, magnify some or all of the image, or some combination thereof.

The one or more displacement sensors740are substantially similar to the displacement sensors discussed in more detail above. The displacement sensors740are positioned in the interior of the frame710. InFIG.7, the displacement sensor740is illustrated as being positioned in between the projector730and the waveguide725(i.e., the displacement sensor740is coupled to the projector730and the waveguide725). In this illustrated embodiment, the projector730may experience motion in a similar manner as the object110and the waveguide725may experience motion in a similar manner as the object120. In some embodiments (not shown), a displacement sensor740is positioned between each projector730(e.g., a red projector) and its associated waveguide725. In one embodiment, the displacement sensor740measures the capacitance between a rotor assembly attached to the projector730and a stator assembly attached to the waveguide725. In another embodiment, the displacement sensor740is a fringe field sensor (e.g., the fringe field sensor600) and measures the capacitance in the areas between electrodes. The measured capacitance values are provided by the displacement sensor740to the displacement controller750.

The displacement controller750is substantially similar to the displacement controller160described in more detail inFIGS.1A-1B. The displacement controller750determines an amount of motion of the projector730relative to the waveguide725. In some embodiments, the displacement controller750provides displacement correction instructions based on the determined amount of motion. For example, in some embodiments, the projector730may tip and/or tilt relative to the waveguide725inducing disparity in the image presented by the left and right display elements720. The displacement controller750determines displacement correction instructions to adjust the projector730accordingly. In another example, when the projector730is mounted on the eyebox side of the headset700, any tip and/or tilt motion of the projector730and waveguide725induces disparity in the image presented. The displacement controller750determines displacement correction instructions to adjust the projector730and waveguide725accordingly. In some embodiments, the rotor assembly of the displacement sensor740is attached to or part of a motor and the displacement controller750may provide displacement correction instructions to the motor. The displacement correction instructions may provide an amount of motion and a direction of motion the motor should move the rotor assembly to correct any amount of displacement determined by the displacement controller750. In some embodiments, the displacement controller750may provide displacement correction instructions (e.g., a pixel shift amount) to the projector730.

In an embodiment (not shown), the displacement sensors740may be positioned between the waveguides725and the frame710(i.e., the displacement sensors are coupled to the waveguides725and the frame710). In an example implementation, two or more displacement sensors740are located between a waveguide725and the frame710and at least one displacement sensor740is located between a projector730and a waveguide725. In this embodiment, the displacement controller750determines an amount of displacement between the waveguide725and the frame710and between the waveguide(s)725and the projector(s)730.

FIG.8Aillustrates the displacement sensor840measuring the translational motion130and the rotational (tip) motion140between a projector830and a waveguide825, in accordance with one or more embodiments. The projector830outputs image light through an aperture832towards the waveguide825. The image light is input into the waveguide825at an input822(e.g., a diffraction grating). In the illustrated embodiment ofFIG.8A, the displacement sensor840includes a rotor assembly850and a stator assembly860. The rotor assembly850and the stator assembly860are embodiments of earlier described rotor assemblies and stator assemblies ofFIGS.3A-4. The displacement sensor840measures capacitance between the individual rotors of the rotor assembly850and the individual stators of the stator assembly860and provides the measured capacitances to the displacement controller (not shown). The displacement controller determines the amount of translational motion130and/or rotational (tip) motion140the projector830may have undergone relative to the waveguide825, the amount of translational motion130and/or rotational (tip) motion140the waveguide825may have undergone relative to the projector830, or some combination thereof.

FIG.8Billustrates the displacement sensor840ofFIG.8Ameasuring the rotational (tilt) motion150between the projector830and the waveguide825. In the illustrated embodiment shown inFIG.8B, the rotational (tilt) motion150is experienced by the waveguide825relative to the projector830. In other embodiments (not shown), the rotational (tilt) motion150may be experienced by the projector830relative to the waveguide825or may be experienced by both the projector830and the waveguide825.

FIG.9is a block diagram of a displacement system900, in accordance with one or more embodiments. The displacement system900determines an amount of displacement between two objects (e.g., between the object110and the object120). In some embodiments, the displacement system900corrects the amount of displacement between the two objects. In the embodiment ofFIG.9, the displacement system900includes a displacement sensor910and a displacement controller920. Some embodiments of the displacement system900have different components than those described here. Similarly, in some cases, functions can be distributed among the components in a different manner than is described here.

The displacement sensor910is substantially similar to the displacement sensor embodiments described in further detail above (e.g., the displacement sensor105,300,400,600,840). For example, in one embodiment, the displacement sensor910measures capacitance between a plurality of rotors coupled to a first object and a plurality of stators coupled to a second object as both rotors and stators are being supplied with a voltage. In another example embodiment, the displacement sensor910measures capacitance in fringe fields between a plurality of electrodes coupled to a first object and a second object as the electrodes are being supplied with a voltage. The capacitance measurements measured by the displacement sensor910are provided to the displacement controller920. In one embodiment, the displacement sensor910is located inside a headset (e.g., the headset700), the first object may be a projector (e.g., the projector730), and the second object may be a waveguide (e.g., the waveguide725).

The displacement controller920controls operation of the displacement system900. In the embodiment ofFIG.6, the displacement controller920includes a data store930, a displacement calibration module940, displacement detection module950, and a displacement correction module960. The displacement controller920may be located inside a device (e.g., the headset), in some embodiments. Some embodiments of the displacement controller920have different components than those described here.

The data store930stores data for use by the displacement system900. Data in the data store930may include nominal position information, nominal position capacitance measurement values, other positional capacitance measurement values, a predetermined lookup table to determine translational, tip, and tilt motions, a predetermined displacement determination model to determine translational, tip, and tilt motions, threshold translational measurements, threshold rotational measurements, amounts of displacement correction, and other data relevant for use by the displacement system900, or any combination thereof.

The displacement calibration module940generates and/or updates the predetermined lookup table or the predetermined displacement determination model. In one embodiment, the displacement sensor910continuously measures capacitance values during the calibration sequence. For example, the displacement sensor910measures the capacitance values during known positions and/or known amounts of displacement of the two objects. The sample capacitance values at known amounts of displacement may be combined into the lookup table and/or the model. The displacement calibration module940updates the model during subsequent displacement determinations.

The displacement detection module950is configured to determine the amount of displacement between two objects based in part on the capacitance measurements from the displacement sensor910. The displacement detection module950may analyze the capacitance measurements to determine the amount of displacement between the two objects. In one embodiment, the displacement detection module950may compare first capacitance measurements (taken during a nominal position of the first object and the second object) and subsequent capacitance measurements (taken at one or more later times during subsequent positions of the first object and the second object) with the predetermined lookup table or the predetermined displacement detection model. The comparison of capacitance values measured by the displacement sensor910and the capacitance values included in the lookup table or model, provide the displacement detection module950with an amount of displacement between the two objects. The amount of displacement determined by the displacement detection module950may include a translation motion and/or one or more rotational motions.

The displacement correction module960is configured to determine an amount of displacement correction needed to adjust one or both objects based on the amount of displacement between the two objects. The displacement correction module960may receive the amount of displacement (e.g., the translational displacement, the tip rotational displacement, the tilt rotational displacement, or some combination thereof) from the displacement detection module950and correct the amount of displacement. In some embodiments, the displacement correction module960compares the amount of displacement with a threshold translational displacement measurement, a threshold tip rotational measurement, and a threshold tilt rotational measurement. For example, an amount of translational displacement, an amount of tip displacement, and an amount of tilt displacement determined by the displacement detection module950may be compared with a threshold translational displacement measurement, a threshold tip rotational measurement, and a threshold tilt rotational measurement by the displacement correction module960. If the translational displacement measurement, the tip displacement measurement, and/or the tilt displacement measurement is greater than or equal to its corresponding threshold displacement measurement, the displacement correction module960determines an amount of displacement correction (i.e., an amount of translational motion correction, an amount of tip rotational motion correction, an amount of tilt rotational motion correction, or some combination thereof) needed position the two objects in a nominal position. In one embodiment, the displacement correction module960may provide the displacement correction as a set of instructions to a motor attached to the one or more of the objects. The instructions may provide an amount and a direction of motion the motor should move one or more of the objects to correct for the displacement. In embodiments where the displacement sensor910is located inside a headset, the first object is a projector, and the second object is a waveguide, the displacement correction module960may provide the displacement correction as a set of instructions to the projector. The instructions may provide a pixel shift amount for the projector to shift some or all of the pixels. The shift adjusts the projected image light of the projector to compensate for the amount of displacement.

FIG.10is a flowchart illustrating a process1000for determining an amount of displacement between two objects, in accordance with one or more embodiments. The process shown inFIG.10may be performed by components of a displacement system (e.g., the displacement system900). Other entities may perform some or all of the steps inFIG.10in other embodiments. Embodiments may include different and/or additional steps or perform the steps in different orders. For example, the process1000may include steps for correcting the amount of displacement between the two objects.

The displacement system measures1010capacitance values by a displacement sensor (e.g., the displacement sensor910) over time. The displacement sensor is coupled to a first object that is substantially similar to the object110and is coupled to a second object that is substantially similar to the object120.

The displacement system detects1020an amount of displacement of the first object relative to the second object based on the capacitance values. The amount of displacement may include any amount of translational motion and/or rotational motion of the first object relative to the second object, of the second object relative to the first object, or of both objects relative to each other. In one embodiment, a displacement controller (e.g., the displacement controller920) may receive capacitance measurements from the displacement sensor. In some embodiments, the displacement controller may compare the capacitance measurements over time to determine the amount of displacement of the first object relative to the second object. The capacitance values increase or decrease as a function of position of the first object relative to the second object with the capacitance being inversely affected by distance and directly affected by conductive surface area. In one example, the displacement system may determine the amount of change between a first capacitance measurement value and a subsequent capacitance measurement value detected by the displacement sensor. The amount of change is related to an amount of motion undergone by the first object relative to the second object, by the second object relative to the first object, or some combination of both.

The displacement system determines1030a displacement correction amount based on the detected amount of displacement. In one embodiment, one or more of the first object and the second object may be adjusted (e.g., moved) to correct the amount of displacement. In one example, the displacement controller provides instructions to a motor to adjust the positioning of the first object and/or the second object to correct the displacement. In an embodiment with the displacement system integrated onto a headset device, the displacement controller determines a projector (e.g., the projector730,830) has rotated (i.e., tipped) by one degree and the displacement controller instructs a motor attached to the projector to adjust the positioning of the projector by rotating (tipping) the projector by one degree in the opposite direction. In the same embodiment with the displacement system integrated onto a headset device, the displacement controller may provide instructions (e.g., pixel shift amounts) to the projector to compensate for the amount of displacement determined by the displacement controller.

FIG.11is a system1100that includes a headset1105, in accordance with one or more embodiments. In some embodiments, the headset1105may be the headset700ofFIG.7. The system1100may operate in an artificial reality environment (e.g., a virtual reality environment, an augmented reality environment, a mixed reality environment, or some combination thereof). The system1100shown byFIG.11includes the headset1105, an input/output (I/O) interface1110that is coupled to a console1115, the network1120, and the mapping server1125. WhileFIG.11shows an example system1100including one headset1105and one I/O interface1110, in other embodiments any number of these components may be included in the system1100. For example, there may be multiple headsets each having an associated I/O interface1110, with each headset and I/O interface1110communicating with the console1115. In alternative configurations, different and/or additional components may be included in the system1100. Additionally, functionality described in conjunction with one or more of the components shown inFIG.11may be distributed among the components in a different manner than described in conjunction withFIG.11in some embodiments. For example, some or all of the functionality of the console1115may be provided by the headset1105.

The headset1105includes the display assembly1130, an optics block1135, one or more position sensors1140, a depth camera assembly (DCA)1145, an audio system1150, and a displacement system1155. Some embodiments of headset1105have different components than those described in conjunction withFIG.11. Additionally, the functionality provided by various components described in conjunction withFIG.11may be differently distributed among the components of the headset1105in other embodiments or be captured in separate assemblies remote from the headset1105.

The display assembly1130displays content to the user in accordance with data received from the console1115. The display assembly1130displays the content using one or more display elements (e.g., the display elements720). A display element may be, e.g., a waveguide display. In one example implementation, the display assembly1130includes one or more light sources (e.g., one or more projectors730) to project image light and one or more waveguides (e.g. waveguides725) to guide the image light towards the display elements. The display assembly1130may maintain the relative positioning between the one or more projectors and the one or more waveguides by using the displacement system1155. Note in some embodiments, the display elements may also include some or all of the functionality of the optics block1135.

The optics block1135may magnify image light received from the electronic display, corrects optical errors associated with the image light, and presents the corrected image light to one or both eyeboxes of the headset1105. In various embodiments, the optics block1135includes one or more optical elements. Example optical elements included in the optics block1135include: an aperture, a Fresnel lens, a convex lens, a concave lens, a filter, a reflecting surface, or any other suitable optical element that affects image light. Moreover, the optics block1135may include combinations of different optical elements. In some embodiments, one or more of the optical elements in the optics block1135may have one or more coatings, such as partially reflective or anti-reflective coatings.

Magnification and focusing of the image light by the optics block1135allows the electronic display to be physically smaller, weigh less, and consume less power than larger displays. Additionally, magnification may increase the field of view of the content presented by the electronic display. For example, the field of view of the displayed content is such that the displayed content is presented using almost all (e.g., approximately 110 degrees diagonal), and in some cases, all of the user's field of view. Additionally, in some embodiments, the amount of magnification may be adjusted by adding or removing optical elements.

In some embodiments, the optics block1135may be designed to correct one or more types of optical error. Examples of optical error include barrel or pincushion distortion, longitudinal chromatic aberrations, or transverse chromatic aberrations. Other types of optical errors may further include spherical aberrations, chromatic aberrations, or errors due to the lens field curvature, astigmatisms, or any other type of optical error. In some embodiments, content provided to the electronic display for display is pre-distorted, and the optics block1135corrects the distortion when it receives image light from the electronic display generated based on the content.

The position sensor1140is an electronic device that generates data indicating a position of the headset1105. The position sensor1140generates one or more measurement signals in response to motion of the headset1105. Examples of a position sensor1140include: one or more IMUs, one or more accelerometers, one or more gyroscopes, one or more magnetometers, another suitable type of sensor that detects motion, or some combination thereof. The position sensor1140may include multiple accelerometers to measure translational motion (forward/back, up/down, left/right) and multiple gyroscopes to measure rotational motion (e.g., pitch, yaw, roll). In some embodiments, an IMU rapidly samples the measurement signals and calculates the estimated position of the headset1105from the sampled data. For example, the IMU integrates the measurement signals received from the accelerometers over time to estimate a velocity vector and integrates the velocity vector over time to determine an estimated position of a reference point on the headset1105. The reference point is a point that may be used to describe the position of the headset1105. While the reference point may generally be defined as a point in space, however, in practice the reference point is defined as a point within the headset1105.

The DCA1145generates depth information for a portion of the local area. The DCA1145includes one or more imaging devices and a DCA controller. The DCA1145may also include an illuminator that illuminates a portion of the local area with light. The light may be, e.g., structured light (e.g., dot pattern, bars, etc.) in the infrared (IR), IR flash for time-of-flight, etc. In some embodiments, the one or more imaging devices capture images of the portion of the local area that include the light from the illuminator. The DCA controller computes depth information for the portion of the local area using the captured images and one or more depth determination techniques. The depth determination technique may be, e.g., direct time-of-flight (ToF) depth sensing, indirect ToF depth sensing, structured light, passive stereo analysis, active stereo analysis (uses texture added to the scene by light from the illuminator), some other technique to determine depth of a scene, or some combination thereof.

The audio system1150provides audio content to a user of the headset1105. The audio system1150may comprise one or acoustic sensors, one or more transducers, and an audio controller. The audio system1150may provide spatialized audio content to the user. In some embodiments, the audio system1150may request acoustic parameters from the mapping server1125over the network1120. The acoustic parameters describe one or more acoustic properties (e.g., room impulse response, a reverberation time, a reverberation level, etc.) of the local area. The audio system1150may provide information describing at least a portion of the local area from e.g., the DCA1145and/or location information for the headset1105from the position sensor1140. The audio system1150may generate one or more sound filters using one or more of the acoustic parameters received from the mapping server1125and use the sound filters to provide audio content to the user.

The displacement system1155determines an amount of displacement between two objects (e.g., between a projector and a waveguide of the display assembly1130). In some embodiments, the displacement system1155corrects the amount of displacement between the two objects. The displacement system1155may include a displacement sensor (e.g., the displacement sensor910) and a displacement controller (e.g., the displacement controller920). Operation and structure of the displacement system1155is described above in more detail.

The I/O interface1110is a device that allows a user to send action requests and receive responses from the console1115. An action request is a request to perform a particular action. For example, an action request may be an instruction to start or end capture of image or video data, or an instruction to perform a particular action within an application. The I/O interface1110may include one or more input devices. Example input devices include: a keyboard, a mouse, a game controller, or any other suitable device for receiving action requests and communicating the action requests to the console1115. An action request received by the I/O interface1110is communicated to the console1115, which performs an action corresponding to the action request. In some embodiments, the I/O interface1110includes an IMU that captures calibration data indicating an estimated position of the I/O interface1110relative to an initial position of the I/O interface1110. In some embodiments, the I/O interface1110may provide haptic feedback to the user in accordance with instructions received from the console1115. For example, haptic feedback is provided when an action request is received, or the console1115communicates instructions to the I/O interface1110causing the I/O interface1110to generate haptic feedback when the console1115performs an action.

The console1115provides content to the headset1105for processing in accordance with information received from one or more of: the DCA1145, the headset1105, and the I/O interface1110. In the example shown inFIG.11, the console1115includes an application store1160, a tracking module1165, and an engine1170. Some embodiments of the console1115have different modules or components than those described in conjunction withFIG.11. Similarly, the functions further described below may be distributed among components of the console1115in a different manner than described in conjunction withFIG.11. In some embodiments, the functionality discussed herein with respect to the console1115may be implemented in the headset1105, or a remote system.

The application store1160stores one or more applications for execution by the console1115. An application is a group of instructions, that when executed by a processor, generates content for presentation to the user. Content generated by an application may be in response to inputs received from the user via movement of the headset1105or the I/O interface1110. Examples of applications include: gaming applications, conferencing applications, video playback applications, or other suitable applications.

The tracking module1165tracks movements of the headset1105or of the I/O interface1110using information from the DCA1145, the one or more position sensors1140, or some combination thereof. For example, the tracking module1165determines a position of a reference point of the headset1105in a mapping of a local area based on information from the headset1105. The tracking module1165may also determine positions of an object or virtual object. Additionally, in some embodiments, the tracking module1165may use portions of data indicating a position of the headset1105from the position sensor1140as well as representations of the local area from the DCA1145to predict a future location of the headset1105. The tracking module1165provides the estimated or predicted future position of the headset1105or the I/O interface1110to the engine1170.

The engine1170executes applications and receives position information, acceleration information, velocity information, predicted future positions, or some combination thereof, of the headset1105from the tracking module1165. Based on the received information, the engine1170determines content to provide to the headset1105for presentation to the user. For example, if the received information indicates that the user has looked to the left, the engine1170generates content for the headset1105that mirrors the user's movement in a virtual local area or in a local area augmenting the local area with additional content. Additionally, the engine1170performs an action within an application executing on the console1115in response to an action request received from the I/O interface1110and provides feedback to the user that the action was performed. The provided feedback may be visual or audible feedback via the headset1105or haptic feedback via the I/O interface1110.

The network1120couples the headset1105and/or the console1115to the mapping server1125. The network1120may include any combination of local area and/or wide area networks using both wireless and/or wired communication systems. For example, the network1120may include the Internet, as well as mobile telephone networks. In one embodiment, the network1120uses standard communications technologies and/or protocols. Hence, the network1120may include links using technologies such as Ethernet, 802.11, worldwide interoperability for microwave access (WiMAX), 2G/3G/4G mobile communications protocols, digital subscriber line (DSL), asynchronous transfer mode (ATM), InfiniBand, PCI Express Advanced Switching, etc. Similarly, the networking protocols used on the network1120can include multiprotocol label switching (MPLS), the transmission control protocol/Internet protocol (TCP/IP), the User Datagram Protocol (UDP), the hypertext transport protocol (HTTP), the simple mail transfer protocol (SMTP), the file transfer protocol (FTP), etc. The data exchanged over the network1120can be represented using technologies and/or formats including image data in binary form (e.g. Portable Network Graphics (PNG)), hypertext markup language (HTML), extensible markup language (XML), etc. In addition, all or some of links can be encrypted using conventional encryption technologies such as secure sockets layer (SSL), transport layer security (TLS), virtual private networks (VPNs), Internet Protocol security (IPsec), etc.

The mapping server1125may include a database that stores a virtual model describing a plurality of spaces, wherein one location in the virtual model corresponds to a current configuration of a local area of the headset1105. The mapping server1125receives, from the headset1105via the network1120, information describing at least a portion of the local area and/or location information for the local area. The user may adjust privacy settings to allow or prevent the headset1105from transmitting information to the mapping server1125. The mapping server1125determines, based on the received information and/or location information, a location in the virtual model that is associated with the local area of the headset1105. The mapping server1125determines (e.g., retrieves) one or more acoustic parameters associated with the local area, based in part on the determined location in the virtual model and any acoustic parameters associated with the determined location. The mapping server1125may transmit the location of the local area and any values of acoustic parameters associated with the local area to the headset1105.

One or more components of system800may contain a privacy module that stores one or more privacy settings for user data elements. The user data elements describe the user or the headset1105. For example, the user data elements may describe a physical characteristic of the user, an action performed by the user, a location of the user of the headset1105, a location of the headset1105, an HRTF for the user, etc. Privacy settings (or “access settings”) for a user data element may be stored in any suitable manner, such as, for example, in association with the user data element, in an index on an authorization server, in another suitable manner, or any suitable combination thereof.

A privacy setting for a user data element specifies how the user data element (or particular information associated with the user data element) can be accessed, stored, or otherwise used (e.g., viewed, shared, modified, copied, executed, surfaced, or identified). In some embodiments, the privacy settings for a user data element may specify a “blocked list” of entities that may not access certain information associated with the user data element. The privacy settings associated with the user data element may specify any suitable granularity of permitted access or denial of access. For example, some entities may have permission to see that a specific user data element exists, some entities may have permission to view the content of the specific user data element, and some entities may have permission to modify the specific user data element. The privacy settings may allow the user to allow other entities to access or store user data elements for a finite period of time.

The privacy settings may allow a user to specify one or more geographic locations from which user data elements can be accessed. Access or denial of access to the user data elements may depend on the geographic location of an entity who is attempting to access the user data elements. For example, the user may allow access to a user data element and specify that the user data element is accessible to an entity only while the user is in a particular location. If the user leaves the particular location, the user data element may no longer be accessible to the entity. As another example, the user may specify that a user data element is accessible only to entities within a threshold distance from the user, such as another user of a headset within the same local area as the user. If the user subsequently changes location, the entity with access to the user data element may lose access, while a new group of entities may gain access as they come within the threshold distance of the user.

The system800may include one or more authorization/privacy servers for enforcing privacy settings. A request from an entity for a particular user data element may identify the entity associated with the request and the user data element may be sent only to the entity if the authorization server determines that the entity is authorized to access the user data element based on the privacy settings associated with the user data element. If the requesting entity is not authorized to access the user data element, the authorization server may prevent the requested user data element from being retrieved or may prevent the requested user data element from being sent to the entity. Although this disclosure describes enforcing privacy settings in a particular manner, this disclosure contemplates enforcing privacy settings in any suitable manner.

The foregoing description of the embodiments has been presented for illustration; it is not intended to be exhaustive or to limit the patent rights to the precise forms disclosed. Persons skilled in the relevant art can appreciate that many modifications and variations are possible considering the above disclosure.