Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
VIRTUAL REALITY TRAINING DEVICE
Document Type and Number:
WIPO Patent Application WO/2018/170159
Kind Code:
A1
Abstract:
An input device for providing user input to a computing device includes a seat portion allowing a user to sit on the device. The input device further includes several Human interface devices having positional sensors that detect changes in pitch, yaw and roll and convert those detected changes to a control signal for operating functions on a computing device and / or providing input to applications running on the computing device.

Inventors:
SCHRADIN, Aaron (9717 Cottontail Rd, West Olive, Michigan, 48460, US)
EUSEBI, Christopher (1090 Northover Dr, Bloomfield Hills, Michigan, 48304, US)
Application Number:
US2018/022481
Publication Date:
September 20, 2018
Filing Date:
March 14, 2018
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
PRAVAEDI LLC (9717 Cottontail Rd, West Olive, Michigan, 48460, US)
International Classes:
A63F13/20; A47C3/18; A63F13/21; G06F3/01
Foreign References:
US20160320862A12016-11-03
US20120203487A12012-08-09
US20040056520A12004-03-25
EP1832202A12007-09-12
US20160332028A12016-11-17
DE102015013300A12016-04-14
Attorney, Agent or Firm:
EUSEBI, Christopher A. (LKGlobal | Lorenz & Kopf, LLP7010 E. Cochise Rd, Scottsdale Arizona, 85253, US)
Download PDF:
Claims:
CLAIMS

What is claimed is:

1. An input device for a seated user, the input device comprising:

a floor engaging member having a floor engaging surface and a longitudinal axis generally perpendicular to the floor engaging surface;

a support structure having a seat support surface generally parallel to the floor engaging surface;

a bearing disposed between the support structure and the floor engaging member, configured to allow relative rotation of the support structure about the longitudinal axis with respect to the floor;

a seat support;

a joint disposed between the seat support and the support structure, the joint pivotably coupling the seat support surface to the seat support in a manner which restricts the rotation of seat support with respect to the seat support about the longitudinal axis and allows for the rotation of the seat support in a pair of directions perpendicular to the longitudinal direction; and

a circuit having a plurality of accelerometers configured to measure a component of gravity, each accelerometer configured to provide a signal indicative the component of gravity, said circuit configured to measure changes in at least one of the signals indicative of a gravity component and provide an output signal indicative of the rotation of the seat support with respect the seat support surface.

2. The input device according to Claim 1, wherein the j oint has a neutral, a forward, and a reverse configuration.

3. The input device according to Claim 1 , wherein the plurality of accelerometers is configured to detect the movement of the seat support and are radially disposed about the longitudinal axis at a first radial distance from the longitudinal axis.

4. The input device according to Claim 1 , further comprising at least one

magnetometer configured to provide a signal indicative of a direction with respect to the earth's magnetic field.

5. The input device according to Claim 4, further comprising an IMU operably coupled to the plurality of accelerometers and the magnetometer.

6. The input device according to Claim 1 , further comprising a rotation sensor configured to measure relative rotation of the seat support with respect the floor bearing surface and provide a signal thereof.

7. The input device according to Claim 1 , wherein the seat support comprises vertical adjustment.

8. The input device according to Claim 1 wherein the input device comprises at least one actuator configured to provide a vibrational output.

9. The input device according to Claim 8 wherein the actuator is a piezoelectric element.

10. An input device for a seated user, the input device comprising:

a floor engaging member having a floor engaging surface and a longitudinal axis generally perpendicular to the floor engaging surface;

a skeleton support structure having a seat support surface generally parallel to the floor engaging surface;

a seat;

a bearing disposed between the seat and the floor engaging member, configured to allow relative rotation of the skeleton support structure about the longitudinal axis with respect to the floor;

a pivot joint disposed between the seat and the seat support surface the pivot joint pivotably coupling the seat support surface to the seat in a manner which restricts the rotation of seat with respect to the skeleton support structure about the longitudinal axis and allows for the rotation of the seat in a plurality of directions perpendicular to the longitudinal direction;

a plurality of first sensors configured to measure changes in orientation of the seat by measuring components of gravity indicative of movement of the seat support with respect the seat support surface and provide a signal thereof; and a rotation sensor configured to measure rotation of the skeleton support structure with respect to the floor.

11. The input device according to Claim 10, wherein the rotation sensor comprises a magnetometer.

12. The input device according to Claim 10, wherein the plurality of first sensors are configured to detect the movement of the seat are radially disposed about the longitudinal axis at a first radial distance from the longitudinal axis.

13. The input device according to Claim 10, wherein the plurality of first sensors are disposed adjacent the user's ribs.

14. The input device according to Claim 10, wherein the plurality of sensors is coupled to one of a seat bottom and a seat back.

15. The input device according to Claim 10, wherein the skeleton further comprises a height adjustment member.

16. The input device according to Claim 10, wherein the rotation sensor provides a signal indicative of a compass heading.

17. The input device according to Claim 10 further comprising an actuator configured to apply a force to one of the support structure, and the seat support to signal a user.

18. The input device according to Claim 10 wherein a floor engaging member having a floor engaging surface and a longitudinal axis generally perpendicular to the floor engaging surface;

a support structure having a seat support surface generally parallel to the floor engaging surface;

a bearing disposed between the support structure and the floor engaging member, configured to allow relative rotation of the support structure about the longitudinal axis with respect to the floor; a seat;

a joint disposed between the seat and the support structure, the joint pivotably coupling the seat support surface to the seat support in a manner which restricts the rotation of seat support with respect to the seat support about the longitudinal axis and allows for the rotation of the seat support in a pair of directions perpendicular to the longitudinal direction; and a circuit having a plurality of accelerometers configured to measure a component of gravity, each accelerometer configured to provide a signal indicative of the gravity component, said circuit configured to measure changes in at least one of the signals indicative of the component of gravity and provide an output signal indicative of the rotation of the seat support with respect the seat support surface.

19. The input device according to Claim 18 comprising a slip ring electrically disposed along the longitudinal axis, the slip rings configured to bring at least one of power, sensor signals, or video signals through a rotating interface; and

a VR headset coupled to the slip ring.

20. A method of displaying a three-dimensional virtual reality space for at least one user, the method comprising the steps of:

receiving a plurality of signals from a plurality of accelerometers configured to measure a component of gravity, each accelerometer configured to provide a signal indicative of the gravity component;

calculate changes in at least one of the signals indicative of the component of gravity and provide an output signal indicative of the rotation of the seat support with respect the seat support surface;

acquiring three-dimensional graphics data associated with a geographic region to be used by the plurality of users in a shared manner and an update object whose state is updated according to an operation performable by each of the plurality of users;

functionally coupling the three-dimensional graphics data to a physics engine configured to physical rules to objects within the virtual reality dataset. A display engine is coupled to the physics engine to convert the dataset into first and second content streams; and streaming a first content set from the three-dimensional graphics data to a VR headset and a second content set three-dimensional graphics data to the VR headset; and

changing the first content set in response to output signal indicative of the rotation.

Description:
VIRTUAL REALITY TRAINING DEVICE

FIELD OF THE INVENTION

[0001] The present invention relates to seating devices and methods for providing interactive control of a computing device. More particularly a modular ergonomic seating device for providing input for a computing device.

BACKGROUND OF THE INVENTION

[0002] For humans to interact and operate computers, external input devices are generally required. Signals from these external input devices are received by the computer and processed to act as a control signal for controlling an aspect of the computer's function and / or applications (programs) running on the computer.

[0003] Traditionally, input devices such as keyboards, mice, game controllers and the like have focused on receiving input movements from the hands and particularly the fingers of users. While these have proven effective, they are poorly suited for more immersive, intuitive control schemes. The development of immersive computer-generated environments such as those used for gaming, social interaction, computer-aided design and other similar functions have highlighted the need for new input devices. Of note is the rise of augmented reality ("AR") and virtual reality ("VR") technology that enables users to be fully immersed in computer generated environments. AR and VR technology platforms are poorly suited for traditional input methods as they can break immersion and detract from the user's experience.

[0004] Often input device associated with VR have functions that are inherently unstable. Generally, the further a user moves from a center location, the easier it is to continue moving further because the user's center of gravity goes outside the bounds of the device. To counteract this, devices can be modified with the addition of ballast. This however still never truly corrects the problem as it often increases the resistance force. For example, the further the pivot point for movement is from a user's hips, the further the users must move a user's body to create the angle the MPU needs and still have a decent sensitivity and proper "dead-zone." Also, somewhat susceptible to "signal drift."

[0005] Further, the users must move to create the movement, the longer it takes to adjust a user's movement or change movement directions, which makes the user's overshoot a user's preferred movement position. Depending slightly on the radius of the bottom, to go full-speed forward to full-speed backwards means the users must move a user's body around 22 inches.

[0006] The further the user's movement can put a user off-balance in VR, the more a user's body contemplates going on strike via way of VR induced motion sickness.

[0007] Fundamental VR Problems:

• Does not address cable management/tangle

• Does not address uncoupled look/move

• Leaves room for improvement for a more compact operation envelope

• Rubs and walks on flooring due to off axis rotation and no turntable

[0008] Another problem associated with VR systems is sickness caused by the vestibular system which provides the leading contribution to the sense of balance and spatial orientation for the purpose of coordinating movement with balance. As movements consist of rotations and translations, the vestibular system comprises two components: a first which indicates rotational movements; and a second, which indicates linear accelerations. The vestibular system sends signals primarily to the neural structures that control eye movements, and to the muscles that keep an individual upright. Discoordination of these signals leads to motion sickness when using VR and AR systems.

[0009] These approaches were a bit more complex, but much more satisfying. Though the experience was less interesting for a crowd of VR curious onlookers to observe, it was eroding away at the real problems that faced VR. Traditionally, VR systems couple head movement to torso movement. For example, a user in a VR environment can for example travel down a sidewalk and wherever the user's looked, the user travels in the vision direction.

SUMMARY OF THE INVENTION

[0010] As specified in the Background Section above, there is a need for improved devices and methods for providing user input for controlling and or interacting with a computing device.

[0011] To overcome the afore mentioned problems, the system according to the present system measures the angle of the user's torso and feeds it back to the application so that the player axis is defined by torso angle. The head mounted display is then constrained to that player but "uncoupled" so that the view from the head mounted display is not affected by the torso angle, but only by the angle interpreted by the head mounted display. The torso angle information is presented as a part of the Human Interface device packet.

[0012] According to an alternate teaching, the system can include a rotary slip connector, and a quadrature rotary encoder that keeps track of the orientation of a user's body. Each degree moved is added or subtracted from the original calibration position and can be as accurate as one degree. Optionally, when a user of a system initiates movement, the natural response of the user is to "lean" in the direction they wish to head. [0013] The design of system allows for super-fast directional changes, because a properly trained user of a system does not have to translate their center of gravity to move any direction, they simply use core muscle movement to redistribute their weight to create the movement in VR. Optionally, the system utilizes a solution which the seating surface tilts at a point closer to the hips or seat of the user This pivot location is critical as this approach never puts the user in a position of instability of falling.

[0014] According to the present teachings, the system allows a user's lower body function to allow movement in a VR space. The system can incorporate mechanical binary or linear input switches and an analog representation through a multiple axis processing unit (MPU).

[0015] According to the present teachings, the system can provide to those users which are less sensitive to the sensations of VR movement, users can optionally just use a raw analog input gradient to create user movements and use the switches for jump or some other function.

[0016] According to the present teachings, the system includes a rotary slip connector design, configured to reliably pass the following signals through the system to ensure that cables, and their signals, are heard loud and clear and never bind, tangle, or twist: HDMI; USB; Power; and 3 Line Developer. The rotary slip connector design "Infinite" rotation with no tangle. According to the present teachings, the system includes a small stool or chair.

[0017] The present invention is not to be limited in scope by the specific embodiments described herein. Indeed, various modifications of the invention in addition to those described herein will become apparent to those skilled in the art from the foregoing description. Such modifications are intended to fall within the scope of the appended claims.

[0018] All references cited herein, including all patents, published patent applications, and published scientific articles, are incorporated by reference in their entireties for all purposes. Therefore, an embodiment of the present invention is an input device comprising a user engaging portion; a plurality of positional sensors, the plurality of positional sensors further comprising; at least one pitch sensor; at least one yaw sensor; at least one roll sensor; and a coupling mechanism capable of coupling the input device to a computing device such that the sensing mechanisms can send data to the computing device. In use, a user will sit on, or straddle the user-engaging portion of the device and lean forwards/backwards, lean side/side, and/or rotate the device. These motions by the user will be detected by the sensors and converted to control signal(s) which are transmitted to a computing device and used to interact with the computing device and/or an application (program) running on the computing device.

