Abstract:
Sensory feedback (“chaperoning”) systems and methods for guiding users in virtual/augmented reality environments such as walk-around virtual reality environments are described. Exemplary implementations assist with preventing collisions with objects in the physical operating space in which the user acts, among other potential functions and/or uses.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims the benefit of Provisional Application Ser. Nos. 62/075,742, filed on Nov. 5, 2014, and 62/126,695, filed on Mar. 1, 2015, and the contents of both of those applications are herein incorporated by reference in their entirety. 
     
    
     BACKGROUND OF THE DISCLOSURE 
       [0002]    1. Field of the Disclosure 
         [0003]    The disclosure relates generally to sensory feedback systems and methods for guiding users in virtual/augmented reality environments such as walk-around virtual reality environments and for assisting with preventing collisions with objects in the physical operating space in which the user acts. 
         [0004]    2. General Background 
         [0005]    Various augmented and/or virtual reality systems and/or environments are known. One current generation of desktop virtual reality (“VR”) experiences is created using head-mounted displays (“HMDs”), which can be tethered to a stationary computer (such as a personal computer (“PC”), laptop, or game console), or self-contained. Such desktop VR experiences generally try to be fully immersive and disconnect the users&#39; senses from their surroundings. 
         [0006]    Collisions with physical objects when using a walk-around virtual reality system are currently solved in certain situations by either having a second person in the operating space (a “chaperone”) guiding the user, and/or by providing physical hints (e.g., by placing a thick carpet on the floor that ends some distance from the adjacent walls). 
         [0007]    It is desirable to address the current limitations in this art. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0008]    By way of example, reference will now be made to the accompanying drawings, which are not to scale. 
           [0009]      FIG. 1  is an exemplary diagram of a computing device that may be used to implement aspects of certain embodiments of the present invention. 
           [0010]      FIG. 2  is an exemplary diagram of a human user wearing a head-mounted virtual reality apparatus comprising optical receivers and sensors that may be used to implement aspects of certain embodiments of the present invention. 
           [0011]      FIG. 3  is an exemplary diagram of a transmitter/receiver configuration in an optical positional tracking system that may be used to implement aspects of certain embodiments of the present invention. 
           [0012]      FIG. 4  is an exemplary diagram of a head-mounted virtual reality display with four optical receivers that may be used to implement aspects of certain embodiments of the present invention. 
           [0013]      FIG. 5  depicts an exemplary display according to certain embodiments, in which soft bounds are visible on the floor as a translucent polygon and have been defined by the player, and in which hard bounds are visible as a grid of glowing lines that indicate the position of a physical wall in a player&#39;s real-life space. 
           [0014]      FIG. 6  depicts an exemplary display according to certain embodiments, in which two in-headset views of hard-bounds chaperoning systems are shown, warning a user of an impending collision, and in which the depicted grids indicate real-world wall positions. 
           [0015]      FIG. 7  depicts an exemplary display according to certain embodiments, depicting an example of using soft bounds data for placement of other elements in a game scene that help frame the player&#39;s experience. 
           [0016]      FIG. 8  depicts an exemplary display according to certain embodiments, depicting an example of rendering a pattern on the walls of a virtual space to visually alert a user as to the location of physical boundaries in the real operating space surrounding the user. 
           [0017]      FIG. 9  depicts an exemplary display according to certain embodiments, depicting another example of rendering a pattern on the walls of a virtual space to visually alert a user as to the location of physical boundaries in the real operating space surrounding the user. 
           [0018]      FIG. 10  depicts an exemplary display according to certain embodiments, depicting another example of rendering a pattern on the walls of a virtual space to visually alert a user as to the location of physical boundaries in the real operating space surrounding the user. 
           [0019]      FIG. 11  depicts an exemplary display according to certain embodiments, depicting another example of rendering a pattern on the walls of a virtual space to visually alert a user as to the location of physical boundaries in the real operating space surrounding the user. 
           [0020]      FIG. 12  depicts an exemplary display according to certain embodiments, depicting an example of rendering a pattern on the floor of a virtual space to visually alert a user/developer as to the location of physical boundaries in the real operating space surrounding the user. 
       
    
    
     DETAILED DESCRIPTION 
       [0021]    Those of ordinary skill in the art will realize that the following description of the present invention is illustrative only and not in any way limiting. Other embodiments of the invention will readily suggest themselves to such skilled persons, having the benefit of this disclosure, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present invention. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein. Reference will now be made in detail to specific implementations of the present invention as illustrated in the accompanying drawings. The same reference numbers will be used throughout the drawings and the following description to refer to the same or like parts. 
         [0022]    The data structures and code described in this detailed description are typically stored on a computer readable storage medium, which may be any device or medium that can store code and/or data for use by a computer system. This includes, but is not limited to, magnetic and optical storage devices such as disk drives, magnetic tape, CDs (compact discs) and DVDs (digital versatile discs or digital video discs), and computer instruction signals embodied in a transmission medium (with or without a carrier wave upon which the signals are modulated). For example, the transmission medium may include a communications network, such as the Internet. 
         [0023]      FIG. 1  is an exemplary diagram of a computing device  100  that may be used to implement aspects of certain embodiments of the present invention. Computing device  100  may include a bus  101 , one or more processors  105 , a main memory  110 , a read-only memory (ROM)  115 , a storage device  120 , one or more input devices  125 , one or more output devices  130 , and a communication interface  135 . Bus  101  may include one or more conductors that permit communication among the components of computing device  100 . Processor  105  may include any type of conventional processor, microprocessor, or processing logic that interprets and executes instructions. Main memory  110  may include a random-access memory (RAM) or another type of dynamic storage device that stores information and instructions for execution by processor  105 . ROM  115  may include a conventional ROM device or another type of static storage device that stores static information and instructions for use by processor  105 . Storage device  120  may include a magnetic and/or optical recording medium and its corresponding drive. Input device(s)  125  may include one or more conventional mechanisms that permit a user to input information to computing device  100 , such as a keyboard, a mouse, a pen, a stylus, handwriting recognition, voice recognition, biometric mechanisms, and the like. Output device(s)  130  may include one or more conventional mechanisms that output information to the user, including a display, a projector, an A/V receiver, a printer, a speaker, and the like. Communication interface  135  may include any transceiver-like mechanism that enables computing device/server  100  to communicate with other devices and/or systems. Computing device  100  may perform operations based on software instructions that may be read into memory  110  from another computer-readable medium, such as data storage device  120 , or from another device via communication interface  135 . The software instructions contained in memory  110  cause processor  105  to perform processes that will be described later. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement processes consistent with the present invention. Thus, various implementations are not limited to any specific combination of hardware circuitry and software. 
         [0024]    In certain embodiments, memory  110  may include without limitation high-speed random access memory, such as DRAM, SRAM, DDR RAM or other random access solid state memory devices; and may include without limitation non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices. Memory  110  may optionally include one or more storage devices remotely located from the processor(s)  105 . Memory  110 , or one or more of the storage devices (e.g., one or more non-volatile storage devices) in memory  110 , may include a computer readable storage medium. In certain embodiments, memory  110  or the computer readable storage medium of memory  110  may store one or more of the following programs, modules and data structures: an operating system that includes procedures for handling various basic system services and for performing hardware dependent tasks; a network communication module that is used for connecting computing device  110  to other computers via the one or more communication network interfaces and one or more communication networks, such as the Internet, other wide area networks, local area networks, metropolitan area networks, and so on; a client application that may permit a user to interact with computing device  100 . 
         [0025]    Certain embodiments of the present invention comprise a trackable head-mounted display (“HMD”) with at least three degrees of freedom in an operating space and optionally one or more sensors with at least two degrees of freedom of positional tracking. The HMD and the optional sensors provide sensory input to a controller, which in turn provides sensory feedback to the HMD or another output device. Without limitation, the HMD may be tethered to a stationary computer (such as a personal computer (“PC”), laptop, or game console), or alternatively may be self-contained (i.e., with some or all sensory inputs, controllers/computers, and outputs all housed in a single head-mounted device). 
         [0026]      FIG. 2  is an exemplary diagram of a human user ( 210 ) wearing a head-mounted virtual reality apparatus ( 220 ) comprising optical receivers and sensors ( 230   a,    230   b,    230   c,  etc.) that may be used to implement aspects of certain embodiments of the present invention. 
         [0027]      FIG. 3  is an exemplary diagram of a transmitter/receiver configuration in an optical positional tracking system that may be used to implement aspects of certain embodiments of the present invention. As depicted in  FIG. 3 , an exemplary optical positional tracking system comprises a base station ( 320 ) that sweeps an optical signal ( 310 ) across the tracking volume. Depending on the requirements of each particular implementation, more than one base station may be incorporated, and each base station may generate more than one optical signal. For example, while a single base station is typically sufficient for six-degree-of-freedom tracking, multiple base stations may be necessary in some embodiments to provide robust room-scale tracking for headsets and peripherals. Optical receivers (e.g.,  230 ) are incorporated into the head-mounted virtual reality apparatus ( 220 ) or other tracked objects. In certain embodiments, optical receivers are paired with an accelerometer and gyroscope Inertial Measurement Unit (“IMU”) on each tracked device to support low-latency sensor fusion. As shown in  FIG. 3 , a standard 12-ounce soda or beer car ( 330 ) is depicted to provide a sense of scale. 
         [0028]    Each base station ( 320 ) according to certain embodiments contains two rotors, which sweep a linear beam ( 310 ) across the scene on orthogonal axes. At the start of each sweep cycle, the base station ( 320 ) according to certain embodiments emits an omni-directional light pulse (“sync signal”) visible to all sensors. Thus, each sensor computes a unique angular location in the swept volume by timing the duration between the sync signal and the beam signal. Sensor distance and orientation is solved using multiple sensors affixed to a single rigid body. 
         [0029]    Depending on the particular requirements of each implementation, various other tracking systems may be integrated, using techniques that are well known by skilled artisans. 
         [0030]      FIG. 4  is an exemplary diagram of a head-mounted virtual reality display ( 220 ) with four optical receivers ( 230   a,    230   b,    230   c,    230   d ) that may be used to implement aspects of certain embodiments of the present invention. 
         [0031]    The HMD in certain embodiments presents the user a dynamic virtual environment (“virtual space”). It is tracked in operating space so that its user&#39;s motions in the operating space are translated to the representation of the virtual space. When the HMD or an optional additional sensor close in on physical obstacles in the operating space, such as walls or furniture, a sensory feedback is provided to the user either in the virtual space or in the operating space in order to avoid a collision. 
         [0032]    In certain exemplary embodiments the system is primed by the user in advance by defining the boundaries and limitations of the operating space through one or more methods of programmatic input (“Soft Bounds”). In others, the system automatically detects actual obstacles in space through one or more sensor technologies (“Hard Bounds”). 
         [0033]    A controller according to aspects of certain embodiments receives and processes detection signals from the HMD and/or external sensors and generates corresponding feedback to the user based on the proximity of Soft Bounds and/or Hard Bounds and/or based on explicit user request for feedback (e.g., an “overlay button”). 
         [0034]    Without limitation, definition of Soft Bounds can be made in the following ways (including combinations), depending on the requirements of each particular implementation:
       By entering data in a computer by means of mouse and keyboard;   By moving a tracked object (HMD or other worn sensors such as a game controller) to the n corners of the operating space; and/or   By wearing a tracked HMD in one location, looking (either physical rotation of the HMD or rotation of the eyeball if the HMD has gaze-tracking technology) at each of the n corners of the operating space from at least two places in the operating space (triangulating the corner that is looked at).       
 
         [0038]    Without limitation, definitions of Hard Bounds can be made in the following ways (including combinations), depending on the requirements of each particular implementation:
       By using a depth camera attached to the HMD or external to it; and/or   By using other sensors for measuring distances such as lasers or ultrasound.       
 
         [0041]    Without limitation, sensory feedback can be given in the following ways (including combinations), depending on the requirements of each particular implementation:
       a warning sound;   haptic feedback (rumble or actuators included in the HMD or another wearable device such as a game controller held by the user);   visual warning signs displayed in the HMD;   a CG-rendered overlay of the Soft Bounds displayed in the HMD superimposed over the virtual environment;   a pass-through video signal of one or more cameras mounted on the HMD; and/or   a custom application program interface (“API”) trigger sent to the controller of the virtual environment, meaning that the dimensions of the virtual environment are automatically adjusted to the physical environment and/or a custom warning specific to the virtual environment is made (e.g., an in-game character tells the user to stop walking when the user approaches the boundaries of the operating space).       
 
         [0048]    Any of the above systems and methods may be implemented either as a digital warning signal that is triggered as a user crosses a predefined threshold, or as an analog warning that increases in intensity (e.g., overlay of room bounds fades in in brightness the closer a user gets to an obstacle and gets supported by a rumbling sensation increasing in intensity as user gets even closer). 
         [0049]    One embodiment allows the user to dynamically reposition his or her virtual representation in the virtual space so as to be able to experience a larger area of the virtual environment than what is provided by his or her operating space. In one such exemplary embodiment, the operating space is a 3-meter by 3-meter square. The virtual environment is a room several times the size of this operating space. In order to experience all of it, a user could trigger a reposition of his representation in the virtual environment. In this example, the user could move around and rotate a “ghosted” virtual representation of him or herself and a 3-meter by 3-meter square projected onto the ground of the virtual environment. Upon accepting the repositioned space, the user would be “teleported” to his or her new place in the virtual environment and could continue moving around this new part of the virtual environment by physically moving in his or her operating space. 
         [0050]      FIG. 5  depicts an exemplary display according to certain embodiments, in which soft bounds are visible on the floor as a translucent polygon and have been defined by the user, and in which hard bounds are visible as a grid of glowing lines that indicate the position of a physical wall in a user&#39;s real-life operating space. 
         [0051]      FIG. 6  depicts an exemplary display according to certain embodiments, in which two in-headset views of hard-bounds chaperoning systems are shown, warning a user of an impending collision, and in which the depicted grids indicate real-world wall positions. 
         [0052]      FIG. 7  depicts an exemplary display according to certain embodiments, depicting an example of using soft bounds data for placement of other elements in a game scene that help frame the player&#39;s experience. In the scene shown in  FIG. 7 , torches ( 710   a,    710   b,    710   c,    710   d ) are automatically placed at the bounds corners, regardless of how a user may have configured them. The bow ( 720 ) shown in  FIG. 7  is placed at the leading edge of the user&#39;s soft bounds ( 730 ), in the user&#39;s preferred direction of play. Certain embodiments according to the arrangement shown in  FIG. 7  automatically scale and adjust to a individual user&#39;s soft-bound settings. 
         [0053]    In certain implementations, the appearance of chaperoning bounds according to aspects of the present invention may reduce the sense of immersion that a user experiences in a virtual environment. This can be addressed by the following solutions, either separately or in combination, depending on the requirements of each particular implementation: 
         [0054]    First, chaperoning bounds are not displayed at full brightness immediately, but instead are slowly faded in as a user closes in on the actual bounds of the user&#39;s real environment (“operating space”). Independent fade value may be computed for each wall, then a fifth fade value (assuming an exemplary typical operating space in a room with four walls) is applied to a perimeter mesh that is the outer edges of the space in which the user is standing (e.g., this may appear as the edges of a cube highlighted). The fifth fade value in one embodiment may be implemented as the maximum value of the fade values for each of the four walls. In this way, if a user is backing into a wall, the perimeter mesh will light up full bright. In certain embodiments, to assist a user to see the other of the walls as the user backs into a wall, the fade values may intentionally bleed slightly into their neighboring walls and slightly into the opposite wall. This technique allows a user to see the location of all walls without the chaperoning alerts becoming overwhelming. In certain embodiments, to increase the sense of immersion, after the brightest chaperoning bounds are activated and displayed at full brightness for some period of time (e.g, 4 seconds), the brightness of all chaperoning alerts is slowly faded to 20% of the original brightness. 
         [0055]    Second, only the bounds of the wall closest to user are shown at full intensity (e.g., as a glowing grid), while the other walls are only shown as their outlines/outer corners. Third, the intensity of the chaperoning bounds may be defined relative to the brightness of the virtual environment they are superimposed on. This underlying brightness can either be measured live based on the rendered virtual environment, or provided by the game driving the experience through an API. Fourth, after a user has stood still in one place for a few seconds and has gotten to understand where the bounds are, chaperone bounds may be automatically faded out so that user can experience the VR environment undisturbed in spite of being close to a wall. 
         [0056]    In certain implementations, chaperoning alert systems according to aspects of the present invention may show a warning too late for a user to stop before a collision if the user is moving too quickly. This can be addressed by the following solutions, either separately or in combination, depending on the requirements of each particular implementation: 
         [0057]    First, the chaperoning warnings may be shown earlier intentionally. However, this may have the undesirable effect of making the usable space in which a user can experience VR smaller. Second, the velocity and/or acceleration of tracked objects (e.g., the user&#39;s HMD apparatus and/or related handheld controllers) may be measured, and the chaperone bounds may be shown sooner or later based on the outcome of these measurements. Third, the risk of rapid movement and therefore the speed/intensity of the display of chaperoning warnings may be derived from heuristics. For example, systems according to aspects of the present invention may measure how users generally experience a specific VR experience (e.g., is it one in which slow exploration is typical, or one in which fast movement is typical?). Also, if an exemplary system is designed to identify a user (e.g., by login, eye tracking cameras, height, typical motion patterns, etc.) it can base its warnings on how quickly this particular user typically moves and reacts to chaperone warnings. Fourth, if a game/application does not actually need a large use space, chaperone warnings can be more aggressive since the need for maximization of space is lower. 
         [0058]    In certain implementations, initial room setup according to aspects of the present invention may be perceived as relatively manual and unintuitive. This can be addressed by the following solutions, either separately or in combination, depending on the requirements of each particular implementation: 
         [0059]    First, a user can simply walk around in the real operating space, holding his or her controller and moving it along some or all of the walls/floor/ceiling of the operating space. The measurements taken via this process are transmitted to the chaperoning system controller using any appropriate technique, as known to skilled artisans. Based on these absolute measured positions, the systems according to aspects of the present invention then calculate the smallest polyhedron that contains all of the positions in which the controller has been detected. Second, rangefinders of various types that are known to skilled artisans (e.g., ultrasound, laser) may be integrated into particular implementations, and these may generate the necessary information regarding the boundaries of the operating space, with little or no intervention required by a user. 
         [0060]    In certain embodiments, extending the concept of the independently controlled persistent ground perimeter, wall styles may be separated from perimeter styles, where the perimeter includes the vertical wall separators, ceiling outline, and ground outline. Perimeter styles could be a subset of:
       1. Dynamic perimeter   2. Dynamic perimeter with persistent ground outline   3. Persistent ground outline only   4. Dynamic ground outline only (for the true minimalist who knows his or her space very well)   5. None       
 
         [0066]    In certain embodiments, users may select the invasiveness, aggressiveness, fade distance, and/or color scheme of the chaperoning bounds that are displayed, via any suitable user interface and/or configuration utility using techniques that are known to skilled artisans. For example, in terms of color scheme selection, a suitable palette of colors may be predetermined from which a user may select, or users may be permitted to choose hue and/or saturation, while brightness is generated by systems according to aspects of the present invention. Moreover, user selections may be adjusted and/or saved, depending on particular games or applications. 
         [0067]      FIG. 8  depicts an exemplary display according to certain embodiments, depicting an example of rendering a square pattern on the walls of a virtual space to visually alert a user as to the location of physical boundaries in the real operating space surrounding the user. 
         [0068]      FIG. 9  depicts an exemplary display according to certain embodiments, depicting another example of rendering a grid pattern on the walls of a virtual space (with the intersections removed) to visually alert a user as to the location of physical boundaries in the real operating space surrounding the user. 
         [0069]      FIG. 10  depicts an exemplary display according to certain embodiments, depicting another example of rendering a pattern on the walls of a virtual space to visually alert a user as to the location of physical boundaries in the real operating space surrounding the user. This is similar to the pattern shown in  FIG. 9 , but the square openings are approximately 2.25 times greater in area (i.e., the bars are spaced 1.5 times farther apart). 
         [0070]      FIG. 11  depicts an exemplary display according to certain embodiments, depicting another example of rendering a pattern on the walls of a virtual space (i.e., a single horizontal line on each wall) to visually alert a user as to the location of physical boundaries in the real operating space surrounding the user. 
         [0071]      FIG. 12  depicts an exemplary display according to certain embodiments, depicting an example of rendering a pattern on the floor of a virtual space to visually alert a user/developer as to the location of physical boundaries in the real operating space surrounding the user. Depending on the requirements of each particular implementation, this may be displayed as a persistent line loop at floor-level that never fades away, to assist a user or developer to always be aware of where the walls are located within the operating space simply by glancing down. 
         [0072]    While the above description contains many specifics and certain exemplary embodiments have been described and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative of and not restrictive on the broad invention, and that this invention not be limited to the specific constructions and arrangements shown and described, since various other modifications may occur to those ordinarily skilled in the art, as mentioned above. The invention includes any combination or sub-combination of the elements from the different species and/or embodiments disclosed herein.