[0019] An embodiment is a rotating sensor seat for providing freedom of movement useful for users employing motion-based input or head mounted displays. The seat has a base, a rotating platform, cushions, adjustment controls and accessory attachment points. The seat has the advantage that the user can place their legs in a straddle position about the seat for rotational control, tilt control and balance. In some embodiments of the seat, integrated sensors detect movement, position, and provide interactive feedback. In some embodiments, attachments and accommodations for external motion trackers and tracking head mounted displays are incorporated to ensure an ergonomic interface between the interface device, the user and the seat. In some embodiments one or more components of the seat is a stackable module permitting user assembly and customization using interchangeable components.

[0020] In at least one embodiment the invention includes electronic control interfaces and sensors to measure pressure, position, rotational measurement, and bio-input which enables the control of interactive software when connected by wire or wirelessly to a computing device including a smartphone, tablet, handheld gaming device, or interactive computing device. Interactive sensors measure user movement and position including: tilt for providing both directional and intensity input like data provided by a handheld joystick with real-time x and y coordinates; rotational position; user weight and change of pressure against the top of the seat on the vertical axis; user position measured and position changes on multiple axes. In at least one embodiment user weight is used to determine the identity of the user and employed for calibration of seat interactive sensor settings and made available via an application program interface to an interfaced computing device. Biofeedback through interactive sensors is provided through a software interface.

[0021] Much like riding a horse, forces of instability caused by gesture and motion interfaces and the instability inherent in wearing a head mounted display are counteracted as the user utilizes their lower body to straddle the seat and maintain balance. A further advantage is that the user is positioned to precisely rotate the seat with their legs in a straddle position, with small pushes of the feet providing rotational force orthogonal to the axis of rotation and closely aligned the rotational freedom of the invention and to adjust their position to control interactive software while maintaining balance. A further advantage is that users can control interactive software with fine precision that can be measured with an integrated sensor, with external motion controls and a tracking head mounted display.

[0022] In at least one embodiment the cushion in multiple sizes accommodates different user heights and body types.

[0023] In at least one embodiment the seat cushion is made from a flexible inflatable material that is filled with air and filler and ballast with the advantage of body contouring support for the lower body and legs of the user maintaining ergonomic body position. Another advantage of flexible inflatable material is deflation for shipment and easy user inflation for installation with the ability to customize air pressure, filler and ballast for user preferences and body types. An additional advantage is when deflated the flexible inflatable material reduces the total volume of the seat for shipment or user storage. In at least one embodiment the flexible inflatable materials is a modular component held in place by a retaining base with the advantage of increasing the stability of the cushion while retaining ergonomic, packaging, and additional advantages of the material.

[0024] The flexible inflatable cushion has the advantage of ergonomic seating position like an exercise ball with additional stability featuring a cylindrical or pod shape with increased range of user leg and feet motion.

[0025] In at least one embodiment the seat is composed of stacking modules with close, contoured interfaces with the advantage of reconfiguration by the end user and simple assembly for interactive control, user adjustment, or feature customization. A further advantage of the stacking modules with close contoured interfaces is few protruding points diminishing the chance of cord tangles from external controllers or head mounted displays. An additional advantage of stacking modules is easy manufacturing, packaging and user assembly of the finished seat.

[0026] In at least one embodiment the seat is constructed from interconnected modules with the advantage of ease of assembly and user configuration where modules can include: a base platform adjusting the height and weight of the seat; a rotational platform with variable stops for allowing the user to turn freely or prevent continuous turning; electronic interactive sensors; a retaining base; a cushion; a back support unit; an arm support unit; a cable management unit; a platform or compartment for storage.

[0027] In at least one embodiment the seat is constructed from interconnected modules with the advantage of ease of assembly and user configuration where modules can include: a base platform adjusting the height and weight of the seat; a rotational platform with variable stops for allowing the user to turn freely or prevent continuous turning; electronic interactive controls; a cushion interface; a cushion; a back support unit; an arm support unit; a cable management unit; a platform or compartment for storage.

BRIEF DESCRIPTION OF THE DRAWINGS

[0028] Figure 1 shows a perspective view and a side view in accordance with an embodiment of the disclosure;

[0029] Figure 2 shows an exploded perspective view of seat modules in accordance with an embodiment of the disclosure;

[0030] Figure 3 shows a top view of the rotational platform base and its top shown in accordance with an embodiment of the disclosure;

[0031] Figure 4 shows a seat perspective view and side view in accordance with an embodiment of the disclosure;

[0032] Figure, 5 shows a perspective view with a seated user and illustrations of motion on multiple axes in accordance with an embodiment of the disclosure;

[0033] Figure 6 shows a seat perspective view and a side view in accordance with an embodiment of the disclosure;

[0034] Figure 7 shows a side view with a seated user and an illustration of motion on multiple axes in accordance with an embodiment of the disclosure;

[0035] Figure 8 shows side cut away views and perspective detail views in accordance with an embodiment of the disclosure;

[0036] Figure 9 shows side view and side cut away detail views in accordance with an embodiment of the disclosure;

[0037] Figure 10 shows a seat side and perspective view in accordance with an embodiment of the disclosure;

[0038] Figure 11 shows a flow chart of communication of the invention with interactive computing devices in accordance with an embodiment of the disclosure;

[0039] Figure 12 shows a semi exploded view of an embodiment of an input device of the present disclosure;

[0040] Figure 13 shows a semi exploded view of an embodiment of the rotation portion of the input device;

[0041] Figure 14 shows a semi exploded view of aspects of the control switches for the input device on the seat portion; and

[0042] Figure 15 shows a close look of the gimbal.

[0043] Figure 16, a zero-balance seat for elevation control is shown and described where the height of posterior shelf I seat is measured

[0044] Figure 17 illustrates mechanisms for addressing and providing for variable movement speed controls;

[0045] Figure 18A is the seating substrate to which is mounted the accelerometer and gyroscope. Fig 18B is the substrate removed to show the switches;

[0046] Figure 19 depicts the variability of the input sensor;

[0047] Figure 20 the switch system mounts switches on a cantilevered elastically deformable member;

[0048] Figures 21a-21c depicts a sensing mechanism mounted on an elastically deformable cantilever support member;

[0049] Figures 22a and 22b represent the problems associated with tiltable and rotatable chairs;

[0050] Figures 23 a - 23i represent an alternate input device for virtual reality according to the present teachings;

[0051] Figure 24 represents a cinematic feedback device for a VR input device;

[0052] Figures 25a - 25b represent a height raising device for the input device shown in

Figures 23a - 23i;

[0053] Figures 26a - 26d represents an alternate tilt mechanism for the input device according to Figure 23a - 23i;

[0054] Figures 27a - 27b represent perspective and cross-sectional images of an alternate input device;

[0055] Figures 28a - 28b represent perspective views of an alternate input device according to the present teachings;

[0056] Figures 29a - 29c represent alternate VR input devices according to the present teachings;

[0057] Figures 30a - 30b represent optimal covers for the input devices shown above;

[0058] Figures 31 a - 31 d represent an alternate input device according to the present teachings;

[0059] Figure 32 represents an alternate input joint according to the preset teachings;

[0060] Figures 33a - 33h represent alternate support structure for a VR input device;

[0061] Figures 34 - 37d are alternate coupling devices used in the system above;

[0062] Figure 38 represents a chest mounted device;

[0063] Figure 39 represents an electronics module having a processors and sensors used for the input devices;

[0064] Figures 40-45 represents a virtual trainer and control device according to the present teachings;

[0065] Figures 46a and 46b represents the system shown in Figures 39-45 in a collapsed foldable configuration; and

[0066] Figures 47 and 48 represents the system. DETAILED DESCRIPTION OF THE INVENTION

[0067] In the following, reference is made to embodiments of the disclosure. However, the disclosure is not limited to specific described embodiments. Instead, any combination of the following features and elements, whether related to different embodiments or not, is contemplated to implement and practice the disclosure. Furthermore, although embodiments of the disclosure may achieve advantages over other possible solutions and/or over the prior art, whether an advantage is achieved by a given embodiment is not limiting of the disclosure. Thus, the following aspects, features, embodiments and advantages are merely illustrative and are not considered elements or limitations of the appended claims except where explicitly recited in a claim(s). Likewise, reference to "the invention" shall not be construed as a generalization of any inventive subject matter disclosed herein and shall not be an element or limitation of the appended claims except where explicitly recited in a claim(s).

[0068] An embodiment is an input device comprising a user engaging portion; a plurality of positional sensors, the plurality of positional sensors further comprising; at least one pitch sensor; at least one yaw sensor; at least one roll sensor; and a coupling mechanism capable of coupling the input device to a computing device such that the sensing mechanisms can send data to the computing device.

[0069] According to the teachings, Figure 1 shows one embodiment of an input device of the present disclosure taking the form of a rotating sensor seat shown here in perspective and in profile. In this embodiment the seat is composed of stacking modules for reconfiguration by the end user and simple assembly for interactive control, user adjustment, and / or feature customization. A cushion 1001 features a lip 1007 with a taper that allows the legs to straddle the sides of the seat. In some embodiments the cushion is flexible and inflatable thermoplastic polymer further permitting conformity to the seated user as the seat conforms to the inner thighs. In some embodiments, the cushion includes shaped stabilizing feet 1002 that fit into the shaped intersection 1004 of the retaining base 1003 and the cushion 1001. The stabilizing feet have the advantage of providing a rigid j oint for the intersection with the retaining base resistant to torsional or lateral forces thereby providing enhanced stability. The cushion can be partially filled with weighted filler material or ballast such as sand to ensure further stability within the retaining base.

[0070] In further detail, still referring to the invention of Figure 1 , the series of close, contoured interfaces between modules provides a smooth surface for the entire profile of the seat with the advantage of minimizing interference with cables, clothing or user feet and legs. This smooth profile rotates at the interface to the rotating platform 1005 with the advantage that the user's leg can rest against the cushion 1001 down to the interface of the retaining base and rotating platform 1005 such that the seat rotates with, and in contact with the user's lower body in a straddle position. The combination of rotation of the seat with the user and the cushion is increased stability where the user's feet, legs, and torso partially embrace the rotating seat providing a leverage point for maintaining seating stability. A further advantage of this position is that the user is positioned to precisely rotate the seat with their legs straddling the side of the seat as in Figure 5 5005, with small pushes of the feet Figure 5 5006 providing rotational force orthogonal to the axis of rotation and closely aligned the rotational freedom of the rotating base 1008. The rotational base 1008 and cushion platform 1005 in smaller or larger heights or profiles and with a detachable riser platform have the advantage of providing customizable dimensions to different user heights, weights, preferences, and interactive control capabilities. Interactive base sensors 1006 provide sensor feedback to an electronic circuit board Figure 3 3008 with the advantage of translating user motion into control signals for motion and functional control of software applications running on a computing device. In this embodiment multiple base sensors are arranged in a configuration that permits multiple points of acquiring input for detection of the direction a user is leaning or rotating.

[0071] In additional detail, still referring to Figure 1, interactive sensors 1006 have the advantage of allowing subtle user movements to be translated into motion input, direction of movement, and / or function selection in an interactive software application when employed with a computing device. The interactive sensors 1006 have the advantage of pressure sensitivity such that direction is derived through comparison of all sensors with intensity measured and translated into primitive data and commands for control of a computing device. Pressure on evenly placed sensors has the advantage of interpretation as a desire to move in the direction of the interpreted region, either directly on a sensor on based on weighted average between multiple sensors. Calibration of sensors is accomplished by a user sitting in multiple positions and making core body movements, with measurement spanning all sensors and retained by software and employed for later comparison. Feedback and interaction may also be provided by software input from these devices to interactive sensors such as those in 1006 for feedback including but not limited to sound, vibration, light, light effects, steam or smoke, and other interactive effects.

[0072] Referring now to Figure 2, the construction details of the embodiments shown in Figure 1 to Figure 5, the cushion 2001 is detachable and usable as a seat in a stand-alone configuration by removal from the retaining base 2003 and placement on a floor or other surface. In some embodiments the retaining base further comprises a plurality of grooves 2010 adapted to engage the stabilizing feet on the cushion. In this use the stabilizing feet 2002 have the advantage of providing additional stability against forces on multiple axes with the advantage of retaining the cushion in an upright position and secured in the retaining base 2003. In at least one embodiment the cushion is inflatable and has the advantage of being partially filled with weighted filler or ballast material such as sand, fluid or gel to ensure further stability when the cushion is used direction on a floor outside of the retaining base. The cushion 2001 comes in multiple sizes to accommodate different user heights and body types and in at least one embodiment is collapsible and may be filled with air and filler. The retaining base 2003 and sensors 2006 in an interconnected sensor module 2005 stack together and may further stack for instance on a rotating base as in Figure 1 1008. The modular design and construction of the invention has the advantage that it permits users to exchange components rapidly to suit their desired mode of interaction and body position. The pad sensors 2005 collectively electronically sense pressure and motion to provide input to interactive software when connected by wire or wirelessly to a computing device including a smartphone, tablet, PC, gaming console or other computing devices known to those having skill in the art. The modular design has the added advantage that the integrated sensor module 2006 can be exchanged for different modes of control, feedback, or computer and game console compatibility. A further advantage of modular design is cushions 2001 can be made in multiple sizes to accommodate different user heights and body types and used interchangeably by users.

[0073] Referring now to Figure 3, the construction details of the embodiments shown in Figure 1 to Figure 5, the rotating platform previously shown in Fig 1. 1008 is now shown from above in two component sections, the rotating platform base 3001 and the rotating platform cover 3003 and in profile cutaway 3005. The rotating platform cover 3003 is connected and secured to the base by means of a kingpin at its center 3004. The rotating cover sits upon a rotating base 3001. A cutaway expansion in 3002 shows an expanded view of a ball bearing track 3006 which allows a rotating base cover to rotate about the axis centered with a kingpin 3004. In at least one embodiment a stop mechanism adjusts and limits rotation of the rotating base by means of an adjustable catch. In at least one embodiment the rotating platform utilizes radial ridges 3007 with the advantage of increased rigidity of the rotating platform cover 3003 and rotating platform base 3001. The rotating platform cover utilizes ridges to create an interface with the slots in the retaining base shown in Figure 2 2003. An electronic circuit board 3008 is mounted to the seat and in at least one embodiment mounted on the rotating platform cover 3003 and interfaces with a wired or wireless interface to interactive sensors Figure 2 2006 and includes a wire harness, battery, power controller, multi-input processor, positional sensor, magnetometer, gyroscope, external power connector and external wired and wireless interface for connection to personal computers, game consoles, mobile devices, handheld gaming devices and other computing devices.

[0074] Referring now to Figure 4, the embodiments in Figure 1 to Figure 5, there is shown embodiments of the invention with the addition of a contoured seat back 4002 with the advantage of unobtrusive support for the user's waist and lower back while remaining contoured to avoid cable tangling or interference with foot, leg, and lower body movement. The contoured seat back 4002 rotates with the cushion 4001 and slides on the rotating base 4005 freely along an interface 4007. The back connects as a detachable, or in at least one embodiment integrated, component to the retaining base 4004 and rotating platform cover Figure 3 3003 with the advantage of allowing the contoured seat back 4002 to rotate with the seat without protrusions or edges that might obstruct movement or catch input device or head mounted display cables. In at least one embodiment the contoured seat back 4002 is modularly connected to the retaining base.

[0075] The contoured seat back 4002 has the advantage of providing a stable support and friction surface where it contacts the cushion 4001 diminishing loose movement of the cushion 4001 improving cushion stability and rigidity. Mounting 4006 for security bracing 4003 attached to the contoured seat back 4002 has the advantage of providing a support point for security bracing 4003 across the lap of the user with little obstruction to leg movement allowing the user to rotate or shift position for interactive control. In one embodiment the security bracing 4003 is a fabric material and in another embodiment the security bracing is a rigid bar that can be held or secured against the waist. The contoured seat back 4002 has the further advantage of providing enough support for the user to remain secure while being contoured to allow legs and hips to work together to provide motion including rotation, movement for interactive control, and balance while immersed with a head mounted display. The contoured seat back 4002 has the additional advantage of integrating multiple functions without obstructing user movement and while promoting user balance through additional lower back and lower body support.

[0076] Referring now to Figure 5, the embodiments shown in Fig.1 to Figure 5, there is shown the invention with a user 5001 employing an embodiment of the invention for interactive control while wearing a head mounted display 5002 for interaction with software experiences such as virtual reality, augmented reality, watching interactive video content, design, modeling, 3D computer aided design, or other forms of immersive content interaction. The user 5001 sits on the cushion 5005 with support from the contoured seat back 5003 and in a saddle position with articulated knees 5005 and ankles and feet 5006 with the advantage of a secure and controlled body position while wearing a head mounted display 5002 or utilizing an immersive display. The user 5001 is additionally secured to the invention with a security bracing 5004 with the advantage that if the user were to become unbalanced the security bracing 5004 would provide a physical cue helping the user to rebalance and physical restraint to prevent falling or imbalance.

[0077] In further detail, still referring to Figure 5, the embodiments shown in Figure 1 to Figure 5 there is shown the user seated with multiple axes 5007 of movement and motion control. Users may move freely utilizing hands, legs, and head movement through a motion tracking head mounted display 5002 to provide input through one or more motion control devices 5010 while simultaneously providing input by moving in multiple axes 5007 on the present invention detected by interactive sensors 5008 and transmitted to an interactive computing device. Users 5001 may look in one direction providing multiple viewing axes 5011 utilizing a head mounted display 5002 while simultaneously utilizing motion control devices 5010 and simultaneously controlling input along seat multiple seat axes 5012 including yaw, pitch and roll through core body movements of the seat 5009 detected by interactive sensors 5008. In at least one embodiment the direction of the head, arms, and other body parts may also be tracked with motion control devices 5010 not physically connected to the seat and utilizing wired or wireless interfaces and combined electronically with interactive sensors 5008 modularly connected to the seat 5009. The invention has the advantage of allowing the user to utilize short core body movements of the lower body to control motion along multiple axes 5007 moving forward and backward for x axis pitch, left or right for z axis roll, and rotationally for y axis yaw. The invention has the further advantage of detecting and calibrating for weight and sensing up and down user motion through interactive sensors Figure 1 1006. The invention has the additional advantage of user control of motion input and through small movements while permitting a wide range of gesture-based input with hands, rotation, and emulation of walking and movement through core body movements along multiple axes 5007 while having a flexible seating position including a straddle positing conducive to balance control. The invention has another advantage of allowing the user to maintain independent multiple viewing axes 5011 and multiple seat axes 5012 allowing users to provide input to interactive software for viewing direction independent of motion or interactive software function control.

[0078] Referring now to Figure 6, the embodiments shown in Figure 6 to Figure 7, there is shown an embodiment of the disclosure with a rotating sensor seat in perspective and in profile. A cushion 6001 is shaped to allow a variety of seating positions including straddle or legs forward with the advantage that a user can freely move between a straddle position for more active motion control and immersion or moving legs forward for a traditional task-seating legs forward position. The cushion connects to an outer cup 6003 which is coupled to an outer cup 6004 which pivots on an outer cup base providing input to an electronic positional sensor. A shroud 6002 contains a gas cylinder 6009 which is coupled to a spanner spring 6013 compressed between a height adjustment spanner 6011 and a spanner base 6010. A gas cylinder actuator 6008 is controlled by a contoured platform or lever 6006 which is depressed near the base with the advantage of providing hands-free height control. The gas cylinder is coupled to the base at 6005 by pressure fitting securing it to the base assembly 6007. Rotational movement is measured by a rotational sensor reading surface 6012 and an electronic sensor.

[0079] In further detail, still referring to Figure 6 the cushion 6001 extends laterally below the seat sufficient to allow the legs to straddle the cushion. The seat has the advantage of adjustment higher than a traditional task seating seat to allow a free range of motion with the user sitting or sitting with legs extended for more dynamic rotational and pivoting, side to side and front and back movement. The spanner spring 6013 allows positive pressure to be applied allowing the user to maintain contact with the seat while providing motion input through a motion controller or by pivoting and rotating to provide input via the electronic sensors of the invention. The pivoting system of the inner cup 6003 and outer cup 6004 has the advantage of allowing the cushion to pivot with fine precision and user control such that only small movements of the user's lower body are required to tilt the cushion providing motion control input from the electronic tilt sensor.

[0080] In additional detail, still referring to Figure 6, there is shown a centering disc 6014 in the cushion open region 6013 which provides resistance between the cushion 6001 and the shroud 6002 with the advantage of providing a centering force for the cushion 6001 allowing the user to easily return to a centered position. The centering disc 6014 has the further advantage of providing a tactile response and return to neutral position to interactive control provided by the pivoting system of the inner cup 6003 and outer cup 6004 and a positional guide 6015. The centering disc 6014 has the further advantage that it can be offset providing more resistance in one direction more than the other and provide frictional resistance to rotation. In at least one embodiment the centering disc 6014 is composed a polymer as a contiguous piece, segmented, or in additional embodiments composed of a web of woven material with variable degrees of elasticity. In at least one embodiment the centering disk is augmented by a rotating joint that provides adjustable resistance to movement and a natural center point with the advantage that a user can more easily find a forward or home position while rotating in the seat. The centering disk 6014 with multiple material compositions has the advantage of easy tuning to control interfaces integrated in the invention and customization for user preferences and body type. In at least one embodiment the positional guide 6015 is coupled to a positional sensor.

[0081] Referring now to Figure 7, there is shown a side cutaway view of the user 7002 wearing a head mounted display 7001 sitting in a straddle position. The motion of the user 7002 is accomplished through rotation and core movements creating forward and backward and left and right motion creating pivoting motion about a spherical center located below the top of the inner cup and outer cup Figure 6 6004 and sensed by the sensor unit Figure 6 6003 with the advantage of small movements providing motion while not upsetting the user's balance and while providing rapid control of interactive movement.

[0082] The sensitivity of the invention to user 7002 core body movements has the advantage of controlling interactive game movement with realistic response times and without latency for forward and backward walking, sideways walking, virtual object and vehicle control and any additional interactive control where body movement can serve as a control mechanism along multiple axes 7008. Rotational movement is measured by the rotational sensor reading surface 7007 and an electronic sensor 7006. Returning the user 7002 who may be slightly disoriented wearing a head mounted display 7001 to a neutral and upright position for stable control of the motion interface provided by the invention and other input devices is accomplished with the aid of the centering disk 7005 which has the advantage of returning the user with minimal effort to a neutral position and guided motion along multiple axes 7008.

[0083] An electronic circuit board 7009 is mounted to and shown within the inner cup 7004 with the advantage of creating wired or wireless interfaces between seat sensors and a computer 7009, mobile device, handheld gaming device or other computing device. In some embodiments the electronic circuit board 7009 transmits signals using Wi-Fi and TCP/IP enabling an internet connection to a wired or wireless access point 7011 with the advantage of enabling motion output from the seat to be transmitted over the internet to local or remote computers and interactive computer software. In some embodiments, motion control devices and head mounted displays may be routed through the seat to the electronic circuit board through data connections such as USB and video connections such as HDMI and relayed to local or remote computers and interactive computer software with the advantage of utilizing the interface in the chair as a hub for motion control devices and head mounted displays.

[0084] Referring now to Figure 8, there is shown a side cutaway view and a perspective view of an embodiment of the disclosure where motion is translated from a cushion Figure 6 6001 to pivoting cap 8003 connected to a positional guide 8002 with the advantage of allowing movement between neutral or level position 8003 and a deflected or pivoted position 8004. In at least one embodiment the pivoting cap 8003 is coupled to an outer cup Figure 6 6003 to constrain movement of the cushion Figure 6 6001 about the inner cup 8007. The pivoting cap

8001 is connected by a center pin and rotates according to guides 8008 of the inner cup 8007 to provide guided movement on multiple axes detected through the movement of the positional guide 8002. In at least one embodiment the positional guide 8002 is coupled to a wired or wireless joystick or positional input device. In at least one embodiment the positional guide

8002 contains a wired or wireless joystick or positional input device.

[0085] In at least one embodiment the positional guide connects to a joint which prevents rotational movement of the cushion Figure 6 6001 relative to the rotational sensor Figure 7 7006 such that seat rotation can be measured by the rotational sensor without multiple points of rotation. In at least one embodiment the inner cup 8007 has grooves 8008 guiding the pivoting cap 8001 with the advantage of secure but constrained translation of user Figure 7 7002 motion to mechanical articulation of a positional guide 8002 whose movement can be detected. In one embodiment movement of the positional guide 8002 is detected by magnetic, optical or electrical effect by a wireless positional sensor 8005. In at least one embodiment the positional guide 8002 is coupled to an electrical mechanical positional sensor 8003 by a mechanical sensor couple 8006.

[0086] A mechanical sensor couple has the advantage of allowing free movement of the positional guide 8002 while remaining connected to the electrical mechanical sensor 8009 like the control of a finger on a joy stick, where finger joints allow a finger to freely guide movement of a mechanical stem of a joystick while remaining in contact. In at least one embodiment the electrical mechanical sensor 8009 or wireless sensor 8005 are operatively coupled to an electronic circuit board Figure 7 7009 with the advantage of providing motion input to a computing device. The electronic connection may be wired or wireless and include power and data connections.

[0087] Referring now to Figure 9, there is shown a side view and side cutaway detail views where motion translates to movement of a cushion 9006 by means of optical sensing. In at least one embodiment an optical far sensor 9002 which tracks movement of an optical marker 9003 positioned on the inside of the seat cushion 9006. The optical far sensor 9002 reading the optical marker positioned on the underside of the seat 9003 has the advantage of measuring body movement just underneath the seated user Figure 7 7002 for detection of fine movements on multiple axes including up and down and left and right movement. In at least one embodiment the optical far sensor 9002 is reaches inside the cushion forming a cushion sensor couple 9001 which allows it to remain prone while the cushion moves.

[0088] In at least one embodiment the optical far sensor 9002 is integrated as a plug for an inflatable cushion. In at least one embodiment an optical near sensor 9005 reads movement of an articulating pivoting cap 9004. The optical near sensor 9002 reading the movement of an articulating cupped surface 9004 has the advantage of providing input like a track ball being able to translate motion of the full cushion 9006 from the user Figure 7 7002 with precise sensor measurement and tight mechanical interface. The optical far sensor 9002 or optical near sensor 9005 is electronically connected to an electronic circuit board Figure 7 7009 via a wired or wireless interface with the advantage of providing motion input to an interactive computing device.

[0089] Referring now to Figure 10 there is shown a perspective view and a side view where the cushion 10001 includes contoured surfaces 10002 with the advantage of providing additional support for the legs of a seated user enabling a straddle position and more precise control of lower body, leg and foot movement. In at least one embodiment the contoured surfaces are indentations on a seat cushion. In at least one embodiment the contoured surfaces involve an adjustable surface.

[0090] Referring now to Figure 1 1 there is shown a flow chart of the translation of movement from the input device into electronic signals and instructions for computing devices. The translation of movement is accomplished by electronic polling of sensors for state and changes and relaying these signals via an electronic interface including the embodiment of the electronic circuit board Figure 7 7009 and Figure 3 3008 to computers, mobile devices such as smartphones and tablets, handheld gaming devices, head mounted computing devices, head mounted computing devices with head mounted displays, and other computing devices. Feedback and interaction may also be provided by software input from these devices to interactive sensors such as those in Figure 2 2006 for feedback including but not limited to sound, vibration, light, light effects, steam or smoke, and other interactive effects. In some embodiments lighting of the cushion may indicate desired states of the user such as red for do- not-disturb or green for available.

[0091] User movement on the input device creates rotational, pitch, yaw or other sensor detectable state change 11010. Sensors of the input device undergo state change(s) 11020 because of user movement on the input device. The state change(s) are communicated to a sensor state buffer 11070. The sensor state is placed on a Bus interface 11080. The result is an input signal received by a motion interface device driver and/ or application software 11100. Because of the input signal the software creates interactive response(s) and delivers it to an interface device driver 11110. As a result, feedback and interaction elements may be initiated 11040 causing the device to provide interactive feedback, such as haptic feedback, or other user feedback known to those having skill in the art. Following the provision of interactive feedback, and contemporaneous to the provision of interactive feedback, the device continues to detect user movement and convert that movement into detectable state changes in the device's sensors.

[0092] Figure 12 represents an exploded view of an embodiment of the input device is shown. The input device in this embodiment comprises an ergonomic seating surface 12000 which couples to an endo / exoskeletal seating 12005. A shroud surface 12010 and endo/exoskeletal shroud 12015 surrounds the endo / exoskeletal seating 12005. A system chassis 12025 serves as a central support structure to which the other components are attached. The system chassis sits on a plurality of feet 12030. The feet serve aesthetic functions as well as serving to adjust the height of the device. The feet may further comprise casters for rotation/translation. The feet may further comprise fixed tangential wheels for axial rotation. A foot ring / trim bezel / kick plate 12020 fits over the base of the system chassis.

[0093] Figure 13 shows an embodiment of a rotation assembly of an embodiment of the device and comprises a rotating portion 13000 which in this embodiment holds the sensor and seating surface structure, a rotation sensor pickup 13010, a rotation indicator 13020, a turntable 13025 and a stationary base portion 13030.

[0094] Figure 14 shows an exploded view of a directional seat portion of an embodiment of the input device. The seat portion further comprises a lower seat support 14030 onto which is mounted an upper seat shape cutout 14010, which provides space for the inclusion of a haptic feedback device 14020. A seat switch assembly 14040 which in this embodiment comprises 4 switches that are mapped to the "W", "A", "S", "D" keys of a keyboard is included. A joint 14060 sits between the chassis and the directional seat portion. Shafts 14070 are adjustable for elevation and location and serve as fulcrums for seat pivoting. Shaft holes 14080 for adjustable fulcrums position points for seat pivot and a switch carrier 14090 for adjustment range mounting surfaces are also provided.

[0095] Figure 15 shows a gimbal that reduces a digital on/off switch scenario to a simple one board solution. The gimbal comprises outer mounts 15010, in this case, seat mounts, a gimbal X-axis spanner 15020, a gyro / accelerometer / anglo meter sensor 15030, inner mounts 15040, in this case chassis, and a gimbal Y- axis spanner 15020.

[0096] Components of an example machine able to read instructions from, for example, a non- transitory machine-readable medium and execute them in one or more processors (or controllers). Specifically, a machine in the example form of a computer system 1300 within which instructions 1324 (e.g., software or program code) for causing the machine to perform any one or more of the methodologies discussed herein may be executed. In alternative embodiments, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server machine or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.

[0097] The machine for this configuration may be a mobile computing device such as a tablet computer, an Ultrabook (or netbook) computer, a personal digital assistant (PDA), a cellular telephone, a smartphone, a web appliance, or like machine capable of executing instructions 1324 (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term "machine" shall also be taken to include any collection of machines that individually or jointly execute instructions 1324 to perform any one or more of the methodologies discussed herein.

[0098] The example computer system 1300 includes one or more processors 1302 (e.g., a central processing unit (CPU) and may also include a graphics processing unit (GPU), a digital signal processor (DSP), one or more application specific integrated circuits (ASICs), one or more radio-frequency integrated circuits (or chipset) (RFICs), a wireless fidelity (WIFI) chipset, a global positioning system (GPS) chipset, an accelerometer (one, two, or three- dimensional), or any combination of these). The computer system 1300 also includes a main memory 1304 and a static memory 1306. The components of the computing system are configured to communicate with each other via a bus 1308. The computer system 1300 may further include a graphics display unit 1310 (e.g., a plasma display panel (PDP), a liquid crystal display (LCD), glass display) which may be configured for capacitive or inductive touch sensitivity to allow for direct interaction with software user interfaces through the display 1310. The computer system 1300 may also include an alphanumeric input device 1312 (e.g., a keyboard), a cursor control device 1314 (e.g., a mouse, a trackball, a joystick, a motion sensor, or other pointing instrument), a storage unit 1316, a signal generation device 1318 (e.g., a speaker), and a network interface device 1320, which also are configured to communicate via the bus 1308.

[0099] The storage unit 1316 includes a machine-readable medium 1322 on which is stored instructions 1324 (e.g., software) embodying any one or more of the methodologies or functions described herein. The instructions 1324 (e.g., software) may also reside, completely or at least partially, within the main memory 1304 or within the processor 1302 (e.g., within a processor's cache memory) during execution thereof by the computer system 1300, the main memory 1304 and the processor 1302 also constituting machine-readable media. The instructions 1324 (e.g., software) may be transmitted or received over a network 1326 via the network interface device 1320.

[0100] While machine-readable medium 1322 is shown in an example embodiment to be a single medium, the term "machine-readable medium" should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, or associated caches and servers) able to store instructions (e.g., instructions 1324). The term "machine-readable medium" shall also be taken to include any medium that can store instructions (e.g., instructions 1324) for execution by the machine and that cause the machine to perform any one or more of the methodologies disclosed herein. The term "machine-readable medium" includes, but may not be limited to, data repositories in the form of solid-state memories, optical media, and magnetic media.

[0101] Figure 16 illustrates mechanisms for addressing and providing for variable movement speed controls. In embodiments a combination of analog tilt and switches create move modifier conditions, which could have the analogous function to pressing 'shift' or 'control' on a keyboard based on the angle of the seat. For example, the angle of the chair begins after a dead zone and then it tilts enough to create the slow to medium speed move, and then the switch creates the "shift" for "sprint" or a combination thereof where the switch could be made first for move, but still be in the analog dead zone, and then after the switch is made and more tilt is added to read outside of the dead zone, it could be interpreted as sprint. It may be desirable to use the tilt angle of the surface to imply relative velocity that would increase as angle increased, and then use the switch for a function such as jump.

[0102] It may be desired for a user to tune their experience. This would require the ability to change fulcrum points, resistance, travel limits, and even sensitivity. Therefore, the following is provided: Shown in Figure 17A is the seating substrate to which is mounted the accelerometer and gyroscope. Figure 17B is the substrate removed to show the switches.

[0103] To allow the rotation of the support with respect to the switches and bumpers, the seat support is coupled to a skeleton support. The seat exoskeleton, seat support, and seat have a longitudinal axis L which is rotatable with respect to the floor about this axis L. As shown, a bearing is disposed between a lower surface of the skeleton and the floor which allows the relative rotation of the skeleton, the support and the seat with respect to the floor. The seat support and seat are pivotally coupled to a top surface of the seat skeleton in a manner which restricts the rotation of the seat and seat support with respect to the support skeleton. Disposed between the seat support / seat and the skeleton is a flexible coupling which can be a love-joy coupler, a universal joint, a cv joint, or a polymer or metal braid tube which allows for the rotation of the seat surface in a plurality of directions perpendicular to the longitudinal direction. Preferably, the coupling allows for the rotation in any direction perpendicular to the longitudinal direction.

[0104] The input device can have a floor engaging member having a floor engaging surface and a longitudinal axis generally perpendicular to the floor engaging surface. The skeleton support structure having a seat support surface generally parallel to the floor engaging surface. A rotatable bearing is disposed between the skeleton support structures configured to allow relative rotation of the skeleton support structure about the longitudinal axis with respect to the floor. A seat support is placed over the skeleton support structure. There is a coupling member disposed between the seat support and the seat support surface the coupling member pivotally coupling the seat support surface to the seat support member in a manner which restricts the rotation of seat support with respect to the support skeleton about the longitudinal axis and allows for the rotation of the seat support member in a plurality of directions perpendicular to the longitudinal direction. As described above, a plurality of sensors configured to detect the movement of the seat support with respect the seat support surface and provide a signal thereof.

[0105] The input device which is intended to measure the change in angle of the seat support with respect to the skeleton frame can have a first, a second, and third bumpers each radially disposed about the longitudinal axis. The plurality of sensors configured to detect the movement of the seat support are radially disposed about the longitudinal axis at a first radial distance from the longitudinal axis. The first and second bumpers are disposed at a second radial distance from the longitudinal axis, the second radial distance being less than the first radial distance. The third bumper is disposed at a third radial distance from the longitudinal axis, the third radial distance can be less than the first radial distance and different than the first radial distance.

[0106] The bumpers can be supported in members defining plurality of holes configured to allow the selective placement of the first and second bumpers to change the relative radial location from the longitudinal axis. The first and second bumpers can have vertical adjustment in the form of a thread. The input device can have at least one binary on/off switches which provides a digital output signal or at least one analog sensor which provides an analog output signal. In this regard, the analog sensor detects one of the change in resistance and a change in capacitance

[0107] By positioning the bumpers in different partem holes or relative position locations, as depicted in Figure 18 the user can increase or decrease effort required for actuating any of the switches. The binary on off switches which provide digital input can also be adjusted to be in different scenarios as well. It would be possible to put multiple switches in the same adjustment range. In this regard, application of forces by the user onto the seat causes rotation of the seat support member about a line of action defined by two adjacent bumpers. These bumpers can be two forward bumper Bl and B2, two sides bumpers B3 and B4, or Bl and B3 should the movement be along an angle of between zero and 90 degrees from a forward direction. The engagement location of the switches can be adjusted by varying the engagement height of the switches with respect to a bottom surface of the seat support member or seat.

[0108] In some embodiments, as shown in Figure 19 the switch system mounts switches on a cantilever so that the switches can travel to extents and then the cantilever will flex before and after switch actuation to ensure that the switch engagement is consistent and the force from a rigidly mounted switch could be destructive. There is also a travel limitation block that can be exchanged or lowered. In some embodiments, above each switch range is a ramp that can be slid to a lower or higher profile to increase or decrease sensitivity of the switch.

[0109] In some embodiments, as shown in Figure 21 A the use of a belt and I or gear combined with a motor provides feedback into the seat to provide guidance or resistance to user input. This allows for force feedback (like popular racing simulator steering wheels) which in VR, could be implemented as director's nudges/encouragement to ensure that the participant is not missing key cinematic or other important events. The use of an encoder to track angular position is provided. The encoder can be part of the motor, in some embodiments, and is driven through gears or belt mechanisms. In other embodiments, as shown in Figure 21B it can be a simple as sticker that is applied and read by an optical encoder. Shown here is a sticker that is applied to the turntable.

[0110] The drive can be placed to cause rotation of the skeleton support structure, seat support, and seat with respect to the floor about the longitudinal axis L. Optionally, linear actuators can be positioned adjacent to the bumpers to cause slight rotation of the seat support with respect to the skeletal frame.

[0111] Using an encoder and a motor as shown in Figure 21C allows for intelligent force feedback, user orientation prompting and/or enforcement. In some embodiments the motor is direct drive while in other embodiments a transmission is employed. Shown here (Fig 21C) is a wheel that could be toothed or belted in engagement to the turntable to provide the rotary force necessary. In some embodiments, as shown in Figure 10, the pivot point is positioned high on the seat to facilitate ease of use, comfort and control.

[0112] Switch cartridge, located between two surfaces that approach each other as the top surface "2" is deformed by input from occupant; 2. Seating surface concave or convex; 3. Adjustable collar for modifying flexure characteristics; 4. Form that meshes well with the body (thighs, calves, heels, ankles; 5. Turn table; 6. Location of rotary encoder; 7. Wall could be self-supporting polymer or collapsible "pressurized" exercise- ballish; 8. Can be a belt or tube that could contain matter to pressurize to decrease flexibility; and 9. Location of sensing device for pressure as well as magnetometer, accelerometer, compass, gyro, etc "MPU.

[0113] Control seats as described herein are also useful in an augmented reality environment. By providing a target surface for the occupant and display, and combining the rotary encoder, the occupant can be presented with an augmented world that is updating properly in accordance with the user's position. In such embodiments a rotary encoder detects the radial position I orientation of the user and communicates that information to the computing device rendering the augmented reality such that the computing device can adjust the position of the augmented reality content so that it matches the user's position in the real world.

[0114] Figures 22a and 22b represent the problems associated with tiltable and rotatable chairs. As is known, movements in VR and AR systems consist of rotations and translations. These movements are measured by the vestibular system comprise two components: a first which indicates rotational movements; and a second, which indicates linear accelerations. The vestibular system sends signals primarily to the neural structures that control eye movements, and to the muscles that keep an individual upright. Discoordination of these signals leads to motion sickness when using VR and AR systems. In seated position's forward and rearward torso rotation must be minimized to prevent vertigo. In this regard, the systems described herein will function to provide a controller where a user can actuation movement within the VR system by swiveling his or her hips with respect to the floor and by leaving the torso generally upright. This will pave the head in a position + or - 30 degrees from vertical and preferable + or - 15 degrees from vertical.

[0115] Figures 23a - 23i represent an alternate input device for virtual reality according to the present teachings. Shown is an alternate input device in the form of a chair having a floor engaging member having a floor engaging surface and a longitudinal axis generally perpendicular to the floor engaging surface. A skeleton support structure having a seat support surface generally parallel to the floor engaging surface. A bearing disposed between the skeleton support structure is configured to allow relative rotation of the skeleton support structure about the longitudinal axis with respect to the floor. As shown in Figures 23d-23F, a pair of hinges are disposed between the seat support and the seat support surface the coupling member pivotally coupling the seat support surface to the seat support member in a manner which restricts the rotation of seat support with respect to the support skeleton about the longitudinal axis. The pair of hinges in the form of a double hinge allows for the rotation of the seat support member in a plurality of directions perpendicular to the longitudinal direction.

[0116] As described above, a plurality of first sensors configured to detect the movement of the seat support with respect the seat support surface and provide a signal thereof. An additional rotation sensor is provided which is configured to measure rotation of the skeleton support structure with respect to the floor. As described above, the seat support can include first, second, and third bumpers each radially disposed about the longitudinal axis to affect the kinematics of the rotation. The first and second bumpers can be disposed at a second radial distance from the longitudinal axis, the second radial distance being less than the first radial distance. Further, the third bumper is disposed at a third radial distance from the longitudinal axis, the third radial distance being less than the first radial distance and different than the first radial distance.

[0117] Figures 23H and 23 I represent cross sectional views of the chair shown in figures 23a- d. Shown is the floor engaging surface which supports a bearing set which allows the rotation of the skeletal support structure a seat by a user's feet. Disposed through a central cone, is a slip ring member, which allows for the electrical connection of power, sensor data, or video data. As shown in figure 231, a pair of hinges can be disposed between the seat and seat support surface. By placing the hinge pivot pins within slots defined within the seat or the seat support surface, the overall profile of the piviotable connection can be minimized.

[0118] Figure 24 represents a cinematic feedback device for a VR input device. Optionally, the input device further has an actuator configured to apply a force to one of the support structure, and a seat support to signal a user. This actuator can be in the form of a gear set which applies forces to the gear set to cause rotation of the user in the chair. Also shown is a slip ring electrically disposed along the longitudinal axis, the slip rings configured to bring at least one of power, sensor signals, or video signals through a rotating interface.

[0119] Figures 25a - 25b represent a height raising device for the input device shown in Figures 23a - 23i. By applying forces to the angular interfaces through a pair of displaceable pins, the distance between the seat and the seat support surface can be adjusted. Sensors positioned relative to the hinge components can measure relative changes of the flanges within the interface. As can be seen, a height adjusting mechanism can be disposed between that seat and the seat support in a manner which allows the relative rotation of the chair.

[0120] Figures 26a - 26d represents an alternate tilt mechanism for the input device according to Figure 23a - 23i. Shown is a pair of hinges in an alternate configuration to that shown in Figures 25a-25b. Shown is a first fore hinge, and a second aft hinge which allow for the relative fore and aft rotation of the seat with respect to the seat support.

[0121] Figures 27a - 27b represent perspective and cross-sectional images of an alternate input device. Shown is a blow molded support structure configured to accept an annularly disposed inner tube. The inner tube resists the relative the rotation of a seat portion of the chair with respect to a conical base. Disposed between the seat and the support base is a plurality of sensors configured to measure the rotation of the seat portion with respect to the base portion. Optionally, these sensors scan be used to measure an amount of elastic deformation of the inn- tube in a specific direction. These sensors will provide an analog or digital signal indicative of a desire movement.

[0122] Figures 28a - 28b represent perspective views of an alternate input device according to the present teachings. Shown is a molded or metal support structure skeleton configured to support a support member. Disposed on the support member are a plurality of linear measurement sensors configured to measure linear movement of the seat with respect to the an annularly disposed inner tube. As opposed to the other embodiments, these sensors are configured to measure the perpendicular displacement of the seat with seat support member as opposed to the relative rotation between these two members. It is envisioned that the linear displacement sensors can be used in conjunction with the rotational sensors. Springs can be used to bias the linear movement into a center position. Disposed between the seat and the support base is a plurality of sensors configured to measure the rotation of the seat portion with respect to the base portion. Optionally, these sensors scan be used to measure an amount of elastic deformation of the inn-tube in a specific direction. These sensors will provide an analog or digital signal indicative of a desire movement.

[0123] Figures 29a - 29c represent alternate VR input devices according to the present teachings. Shown is an alternate angular support skeleton. The support skeleton can support the dual hinge or gimbal interface with the seat. Figures 30a - 30b represent optimal covers for the input devices shown above.

[0124] Figures 31 a - 31 d represent an alternate input device according to the present teachings. Shown is an alternate rear side support skeleton. The support skeleton can support the dual hinge or gimbal interface with the seat.

[0125] Figure 32 represents an alternate input joint according to the preset teachings. This input joint can be placed between the support structure and the seat support member. The input joint has a second rotational interface which allows a user to input a sliding motion into a character in a VR or AR space. In this regard, a user can apply left to right forces causing rotation about rotational axis 2. The rotation can be used as an input to cause the character to slide left to right. (Or visa 'versa).

[0126] Figures 33a - 33h represent alternate support structure for a VR input device. This construction can be used as a seat support or can conversely hold a suspended seat in the central hole. In an embodiment, an omni directional treadmill with a foldable support scaffold is provided as shown in Figures 33a- 33h. The scaffold includes ring height adjustments with no linear slides. The construction of the scaffold uses a common part in many places for economical tooling and construction, creating a strong, light, efficient, robust, and collapsible mechanism. A mechanism capable of being powered up or down at one or more points of contact to reduce weight felt by occupant (unweighing mechanism) or increase weight felt by occupant or to penalize for "weightlessness" in simulation. Height of device can easily be calculated when read by rotary encoders on pivots and could be balanced easily by a linear spring or a rotary spring at any one joint. Several units could easily stack or be put on edge and stored. In some embodiments the scaffold is constructed from extra durable materials so that it is sturdy enough for containerization for platoon to brigade level training exercises. Lengths of the linkages could be adjusted to limit travel. It is preferred that the link ratios be maintained so that the top plane of the mechanism is parallel to the bottom plane of the mechanism.

[0127] This device, utilizes, in some embodiments, simple pivots in place of complex, sloppy, and expensive linear rails. Each pivot or any pivot could contain balance springs to reduce the weight felt by an occupant, or increase the weight felt by an occupant. The device could be driven up or down by a single point as well to provide desired simulation results. The axes indicated by the arrows share locations for torsion or rotary springs for reducing or increasing the weight felt by an occupant. Rotary dampers could be applied to slow movement in some embodiments. A single rotary encoder could be applied to know the exact location of the top plane of the device to help software understand the stature of the occupant as well as information as to if the occupant is prone, crouching, jumping, or standing.

[0128] Figure 33a depicts the support in a collapsed storage condition. A user whose hips are coupled to the inner ring can crouch within the device. As the user stands, the height of the ring with respect to the ground will increase. A non-friction convex low friction surface can allow the user to "run" within the device. The entire construction can be disposed above a lazy-Suzan type bearing with supports the rotation by the user. As shown in figure 33F, the device can be used to reduce the weigh impact of a user by lifting the user in a saddle relative to the concave floor surface. As shown in figure 33h, each solid link upper could be replaced with a plurality of linear actuator with spherical joint or "heim" joints. The gross elevation of the platform could be controlled by linear actuator still, while the angle of the seated platform could easily adapt to angles requested by software, thereby decreasing latency and allowing less powerful hardware. As shown on figure 33h, each one of the joints can be used to measure the rotation of the support member with respect to each other. Because of the configuration, any single measurement will provide the relative movement of the rest of the joints and as such the height of the upper support ring. This measurement can be made using for instance a rheostat or an optical encoder.

[0129] Figures 34 - 37c are alternate coupling devices used in the system above. In this regard, these couplings allow relative rotation of the seat with respect to the base in directions perpendicular to the vertical axis, while fixing the support and seat together rotationally.

[0130] As shown in Figures 39- 49, the control system may be deployed on a variety of different devices. For illustration purposes, an VR trainer system 198 will be featured in this example. The VR trainer system 198 is positioned on a surface which can be a mobile platform such as an aircraft 199. Once engaged, the VR trainer system 198 simulates the movement of a vehicle on a trajectory dictated by the human interface devices 204. In the case of the VR trainer system 198, the vehicle can follow its own guidance system and operates under its own propulsion. The control system disclosed here provides a deployable VR training system which can be used to rehearse a flight training of numerous numbers of vehicles.

[0131] As shown in Figures 39 through 50, the virtual reality trainer 198 has a base 200, having an optional seat 202, and a plurality of human interface devices 204. Additionally, the virtual reality trainer 198 has a virtual reality system 206 in the form of a head mounted display or goggles. The base 200 defines a seat coupling number 208 which couples the seat 202 to the base 200. It should be noted that the seat 202 can take the form of an input device as described above with respect to figures 1-37. To allow folding and transportation of the trainer 198, the base 200 is formed of more than one generally plainer member 210, which are coupled together by at least one hinge 212. As shown in Figures 40 through 46b, the base 200 has a display support number 214 and a plurality of human interface devices coupling interfaces 216.

[0132] The system allows for the fast and easy customizable change of a trainer by simply changing the human interface devices at the couplings. In this regard, each human interface device has a specific coupling electronic connector which is accepted by the coupling. Depending on the pin output and data being sent through the connector, the system will acknowledge which human interface devices are being used and project onto the computer screen possible vehicles to be used in the training system. As can't be seen, the sticks and armrest can be specifically designed to have button inputs which mimic those of the real vehicles being flown or deployed.

[0133] The system is specifically designed to have a virtual reality headset which allows the user to turn her head while flying or controlling a vehicle through a scenario in virtual reality. Additionally, it is envisioned that the system shown in Figures 40 through 48 can be used to control drones or unmanned vehicles.

[0134] Figure 39 shows an exemplary electronics package at 300, which comprises a set of axially aligned, interconnected circuit boards which comprise the respective sensors for single or multiple axis human input devices. These systems are preferably performed using their own dedicated subsystems, with power supplied to all subsystems from a common power source. Note that the human interface devices and VR headset system is coupled to the control system through a computer, to allow the control system to control whether the human interface devices can be safely engaged. The control system is responsible for determining which vehicle is being simulated or controlled by looking at the pins associated to an electrical connector associated with each Human interface device. In other words, the system uses its own accelerometers, gyroscopes, radio receivers, GPS receivers and the like; for reliability and fail-safe reasons these system components are preferably not shared with the control system. As best described below, the base member has a 9 DOF sensor set 305 which includes a magnetometer and a thermometer which is used as a reference in case the base member 200 is placed onto a moving platform.

[0135] The exemplary electronic circuit board package 300 generally is used to measure the angular position of a seated user. In this regard, the package can be configured to measure the relative change in of a user with respect to the reference frame. In this regard, the package sensors can be used to measure the change in angle of the user's thighs or hip about an axis parallel to the floor or the earth's surface, as by measuring the change in angle of a top or bottom surface of the seat bottom or seat support structure. This change in angle, in the forward or reverse direction is measured, and is translated by the system into an output signal that is used to move a user's perspective within the augmented or virtual reality environment.

[0136] As opposed to simply measuring rotational or linear acceleration to determine the changing in angle, the electronic circuit can have for instance an IMU that has at least a u n iaxial accelerometer package. These accelerometers can use the earth's gravitational pull and the rotation of the accelerometers about an axis parallel to the earth's surface and with respect to the gravitational line of action to determine rotation of the electronics package. This relative rotation of the accelerometers with respect to the gravitational lines can be used to generate a forward or back signal which is used to, in the forward or reverse direction is measured, and is translated by the system into an output signal that is used to move or change an image with the augmented or virtual reality environment. Noise put into the accelerometers can be removed by use of a low pass filter, which can remove movement components of the accelerometer signal, and allow the measurement of only the unchanging earth gravitational signal.

[0137] In addition to measuring the relative acceleration of the electronics circuit board package 300 can include a magnetometer that will determine the orientation of the circuit board package relative to the earth's magnetic field. In this regard, the magnetometer will provide a signal indicative of a relative compass heading. Rotation of the user or chair about a central axis that is generally in line with or parallel to the earth's gravity can be measured by monitoring the change in compass heading of the circuit 300. The measurement of the heading and the magnetic field can be used to produce a signal that can be used to calculate a change in angle, in the in left or right rotation. This is translated by the system into an output signal that is used to move (rotate) a user's perspective within the augmented or virtual reality environment. This change can be used for instance to rotate the direction of a user's torso within the AR/VR space. The IMU can use a Kalman filter to integrate changes in the relative angular position of the circuit board 300 with changes in the measured magnetic field to reduce error.

[0138] The electronic circuit board 300 can be physically and separably coupled to a chair to measure rotation of an occupant. In this regard, the electronic circuit board can be placed on a seat bottom structure. The board can be for instance directly coupled to the seat bottom using a selectively releasable structure or material. This can be for instance can be Velcro™ or a selectively releasable bracket.

[0139] The circuit board 300 can be located near the pivot point of a seat and support interface or can be located at a front or rear edge of the seat bottom or support structure. Additionally, the circuit board can be located on a seat back support structure. As shown in figure 42 and 43 the coupling of the circuit to the seat back structure allows a user to lean backward to affect a large signal. Optionally, in the case of for instance a vehicle simulation, leaning in a rearward direction can impart forward movement. The addition of gravity in this configuration can simulate forces encountered due to acceleration, thus reducing the chance of sickness caused by disruption of the vestibular system.

[0140] The circuit 300 can be used as an input device for manipulating a streaming image, for a seated user. The input device includes, a floor engaging member having a floor engaging surface and a longitudinal axis generally perpendicular to the floor engaging surface. Disposed between the user and the floor engaging member is a support structure having a seat support surface generally parallel to the floor engaging surface. A bearing is disposed between the support structure and the floor engaging member. It is configured to allow relative rotation of the support structure about the longitudinal axis with respect to the floor. A seat support is provided which can support a seat cushion. A joint, having a neutral, a forward, and a reverse configuration, is disposed between the seat support and the support structure, the joint pivotably coupling the seat support surface to the seat support in a manner which restricts the rotation of seat support with respect to the seat support about the longitudinal axis and allows for the rotation of the seat support in a pair of directions perpendicular to the longitudinal direction. A circuit having a plurality of accelerometers configured to measure a component of gravity, each accelerometer configured to provide a signal indicative the component of gravity, said circuit configured to measure changes in at least one of the signals indicative of a gravity component and provide an output signal indicative of the rotation of the seat support with respect the seat support surface.

[0141] The plurality of accelerometers is configured to detect the movement of the seat support and are radially disposed about the longitudinal axis at a first radial distance from the longitudinal axis. Optionally, the input device has at least one magnetometer configured to provide a signal indicative of a direction with respect to the earth's magnetic field. An IMU can be operably coupled to the plurality of accelerometers and the magnetometer. Optionally, a rotation sensor configured to measure relative rotation of the seat support with respect the floor bearing surface and provide a signal thereof. As described above, the input device can have an output device having at least one piezoelectric actuator configured to provide a vibrational output.

[0142] The input device for a seated user can be used by a user seated on a chair having a floor engaging member having a floor engaging surface and a longitudinal axis generally perpendicular to the floor engaging surface, and a skeleton support structure having a seat support surface generally parallel to the floor engaging surface. The seat can include a bearing disposed between the seat and the floor engaging member, configured to allow relative rotation of the skeleton support structure about the longitudinal axis with respect to the floor. A pivot joint can be disposed between the seat and the seat support surface the pivot joint pivotably coupling the seat support surface to the seat in a manner which restricts the rotation of seat with respect to the skeleton support structure about the longitudinal axis and allows for the rotation of the seat in a plurality of directions perpendicular to the longitudinal direction.

[0143] The input device includes a plurality of first sensors configured to measure changes in orientation of the seat by measuring components of gravity indicative of movement of the seat support with respect the seat support surface and provide a signal thereof, and a rotation sensor configured to measure rotation of the skeleton support structure with respect to the floor. The rotation sensor can contain a magnetometer.

[0144] The plurality of first sensors are configured to detect the movement of the seat are radially disposed about the longitudinal axis at a first radial distance from the longitudinal axis. These plurality of first sensors can be disposed adjacent the user's ribs or can be are coupled to one of a seat bottom and a seat back. Optionally, the rotation sensor provides a signal indicative of a compass heading. The seat can have a slip ring electrically disposed along the longitudinal axis, the slip rings configured to bring at least one of power, sensor signals, or video signals through a rotating interface. As described above, a VR headset can be coupled to the slip ring.

[0145] In use the system provides method of displaying a three-dimensional virtual reality space for at least one user, the method includes the steps of receiving a plurality of signals from a plurality of accelerometers configured to measure a component of gravity, each accelerometer configured to provide a signal indicative of the gravity component. Changes in at least one of the signals indicative of the component of gravity is calculated by subtracting successive changes in the measured value in time. An output signal indicative of the rotation of the seat support with respect the seat support surface is provided.

[0146] The system then acquires three-dimensional graphics data associated with a geographic region to be used by the plurality of users in a shared manner and an update object whose state is updated according to an operation performable by each of the plurality of users. The three- dimensional graphics data is functionally coupled to a physics engine configured to physical rules to obj ects within the virtual reality dataset. A display engine is coupled to the physics engine to convert the dataset into first and second content streams. A first content set from the three-dimensional graphics data is streamed to a VR headset and a second content set three- dimensional graphics data to the VR headset. The first content set in the VR headset is changed in response to output signal indicative of the rotation.

[0147] The afore mentioned circuit can for instance be mounted to a user's chest or back using an appropriate strap or support harness. In this configuration, the circuit can be used to measure and calculate the changes of angle with respect to ground (measuring the direction of gravity described above) or can be used to measure the relative heading of the user with respect to the earth's magnetic field. As described above, the measured changes of the chest or back about an axis parallel to the earth's surface or about the earth's gravitational line that is perpendicular to the earth's surface.

[0148] The VR system 306, Human interface devices, and the sensor 305, operate upon data in three dimensions and three axes of rotation. This is because the reference frame of each of these sensors may potentially undergo not only translations in three-dimensional space but also rotations about each of the pitch, roll and yaw axes.

[0149] Depending on the human interface device 204, the human interface devices coupling interfaces 216 have a selectively engageable mounting members having selectively engageable degrees of freedom. In this regard, one human interface device can be a pedal, or pair of pedals 218 which can rotate about a single axis. Alternatively, one coupling interface 216 can accept a central stick 220 which can be selectively constrained for single or two axes of rotation. The stick can accept a plurality of handle grips 221 which can be configured for a specific vehicle. The human interface device accepting coupling interfaces 216 are configured to hold many types of human interface devices such as a single stick, a pair of control sticks, foot pedals, or rotatable steering wheels. Depending on the type of vehicle being used in virtual reality, different human interface devices will be coupled to the human interface device couplings 216 and onto the base 200. This allows a single VR interface system 198 to be used to simulate and control many VR vehicles remotely.

[0150] The base, can be positioned on top of any flat surface such as a floor in a building. Additionally, it can be fixedly couples to the floor of a mobile platform such as a Humvee or and aircraft such as a C-130. The use of the virtual reality system allows for multiple users to be seated in a similar system to have a shared experience within virtual reality. In this regard, the seating systems can be configured for a pilot in one configuration or hey copilot in A second configuration.

[0151] As shown in Figures of 46a and 46B, the system is collapsible to fit into a shipping container such as a PELICAN (TM) case. In this regard, the base member 200 has a plurality of rotatable joints which allows the system to fold into a configuration that allows storage. The seat is configured to fall into a first position away from the base. While the base is configured to collapse along two axes to allow before portion of the base to be located adjacent to the seat.

[0152] Figures 47 and 48 depict the system for training a user shown in schematic detail. The user is shown on the training device having a plurality of human interface devices. Additionally, the user has a virtual reality headset acts as a display and an input device which allows the user to control a vehicle within virtual reality space. Inputs from the human interface devices are sent to the system model, in this case a physics engine to provide an input into the virtual reality device. Visualizations are then generated by the model and provided to the virtual reality headset. Movement of the head set provides an input into the model which changes the view seen by the user. Optionally, they view can be set either to view of, for instance, an overhead view the vehicle being controlled, or a view through a virtual gimbals camera in virtual reality space.

[0153] Alternatively, the system can be used to steer a real autonomous vehicle such as a drone. In this regard, the human interface device will be used to communicate with the model which is coupled to a set of transceivers which communicate with the unmanned vehicle. The model sends at least 9 degrees of freedom of data to the drone to allow control of the drone's control surfaces. In one instance, the user can selectively engage the visual system which will allow the user to see the drone in virtual reality space which is mimicking the real world. In another instance, the user can selectively engage camera elements on the drone such as a gimbaled camera. While the drone is being flown using sticks and pedals, a camera gimbals' movement is controlled by movement of the user's head. Views from the camera can be streamed directly into the users head mounted display as opposed to through the engine.

[0154] Because each of these training simulators can be supported on mobile platforms, there is a problem with respect to movement of the human interface devices with respect to ground. This is because the moving platform will induce accelerations into the accelerometers when the mobile platform changes velocity or direction. In this regard, for example should the trainer system be coupled to the floor of a C-130 aircraft, movement of the aircraft would add additional Errors to the accelerometer inputs from the human interface devices as well as the VR head mounted display. To accommodate this error, as described below the reference frame for the human interface device and the virtual reality goggles must be adjusted, either using an Euler or quaternion transformation. A set of sensors positioned on the base is used to provide a signal which is either subtracted or added to the acceleration signals given in the human interface device or virtual reality goggles to correct errors caused by movement of the mobile platform (e.g. C-130) in the Earth's reference frame. These corrections allow for the proper use of the training system as well as an autonomous vehicle in a mobile platform.

[0155] If the training devices being used to steer a real drone, the reference frame of the drone must also be considered, thus leading to multiple transformations of data to and from the autonomous vehicle. And this can regard, the graphics engine will additionally adjust the view as seen by the user in the VR goggle system. In situations where the user is also controlling the camera system of a gamble on the drone, the reference frame between the drone and the camera must also be accounted for, leading to an additional transformation. As shown in Figure 48, a truth table is depicted which shows the transformations which need to be accomplished for a given situation. For example, should be the trainer be used on a fixed platform in virtual reality mode, transformations Tl and T3 need to be accomplished should the camera be controlled by movement of the virtual reality headset, transformations Tl, T3 and T4 are needed. When on a mobile platform, to allow for the proper steering of the drone using the human interface devices, transformations Tl, T2 and T3 are needed. Similarly, when the gimbaled camera is being controlled by the headset on mobile platform transformations Tl, T2, T3 and T4 are needed.

[0156] The control system includes a multi-axis accelerometer sets for each human input device as well as the head mounted VR goggles and the base. These accelerometer sets can include a three-axis accelerometer system and a multi-axis gyroscope system, such as a three- axis gyroscope system. The outputs of these respective systems are fed to microprocessor or microcontroller that has been programmed as described more fully herein to perform the control function. Microprocessor may be implemented, for example, using a digital signal processor (DSP) device shown by way of example only in Figure 39.

[0157] One of the challenges of constructing a control system for control of a vehicle, is that the control decisions must typically be made quickly after deploying the device. Given the high speeds with which many modern-day devices travel, a significant distance can be traversed in a short amount of time. Thus, a control system may need to make many hundreds of calculations per second to accurately determine whether proper control has been achieved.

[0158] In most applications where the device is deployed within the gravitational field of a large mass, such as the Earth, forces of gravity do affect the readings obtained by the three-axis accelerometer on the sensor sets and thus the microprocessor is programmed to compensate for this. There are several ways that the initial gravity measurement can be achieved. In one embodiment, data from the three-axis accelerometer system are averaged over a predetermined time interval, such as five second, to arrive at an indication of gravity prior to device deployment or an engagement control. In an alternate embodiment, an external system can obtain a gravity measurement and supply it to the microprocessor. As will be discussed below, the gravity measurement is updated as the safe feedback calculations are being performed. Thus, at each incremental step in the calculations, the effects of gravity are accounted for. When used on a mobile platform, movement of the platform as well as gravity needs to be accounted for.

[0159] Microprocessor is supplied an engagement control signal via the serial port, whereupon it begins tracking motion using data from the three-axis accelerometer and from the three-axis gyroscope. Time zero, position zero and reference frame establishment is completed. Subsequent movements are assessed with respect to these initial starting time, position and reference frame, to determine if and/or when the device has achieved connection for feedback. Traversed distances in each of the three axes are incrementally measured starting from the (0,0,0) position where the three-axis accelerometer was located at the instant of an engagement control. The three-axis gyroscope orientation now of an engagement control defines the axes of the local reference frame onboard the device at the time of an engagement control.

[0160] Next, data are read or sampled from the three-axis accelerometer and three axis gyroscope sensors and certain corrections are applied to the raw data values. For example, in many instances the sensor technology used in the three-axis accelerometer and three axis gyroscopes can sometimes produce non-zero outputs even when they are not undergoing acceleration or rotation. These non-zero outputs are merely an undesired offset attributable to the internal electronic circuitry. To compensate for this, a zero-measured output (ZMO) correction factor is applied to cancel out the undesired offset.

[0161] Next, the microprocessor enters a nested iterative loop. Essentially, the loop computes the incremental distance traveled between the current entry and the previous entry. The microprocessor has values stored within its memory that correspond to the incremental distances traversed, considering any rotations that may have occurred in any of the three gyroscope axes during that increment. These values are transmitted back to the system to allow proper adjustment of the visuals in the head display. The processor compensates for drift of the accelerometer by utilizing data from the three-axis gyroscope, and magnetometers.

[0162] The microprocessor uses the incremental distance traveled, taking all three position dimensions and all three rotation orientations into account, to compute a traveled distance. The traveled distance is generally defined as the distance from the origin (at an engagement control) to the current position of the device. Displacement values in periodic increments, the travel distance is calculated by summing the squares of the individual x, y and z components of these incremental displacements. In this regard, the true incremental distance would be calculated by taking the square root of the sum of the squares. However, to reduce the computational burden on the microprocessor, the square root step is dispensed with. It is possible to do so because the Travelled Distance squared can be readily compared with the safe distance squared to arrive at a safe feedback decision. Having calculated the current travelled distance, the microprocessor then updates distance to make these values available to the feedback algorithm.

[0163] The acceleration data from the three-axis accelerometer (after having been corrected) are used to define global orientation vectors corresponding to each of the pitch, yaw and roll orientations of the virtual or real vehicle. Essentially, the current orientation for each of the accelerometer sensors within the three-axis accelerometer system is accounted for by using data from the three-axis gyroscope. Because the measurement system for computing travelled angle operates on incremental angles, there is a possibility for unwanted cumulative error to creep into the solution. Small incremental changes in position can add up over time to give the impression that a large distance has been traversed when, in fact, the distance perceived is merely an artifact of adding up many infinitesimal values that should have been disregarded. [0164] The acceleration values obtained for the human interface devices, the goggles, or the vehicle can be time integrated by multiplying by a time step interval to arrive at a velocity value. As previously discussed, accelerometers, such as those used in the three-axis accelerometer system produce an output in the presence of gravitational forces or forces caused by movement of the mobile platform with respect to ground. The effect of such forces is not ignored, as they may introduce errors into the solution, particularly considering that the body to which the sensors are mounted may be rotating about any or all the yaw, pitch or roll axes. Thus, the microprocessor compensates by "subtracting out" the effect of gravity and movement of the mobile platform upon each of the acceleration axes, as dictated by the current reference frame orientation.

[0165] With the velocity thus calculated, the microprocessor next performs another time integration to calculate displacement. Time integration is performed by multiplying the velocity by the time step interval. Thus, the microprocessor has calculated a current position based on acceleration data acquired and compensated for yaw, pitch and roll orientation. Of course, the yaw, pitch and roll orientations cannot be assumed constant. Thus, the system calculates and updates the global orientation vector for use during the subsequent iteration.

[0166] The orientation vector updating procedure begins by linearly interpolating angular rate from the last measured value to a present value. Then the angular rates are time integrated to compute an angular displacement value. Computation of angular displacements can be performed using standard Euclidean geometry, Euler angles, and using a mathematical system based on the set of all integer values. Rotations in such conventionally-represented three- dimensional space involve a set of computationally expensive calculations that pose practical limits on the speed at which a given microprocessor can compute rotational solutions. In addition, performing rotations in such three-space can give rise to the so-called Gimbal Lock problem, whereby under certain rotations one or more of the rotational axes can be lost if they become aligned in the same plane.

[0167] The system can optionally shift the orientation calculations from conventional three- space mathematics to a four-space mathematics utilizing quaternion calculations. Unlike the conventional three-space calculations based on real numbers or integer numbers, quaternion calculations are based on a four-space numbering system that encodes three orthonormal imaginary components, sometimes represented as a three-element vector and a fourth component, sometimes represented as a scalar component. Thus, if we define the following three orthonormal imaginary numbers: 1 = 0, 0, 0)

J = (0, 1, 0)

k = (0, 0, 1)

The quaternion can thus be written:

q = q 0 +q = q 0 + i qi + jq 2 + kq 3

In the above representation, the scalar component is qO and the vector component corresponds to the iq 1 + jq 2 + kq 3 component. In a presently preferred embodiment, unit vectors, quaternion elements and other intermediate values that are guaranteed to be within [-2, +2] are stored as fixed-point numbers.

[0168] It is helpful to see that the quaternion can thus be used to encode both rotational information (in the scalar component) and positional information (in the vector component). Quaternion mathematics follows some but not all the operations available in conventional algebra. Notably, quaternion multiplication is not commutative, thus a x b does not equal b x a.

[0169] To utilize a quaternion representation and thereby more efficiently calculate rotations, the processor creates a quaternion representation of measured angular displacements. Generally, the quaternion representation is calculated by applying predetermined trigonometric relationships to the rotation magnitude and combining those results with a normalized rotation vector to generate the scalar and vector components of the quaternion representation. The current rotation quaternion is multiplied with the freshly calculated quaternion value (using a quaternion multiplication operation) to generate an updated current orientation quaternion. Thereafter, the stored current orientation quaternion is used to compute the respective pitch, yaw and roll vectors used to calculate the travelled distance and used to update the gravity vector or translated for movement of the base reference frame.

[0170] Each of the three pitches, yaw and roll calculations correspond to scalar values can be expressed as integers. Beyond this point, however, the system is working with vector quantities (and later quaternion quantities). The transition to vector representation takes place where the scalar values are multiplied by the respective pitch vector, yaw vector and roll vector that are each stored in memory. These respective pitch vector, yaw vector and roll vector values are updated using the current orientation quaternion later in the process.

[0171] The processor performs vector addition to combine the respective pitch, yaw and roll values to form a vector representation of these three orientations. The resulting vector corresponds to a total rotation rate vector, in other words, a vector indicating the rate of change in pitch, yaw and roll with respect to time.

qrotation =

[0172] To represent the total rotation vector as a quaternion value, the total rotation vector is split into two components: a total rotation value magnitude A and a normalized vector component B. The rotation magnitude component A is a scalar value, whereas the normalized rotation vector is a vector value. The total rotation magnitude is then applied using sine and cosine trigonometric calculations and these are then combined at with the normalized rotation vector to generate a quaternion representation of the total rotation vector. A presently preferred embodiment performs the sine and cosine calculations using lookup tables to gain speed.

[0173] The total rotation quaternion corresponds to the incremental value obtained using the current readings from the pitch, yaw and roll gyroscopes. This value is then combined with a previously obtained value stored in memory designated at the current orientation quaternion. In this regard, the current orientation quaternion corresponds to the value previously calculated and in process of being updated using the value calculated. More specifically, the total rotation quaternion is combined with the current orientation quaternion using a quaternion multiplication operation. The result of this multiplication is stored at step back into the current orientation quaternion memory location. Thus, the current orientation quaternion is being updated based on information just obtained from the three-axis gyroscope system.

[0174] The current orientation quaternion, having been updated, is now used to update the pitch vector, yaw vector and roll vector. The updating is performed by performing a vector- quaternion rotation operation (one operation for each of the three pitches, yaw and roll vectors). Focusing for the moment on vector-quaternion rotation operation, the operation is performed by taking the current orientation quaternion and applying to it the unit vector [1.0, 0.0, 0.0] which, in effect, extracts a newly calculated pitch vector which is then stored by process into the memory location. Similar operations are performed for the yaw and roll vectors. Note that the unit vectors differ from one another and from the unit vector to allow the desired component to be selected. [0175] Thus, the orientation information extracted from the three-axis gyroscope system is used to update the respective pitch, yaw and roll vectors, which are in turn used in the next succeeding update operation. In addition to updating the pitch, yaw and roll vectors, the current orientation quaternion is also used to update the gravity vector. This is accomplished by performing a vector-quaternion inverse rotation operation upon the initial gravity vector. The results of this inverse rotation operation are then stored. It will be recalled that the initial gravity vector was initially obtained prior to an engagement control. The gravity vector or base movement vector is mathematically rotated along with the local axis vectors (except in the opposite direction) as the device is physically rotated, such that the gravity vector always points in the same direction (down) in the global coordinate system. When calculating acceleration, the measured acceleration is mapped into the global coordinate system, and then the gravity vector is added to it to get the effective acceleration, or acceleration that results in motion.

[0176] The manner of processing the accelerometer data will now be described. The accelerometer data are first read from the respective x, y and z accelerometers. ZMO correction values are then applied by scalar addition. To these values the scale factor stored in memory are applied by scalar multiplication at steps. To these values the pitch, yaw and roll vectors are applied by scalar vector operations, respectively.

[0177] The result of these scalar vector operations is a set of vectors for each of the x, y and z accelerations. These are combined by vector addition to generate a single vector value representing each of the x, y and z acceleration components. It will be recalled that the gravity vector is updated by the vector-quaternion inverse rotation operation. Vector addition of the gravity of base vector effectively removes the component of the acceleration vector attributable to the force of gravity or the mobile platform.

[0178] It will be seen that the quaternions track the rotation, so that once the processor computes the current orientation quaternion, that current value is used to transform the local axis vectors (yaw, pitch, roll) into the global coordinate system. The global axis vectors are used to determine the direction that the accelerometers are pointing, so that when they are sampled, the resulting accelerations can be added in the correct direction. The travelled distance is calculated by performing a double integral on the 3D accelerations once they have been transformed into the global coordinate system.

[0179] In embodiments, devices, systems and methods for improving elevation and or jump control include measuring the internal pressure of an enclosed seat volume and translating pressure changes to input signals suitable for the control of computer instructions, such as, for example a computer running a virtual reality or similar simulation. The pressure of an enclosed volume of seating structure is measured and corresponds to an axis of control. In use, the occupant I player applies or removes weight to/from the seat by supporting of his or her mass, such as for example by having the user lift his or her body mass off the seat or rest his or her body mass more firmly onto the seat. A reservoir, load cell or other suitable structure in the seat detects a reduced or increased pressure to indicate an input along a gradient or specific point. This change in pressure is converted to a computer readable signal and is used as an input function to provide instructions to a computing device.

[0180] When used as a seat, this support member can he used as a zero-balance seat for elevation control is shown and described where the height of posterior shelf I seat is measured, corresponding to an axis of control suitable for use as an input instruction on a computing device. Where there is a dead zone to accommodate for regular movement (like breathing or fidgeting), and then the ability for the user to support themselves to thereby change the height of the seat.

[0181] In some embodiments additional input mechanisms are provided so that users can use additional motions and I or body parts to provide input. For example, users may use their arms, hands and or forearms on arm rests or other suitable structures to provide additional axis of controls or inputs. Users may also use their lower back, core angle open and closed (lean forward I lean backward while bending at the waist) and I or the use of seat back to control input. In some embodiments users may also use their lower extremities to provide input. Such as, for example, the use of foot movements and I or gestures as an additional input or input modifier. By way of example, IMU tracked controllers attached to the feet of users, touch pad enabled floor mats, or the like may be used to capture foot movement and / or gestures. In some embodiments users may provide input with the upper portion of their legs such as for example by using their inner thighs to engage structures on the seat such as a paddle, switch, axis input or the like.

[0182] In each of the devices, a plurality of switches can be used to differentially measure rotational or linear displacement for addressing and providing for variable movement speed controls. In embodiments a combination of analog tilt and switches create move modifier conditions, which could have the analogous function to pressing 'shift' or 'control' on a keyboard based on the angle of the seat. For example, the angle of the chair begins after a dead zone and then it tilts enough to create the slow to medium speed move, and then the switch creates the "shift" for "sprint" or a combination thereof where the switch could be made first for move, but still be in the analog dead zone, and then after the switch is made and more tilt is added to read outside of the dead zone, it could be interpreted as sprint. It may be desirable to use the tilt angle of the surface to imply relative velocity that would increase as angle increased, and then use the switch for a function such as jump.

[0183] It may be desired for a user to tune their experience. This would require the ability to change fulcrum points, resistance, travel limits, and even sensitivity. Shown in Figure 34 and 35 flexible joints which can be disposed between the seat and the seat support. Figures 36A - 36d represent various mechanisms which facilitate the connection of the seat support structure and the seat. By positioning support pins, in different partem holes, as depicted in Shown in figures 36B and 36C the user can increase or decrease effort required for actuating any of the switches. The switches can also be adjusted to be in different scenarios as well. It would be possible to put multiple switches in the same adjustment range. Figure 37d represents and optional slip ring, in this configuration, the inner rotating member is electrically connected to an outer conductor using a conductive fluid dispose between a cavity defining the interface.

[0184] As shown on Figure 38, a chest mounted device can be used to Measures the angle of the chest with respect to ground and provide an input signal (for example) to indicate W, A, S, D in a VR gaming type system to cause forward, left, right or reverse movement. The encoder in the can measure the rotation of a body in a chair from nominal for the afore described systems.

[0185] In some embodiments, the system mounts switches on a cantilever so that the switches can travel to extents and then the cantilever will flex before and after switch actuation to ensure that the switch engagement is consistent and the force from a rigidly mounted switch could be destructive. There is also a travel limitation block that can be exchanged or lowered. In some embodiments, above each switch range is a ramp that can be slid to a lower or higher profile to increase or decrease sensitivity of the switch.

[0186] Addressing the ability to suggest or even force movement of the rotation of the device: In some embodiments, the use of springs, or belts belt and I or gear combined with a motor provides feedback into the seat to provide guidance or resistance to user input. This allows for force feedback (like popular racing simulator steering wheels) which in VR, could be implemented as director's nudges/encouragement to ensure that the participant is not missing key cinematic or other important events. The use of an encoder to track angular position is provided. The encoder can be part of the motor, in some embodiments, and is driven through gears or belt mechanisms. At Each joint, an encoder and a motor can be used for allowing for intelligent force feedback, user orientation prompting and/or enforcement. In some embodiments the motor is direct drive while in other embodiments a transmission is employed.

[0187] In some embodiments, the pivot point is positioned high on the seat to facilitate ease of use, comfort and control. For example, Drones today are predominately four rotary wings (propellers) situated in a rectangle or square which can vary their power to maintain orientation or move in any given direction or speed. Using an HMD to control the "eyes" of the device, the angle of the torso/chair to define forward, and each switch to provide the planar movement of the aircraft, and then in some embodiments, a hand or foot manipulated input device, as previously described herein to control additional controls integrated in the drone. Control schemes in some embodiments may include controlling the elevation of the drone based on pressure of a controlled volume or elevation change of the chair itself by the user supporting their weight to upset or overcome the balance of a neutral weight balance system. Moving control to other parts of the body, rather than the hands, can allow for additional axis of control to be manipulated by the very accurate and tactile fingers, for example, systems such as fire control or robotic hands or manipulators. Control for using hybrid rotary wing/lift surface drone control (osprey-class device) is also contemplated.

[0188] Control seats as described herein are also useful in an augmented reality environment. By providing a target surface for the occupant and display, and combining the rotary encoder, the occupant can be presented with an augmented world that is updating properly in accordance with the user's position. In such embodiments a rotary encoder detects the radial position I orientation of the user and communicates that information to the computing device rendering the augmented reality such that the computing device can adjust the position of the augmented reality content so that it matches the user's position in the real world.

[0189] Throughout this specification, plural instances may implement components, operations, or structures described as a single instance. Although individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed concurrently, and nothing requires that the operations be performed in the order illustrated. Structures and functionality presented as separate components in example configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements fall within the scope of the subject matter herein.

[0190] Various implementations of the systems and methods described here can be realized in digital electronic and/or optical circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.

[0191] These computer programs (also known as programs, software, software applications, scripts, or program code) include machine instructions, for a programmable processor, and can be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. The computer programs can be structured functionality in units referenced as "modules". As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, non-transitory computer readable medium, apparatus and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal used to provide machine instructions and/or data to a programmable processor.

[0192] Implementations of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Moreover, subject matter described in this specification can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a computer readable medium for execution by, or to control the operation of, data processing apparatus. The computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter affecting a machine-readable propagated signal, or a combination of one or more of them. The terms "data processing apparatus", "computing device" and "computing processor" encompass all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them. A propagated signal is an artificially generated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal that is generated to encode information for transmission to suitable receiver apparatus.

[0193] A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.

[0194] The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).

[0195] Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random-access memory or both. The essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio player, a Global Positioning System (GPS) receiver, to name just a few. Computer readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.

[0196] To provide for interaction with a user, one or more aspects of the disclosure can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube), LCD (liquid crystal display) monitor, or touch screen for displaying information to the user and optionally a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on a user's client device in response to requests received from the web browser.

[0197] One or more aspects of the disclosure can be implemented in a computing system that includes a backend component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a frontend component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described in this specification, or any combination of one or more such backend, middleware, or frontend components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network ("LAN") and a wide area network ("WAN"), an inter-network (e.g., the Internet), and peer-to- peer networks (e.g., ad hoc peer-to-peer networks).

[0198] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by computer programs running on the respective computers and having a client-server relationship to each other. In some implementations, a server transmits data (e.g., an HTML page) to a client device (e.g., for purposes of displaying data to and receiving user input from a user interacting with the client device). Data generated at the client device (e.g., a result of the user interaction) can be received from the client device at the server.

[0199] While this specification contains many specifics, these should not be construed as limitations on the scope of the disclosure or of what may be claimed, but rather as descriptions of features specific to implementations of the disclosure. Certain features that are described in this specification in the context of separate implementations can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable sub-combination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a sub-combination or variation of a sub-combination.

[0200] Similarly, while operations are depicted in the drawings in an order, this should not be understood as requiring that such operations be performed in the order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multi-tasking and parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.

[0201] Several implementations have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the disclosure. Accordingly, other implementations are within the scope of the following claims. For example, the actions recited in the claims can be performed in a different order and still achieve desirable results.

[0202] Example embodiments are provided so that this disclosure will be thorough and will fully convey the scope to those who are skilled in the art. Numerous specific details are set forth such as examples of specific components, devices, and methods, to provide a thorough understanding of embodiments of the present disclosure. It will be apparent to those skilled in the art that specific details need not be employed, that example embodiments may be embodied in many different forms and that neither should be construed to limit the scope of the disclosure. In some example embodiments, well-known processes, well-known device structures, and well-known technologies are not described in detail.

[0203] The terminology used herein is for describing example embodiments only and is not intended to be limiting. As used herein, the singular forms "a," "an," and "the" may be intended to include the plural forms as well, unless the context clearly indicates otherwise. The terms "comprises," "comprising," "including," and "having," are inclusive and therefore specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. The method steps, processes, and operations described herein are not to be construed as necessarily requiring their performance in the order discussed or illustrated, unless specifically identified as an order of performance. It is also to be understood that additional or alternative steps may be employed.

[0204] When an element or layer is referred to as being "on," "engaged to," "connected to," or "coupled to" another element or layer, it may be directly on, engaged, connected or coupled to the other element or layer, or intervening elements or layers may be present. In contrast, when an element is referred to as being "directly on," "directly engaged to," "directly connected to," or "directly coupled to" another element or layer, there may be no intervening elements or layers present. Other words used to describe the relationship between elements should be interpreted in a like fashion (e.g., "between" versus "directly between," "adjacent" versus "directly adjacent," etc.). As used herein, the term "and/or" includes all combinations of one or more of the associated listed items.

[0205] Although the terms first, second, third, etc. may be used herein to describe various elements, components, regions, layers and/or sections, these elements, components, regions, layers and/or sections should not be limited by these terms. These terms may be only used to distinguish one element, component, region, layer or section from another region, layer or section. Terms such as "first," "second," and other numerical terms when used herein do not imply a sequence or order unless clearly indicated by the context. Thus, a first element, component, region, layer or section discussed below could be termed a second element, component, region, layer or section without departing from the teachings of the example embodiments.

[0206] Spatially relative terms, such as "inner," "outer," "beneath," "below," "lower," "above," "upper," and the like, may be used herein for ease of description to describe one element or feature's relationship to another element(s) or feature(s) as illustrated in the figures. Spatially relative terms may be intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures. For example, if the device in the figures is turned over, elements described as "below", or "beneath" other elements or features would then be oriented "above" the other elements or features. Thus, the example term "below" can encompass both an orientation of above and below. The device may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein interpreted accordingly.

[0207] Upon reading this disclosure, those of skill in the art will appreciate still additional alternative structural and functional designs for a system and a process for deep search in computing environments through the disclosed principles herein. Thus, while embodiments and applications have been illustrated and described, it is to be understood that the disclosed embodiments are not limited to the precise construction and components disclosed herein. Various modifications, changes and variations, which will be apparent to those, skilled in the art, may be made in the arrangement, operation and details of the method and apparatus disclosed herein without departing from the spirit and scope defined in the appended claims.