[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2019027358A1 - Система и способ управления виртуальным объектом - Google Patents

Система и способ управления виртуальным объектом Download PDF

Info

Publication number
WO2019027358A1
WO2019027358A1 PCT/RU2018/050090 RU2018050090W WO2019027358A1 WO 2019027358 A1 WO2019027358 A1 WO 2019027358A1 RU 2018050090 W RU2018050090 W RU 2018050090W WO 2019027358 A1 WO2019027358 A1 WO 2019027358A1
Authority
WO
WIPO (PCT)
Prior art keywords
stretch
physical body
force
user
tension
Prior art date
Application number
PCT/RU2018/050090
Other languages
English (en)
French (fr)
Inventor
Алексей Владимирович ЛЫСЕНКО
Original Assignee
Алексей Владимирович ЛЫСЕНКО
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Алексей Владимирович ЛЫСЕНКО filed Critical Алексей Владимирович ЛЫСЕНКО
Priority to CN201880058783.5A priority Critical patent/CN111107910B/zh
Priority to US16/633,503 priority patent/US11524223B2/en
Publication of WO2019027358A1 publication Critical patent/WO2019027358A1/ru

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/212Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B9/00Simulators for teaching or training purposes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/003Repetitive work cycles; Sequence of movements
    • G09B19/0038Sports

Definitions

  • the group of inventions relates to virtual reality simulation systems, in particular, to input devices for controlling a virtual object through user efforts.
  • the claimed technical solutions can be applied in computer games, as well as in other simulators, for example, educational, recreational purposes, in three-dimensional modeling systems.
  • Inventions allow you to create realistic games or simulators of movement in the virtual world, in particular, in the underwater world or in the fictional world with the physics of movement similar to swimming.
  • the virtual reality market is developing dynamically, new challenges are emerging, to solve which, first of all, it is necessary to create effective data collection systems from the real environment used for the simulation.
  • the quality of such methods determines the ability to implement the program as a whole, the degree of synchronization of actions of real and virtual objects and, finally, the degree of immersion of the user in the virtual environment and his comfort.
  • the user can move independently or using a virtual vehicle.
  • long and sharp discrepancies between the orientation of the gravity vector in the real and virtual worlds can lead to the nausea effect, which complicates the use of the simulator.
  • Auto, air and space simulators use special cabins or transport devices with many degrees of freedom, which, due to their size and cost, can be used mainly in special simulators or in virtual reality attractions.
  • Walking, running in virtual reality can either be controlled using the analog joystick of the game controller, as it happens in most ordinary computer games (https://www.playstation.com/en-us/explore/accessories/playstation-vr-aim-controller /) either be connected directly to the movements of the legs.
  • the most accurate in terms of the transmission of sensations is the recognition of the real movements of the user in the room and their translation into the corresponding movements in the virtual space.
  • This approach allows you to handle almost arbitrary physical activity on a flat surface - jumps, squats, crawling, etc. However, it requires a sufficiently large room with a flat floor and no obstacles, or with a relief and obstacles corresponding to the virtual game space. Therefore, most often such systems are used within specialized sites of virtual attractions.
  • the main goal of the systems is to provide the ability to compensate, “absorb” the user's movement, while presenting him with the opportunity to feel himself not limited in space by any additional devices.
  • a device for three-dimensional simulation of a medium with a small gravity (for example, on Mars or the Moon) (WO2016153147 from 09/29/2016, prior.
  • a device for three-dimensional simulation of a medium with a small gravity (for example, on Mars or the Moon) (WO2016153147 from 09/29/2016, prior.
  • a virtual space-forming frame connected to it and supporting the user over the platform cables, a winch for winding them (unwinding), a device for measuring the tension of each cable, a device for measuring the position (determining the coordinates) of the user on the frame, a controller for controlling tension.
  • the device solves a fundamentally different task - the creation of a given level of gravity by acting on the user with a taut cable (cable) with controlled tension.
  • the simulation method includes the following steps: determining the position and orientation of the user's legs, matching with the virtual environment to determine the interaction between them and adjusting the length of the cables to provide feedback from the user's efforts as a function of such interactions.
  • the system allows you to simulate a limited amount of movement of the user, has a complex structure and, which narrows the scope of its application.
  • a special task is to manage a virtual object in the aquatic environment.
  • solutions are known for transferring the movements of a user who is under water to virtual reality.
  • the method and system of virtual diving (US 2010/0302233 A1 from 02.12.2010, IPC 2006.1 G06T17 / 00, G06F17 / 30, G09G5 / 00, G06F3 / 03, G06N5 / 02).
  • the system includes at least three electronics elements located on the surface defining the immersion area in the immediate vicinity of the desired immersion location.
  • Each element of the electronics includes a microprocessor-controlled transceiver, which receives data on the location of the swimmer on the x-y-z axes from the underwater acoustic transponder located on the diver, which is located in the dive area.
  • the system provides the user with a choice by collecting data from the underwater virtual reality swimmer through a communication line.
  • Many sensors in the immediate vicinity of the swimmer's head transmit acceleration, the horizontal and vertical position of the diver's head to the signal decoder located on at least one of the electronics units on the surface through the communication line.
  • a pair of projectors and optical elements are installed for each of the swimmer's eyes on the swimming mask.
  • the image of virtual reality is reproduced by the graphics processor in real time, depending on the position and orientation of the swimmer and his head. Due to this, the swimmer can be in virtual reality in the chosen place and with selected marine inhabitants.
  • the method of simulating virtual reality of scuba diving in the selected environment includes the following steps: determining the area of immersion by at least three electronic elements located on the surface and their location close to the place of immersion, as well as a processor controlled transceiver in each of these electronic elements; data acquisition by the transceiver from the hydroacoustic transponder located on the swimmer, providing the swimmer with data via a communication channel with the graphics processor in one of the electronic surface elements; broadcasting visual data with optical elements.
  • the system is a technically complex and in-use product, and the swimmer can leave the simulation zone, that is, he is outside the range of the measuring devices.
  • braces are attached to different points of the physical body, depriving it of the possibility of free rotation and the system, thus requiring a sufficient number of braces (three or more).
  • the claimed group of inventions is aimed at solving a technical problem of creating a realistic imitation of the behavior of a real object in a virtual space with the help of a simpler technical and operational device with greater functionality and development potential.
  • the problem is solved by achieving a technical result, which is to provide the possibility of creating a physical model of the behavior of a real object associated with an object in virtual reality through the definition of the user's efforts to remove the system from the equilibrium state.
  • the inventive system can be used to simulate various types of user movements in a limited real space, while not requiring complex installation systems for its operation.
  • a virtual object management system is claimed through the user's efforts to move a physical body associated with a virtual object, fixed with a system of at least one stretch, so that the stretch system is able to keep the body in a stable equilibrium position with the possibility of rotation of the body around at least one an axis passing close to its center of mass, containing elements determining the orientation of the physical body in space, as well as magnitude and direction (vector) sludges acting on the physical body from the extensions of the system (e.g., via the three-axis sensor, the force vector).
  • system may contain an element that determines the acceleration of the physical body.
  • the stretch system can consist of a single stretch capable of keeping the physical body in the air in a suspended state, and the maximum force expected from the user does not exceed the weight of the physical body.
  • Either the stretch system contains two stretch marks that can hold the physical body, being stretched in opposite directions.
  • the stretch system may consist of a single stretch that can hold the physical body with negative buoyancy suspended, and the maximum expected force should not exceed the difference between the values of gravity and the buoyant force acting on the physical body.
  • the stretch system consists of a single stretch capable of keeping the physical body from floating up with positive buoyancy in a liquid medium, and the maximum expected force does not exceed the difference between the magnitudes of the buoyant force and the force of gravity acting on the physical body.
  • At least one system stretch may contain a segment that implements the function of stretching disengagement, or a segment that has the possibility of free rotation around an axis parallel to the axis of stretching, or a segment that allows the measurement of the magnitude of the stretching tension force.
  • each stretch is preferably equipped with a strain gauge to measure the magnitude of its tension. Stretching can be fixed using a system of blocks or weights.
  • a swimmer When simulating swimming, a swimmer is considered as a physical body with equipment attached to it, which includes a visual information display device (for example, a virtual reality helmet combined with a swimming mask).
  • a visual information display device for example, a virtual reality helmet combined with a swimming mask.
  • the inventive system may contain a breathing and air supply system, the wire channel of which is located along one of the stretch marks of the controller.
  • connection of the stretch with the physical body is preferably carried out using fastening elements that allow the rotation of the physical body relative to one or several axes, passing near the center of mass of the physical body.
  • fastening may consist of an inner ring, made with the possibility of attachment to a controlled physical body and rotation inside the outer ring, and also contains a bracket that allows rotation about an axis perpendicular to the axis of the rings.
  • a magnet can be placed on it, and a magnetometer is installed near the magnet in the center of mass of the physical body.
  • the inventive method of controlling a virtual object through the user's efforts to move a physical body associated with a virtual object, fixed in a position of stable equilibrium using a system of at least one stretch is characterized by the fact that:
  • the vectors of significant external forces acting on the physical body as well as the self-acceleration vector of the physical body, can be determined.
  • the level of pre-stretch tension can be set.
  • the user is the physical body, it is preferable to determine the position of the stereo camera corresponding to the user's eyes in the coordinate system of the virtual world.
  • the main purpose of the claimed group of inventions is to measure the magnitude and direction of the force applied by the user to the system of stretch marks that hold it within a limited volume. For example, a swimmer - to stretch marks, keeping him in a certain amount at a given level in a closed or open pond.
  • the force applied by the user is determined by determining the force vectors acting on the user’s retaining elements - stretch marks, and is used to calculate its movements in the virtual space within a given physical model of the virtual world in which it is not fixed in one place.
  • the user acting on the stretch marks fixed on him or outside his body, with a certain effort and in a certain direction, controls his movements in the virtual space.
  • a swimmer making efforts corresponding to his intention to swim in a given direction, in the virtual space can really move in that direction.
  • the obtained data is used to realisticly simulate its movement (swimming) in virtual space.
  • the proposed solution allows for the simulation of a wider range of user actions: from driving through exposure to a controlled physical body, to directional movements user in different environments (air, water). There is no need to determine the actual coordinates of the user, the simulation is based on the calculated user effort to move.
  • Such a mechanism greatly simplifies the system, without reducing the effectiveness of immersing a user into a virtual environment, realizing imitation.
  • the inventive system is designed to determine the movement of the center of mass of the physical body through the measurement of the force applied for this.
  • the body in contrast to the known systems, retains all degrees of freedom, the possibility of rotation relative to all axes that are available for the virtual body in the virtual model. Therefore, the implementation of the system does not require a large number of stretch marks, and if there are two or more stretch marks, the points of application of the efforts must substantially coincide so as not to limit the freedom of rotation of the object.
  • the inventive control system of a virtual object (hereinafter - SU) through the movement of a physical body associated with a virtual object by a user is a combination of at least the following elements:
  • the own acceleration of the physical body can be determined, which, however, with small amplitudes of motion can be neglected.
  • the system of stretch marks ensures that the controlled physical body stays within a given volume so that the body can rotate around at least one axis passing close to its center of mass. At the same time, the presence of a point of stable equilibrium will allow the body to strive to return to its initial position in the absence of user efforts. Due to this, a model of a summary motion in the virtual world can be created when the user is in a limited physical space.
  • the main purpose of SU is to determine the vector of force applied by the user to the controlled body, as well as its orientation in space. This data allows, based on user actions aimed at overcoming the equilibrium of the controlled body, to calculate the physical model and create realistic imitations in virtual space.
  • the controlled physical body is a real object, the orientation of which and the force of impact on which are measured and used to calculate the position (behavior) of the corresponding body in the virtual space.
  • the controlled physical body can be the body of a device held by the user or the user himself with equipment attached to it.
  • Controlled body is held by a system of extensions and fasteners. Under the stretch refers to a cable, rope, rope or other product, including elastic, which is used to limit the movement of the controlled body.
  • Stretching may consist of several segments connected by various adapters, among which, for example:
  • Tension direction marker - an element having a constant orientation with respect to the axis of stretching, used to determine the direction of the stretching tension vector. It may be a magnetic element with a magnetic axis that coincides with the axis of the brace, attached to it, or connecting its segments.
  • a mount is used, which can consist of several elements that are movable relative to each other, for example, swivel joints, which allow the controlled body to rotate relative to the axes passing near the center of measurement.
  • center of measurement of a controlled body is understood a certain point or a small area relative to the size of the body, in which the force applied to the controlled body is measured.
  • the center of measurement should be close to the center of mass of the test body so as to ensure the required accuracy of measurements. It corresponds to the material point - the center of mass of the virtual body, used to build a physical model of the movement of the virtual body.
  • the control system may have different versions depending, among other things, on the number of stretch marks, their location and the environment in which the controlled body is located (for example, air or water).
  • control system may be a pendant device (see FIG. 1) - a controlled physical body, which is a measuring unit 2 placed on the stretch 1 fixed above the user.
  • a controlled physical body which is a measuring unit 2 placed on the stretch 1 fixed above the user.
  • the fixation point of the stretch can be located below the controlled physical body as the center of mass.
  • the user can, standing on the floor, act on the body (measuring unit 2) - push, pull, lift, push and rotate around the fixing point of the stretch 1 (around the support). At the same time, any user efforts to remove the body from the equilibrium position cannot distance it more than the length of stretch 1. In the virtual space, such effects can be interpreted, for example, as controlling the rotation and acceleration of a submarine, helicopter, or spacecraft.
  • pre-stretch of stretching 1 Its value is determined depending on the magnitude of the expected maximum force that the user can apply so that there is no complete release of tension from the stretching 1.
  • the magnitude of such maximum strength may differ for simulators of different depending on, for example, the expected nature of the user's movements. So in the simulator of the recreational destination, the movements of the user are smoother, which requires less pre-tensioning of the stretch marks than, for example, a sports simulator.
  • the pre-tension of the stretch 1 in the suspension version of the implementation can be provided by the weight of the controlled physical body.
  • a weight is selected that does not allow the user to comfortably hold the physical body for a considerable time on the scale of the simulator in a position when tension is removed from stretch 1 (lift up, for example, 10 kg).
  • a system of stretch marks 1 (see Fig. 2), such that at least one of them is able to compensate for the removal of tension from the other stretch marks 1.
  • two oppositely stretched stretch marks 1 where user efforts leading to the removal of tension from one stretch 1 will lead to its increase on the other.
  • the force applied by the user is registered based on the direction of the tension of the second stretch 1, the value of which increases.
  • Such an embodiment may be a desktop device for three-dimensional modeling or games.
  • stretch marks may be used 1.
  • Measurements for building a physical model based on user actions can be made by using:
  • the meters are located in a single housing of the measuring unit 2, to which a force is applied and which is the center of mass or is fixed in the center of mass. Measuring instruments of force and direction of tension can be removed from the body.
  • the strain gauge may be located at the entrance to the measuring unit 2 in the place of its contact with the stretch 1 or in an arbitrary place of the stretch 1.
  • Information on measurement results from all meters can be transmitted to a central controller, which also processes incoming data and transmits the results via a wired or wireless channel to an information output device — a simulation device.
  • a central controller which also processes incoming data and transmits the results via a wired or wireless channel to an information output device — a simulation device.
  • Each meter can independently transmit information to the device for collecting and processing information.
  • the number of meters that determine the direction and magnitude of the tension depends on the number of stretch marks 1.
  • the user's influence on each must be taken into account.
  • data on the tension of some stretch marks 1 can be calculated based on the known data on the tension of other stretch marks 1.
  • a device that performs the function of measuring the tension in the system (for example, a strain gauge) is selected based on the planned maximum load and taking into account the required measurement accuracy.
  • the maximum load includes both the tension created by the user during the use of the system and the previously created tension. Requirements for the value of the permissible load are also applied to the stretch marks of 1 system.
  • the computing equipment needed to run a virtual reality simulation program can be located on the user's body, including as a mobile device used inside a virtual reality helmet as a display.
  • Declare SU can be applied as follows.
  • the physical body is fixed in the equilibrium position using the system of stretch marks 1.
  • the user in the process of using the simulator makes some efforts to the physical body, to which the stretch marks system 1 responds by changing the magnitude and (or) direction of the tension.
  • the force vectors of the reaction of the stretch marks 1 to the user's efforts are measured, preferably the vector of self-acceleration of the physical body, and also the vectors of the known significant external forces acting on the body are calculated.
  • Calculate the force applied by the user for example, subtracting from the resultant of all forces acting on the body, the sum of the reaction forces of all stretch marks 1 and all known significant external forces acting on the body.
  • the resultant forces acting on the body are calculated as the product of the known mass of the physical body and the measured vector of its actual acceleration.
  • the calculated user applied force is transferred to the simulation program of the impact on the virtual object, and is used to simulate the force acting on the virtual object.
  • the calculated force applied by the user to the physical body is scaled according to the control context, and other forces defined by the context acting on the virtual object are added to it.
  • SU can be adapted for use under water when simulating swimming.
  • the swimming simulation system in this case preferably consists of a virtual reality headset combined with a swimming mask 3, a breathing and air supply system 4, buoyancy compensators 5 providing constant non-zero tension, an orientation measurement unit 2 and a tension force , attached to the belt near the center of gravity of the swimmer, and stretch marks 1, which keep the swimmer at the required level of the reservoir depth, preventing its ascent or excessive immersion.
  • the controlled physical body is the user with the equipment attached to it, including the measuring unit 2.
  • the solution uses a non-rigid fixation of the swimmer within a limited amount of water and can be implemented depending on the method of installing the stretch marks 1 in any pool of sufficient depth or open water.
  • it is necessary to take into account the available volume of movements of the swimmer without colliding with the walls, bottom and surface of the volume in which it is located. In this case, the rotation with respect to all three mutually perpendicular axes passing near the center of mass can be preserved.
  • stretching 1 can be passed through a system of blocks 6 located at the bottom (and (or) held by cargo 7), and fixed on a solid surface - on land at point 8. Fastening is performed in such a way that in the event of a mask depressurization or a violation of the air supply system, an observer located on the shore can urgently release the end of the stretch 1, ensuring the swimmer to ascend. The possibility of a quick emergency detachment from stretching 1 must also be available to the swimmer himself. An automatic release system can also be used when detecting system problems.
  • Stretching 1 is mounted on the swimmer's belt, which allows him to carry out the main movements, except for the body swimmer's turns around his axis and somersaults. Greater freedom of movement can be ensured by the use of hinges connecting the stretch to the physical body.
  • Such an attachment may be a system (see FIG. 4) of the inner ring 9 attached to the swimmer’s belt, the outer ring 10 within which the inner ring 9 freely rotates and the bracket 11 allowing rotation about an axis perpendicular to the axis of the rings.
  • the buoyancy compensators 5 provide the pre-tension of the stretch 1, keeping the swimmer at a predetermined level of the reservoir depth.
  • compensator 5 with adjustable buoyancy for example, a scuba diver’s waistcoat, will allow you to adjust the tension.
  • the value of stretch tension 1 can be set, at which the scuba diver in virtual reality will be considered to be at rest.
  • a compensator 5 the buoyancy of which is not regulated (foam belt, vest)
  • the tension corresponding to the state of rest in virtual reality must coincide with the tension created by the swimmer who does not apply force.
  • this value may vary within certain limits (depending on the volume of the swimmer’s body and its density).
  • the density of the human body is close to the density of water, so we can assume that the neutral tension of the stretch 1 will be close to the strength of Archimedes acting on the swimmer’s equipment minus the weight of the equipment.
  • a foam belt / vest can be used, which is affected by the force of Archimedes, corresponding to a weight of 10 kg. The exact neutral tension is then determined during the calibration process after the swimmer dives, as the tension of the stretch 1 in the state when the swimmer does not move.
  • a swimmer can be held by a single stretch 1 (see Fig. 3), fixed at one end on his belt, and the other at the bottom of a reservoir (for example, using a suction cup and / or load 7).
  • Compensators 5 for creating positive buoyancy should be chosen in such a way that the swimmer physically could not create a diving force that completely relieves tension from the fixed at the bottom of the stretch bar 1.
  • the stretch force of the stretch bar 1 is equal to the difference between the magnitude of the buoyancy force (Archimedes) and gravity, acting on the body. This means that Archimedes force acting on a swimmer with a buoyancy compensator 5 must be such that the difference in its magnitude and magnitude of gravity acting on the body is not less than the maximum force that a swimmer is able to create.
  • the minimum tension of the stretch 1 in this case will be observed at the moment of the vertical movement of the swimmer down. If we consider the maximum force developed by the swimmer during the simulation, the force is 100N (approximately corresponding to a weight increase of 10kg), then the tension of the stretch 1 in a neutral state (when the swimmer does not apply force) should not be less than 100N. Then, even with intensive downward movement, the tension of the stretch 1 will not become zero. If the planned maximum effort is exceeded, stretching 1 will sag, which for some time will affect the realism of imitation.
  • the maximum tension of the stretch 1 will be observed with a vertical movement of the swimmer upwards.
  • the swimmer's effort (another 100N) will add to the initial tension of the stretch 1 (100N), which will be a maximum of 200N.
  • the stretch 1 must withstand a weight of at least 20kg.
  • a tube which is less demanding to the depth of the reservoir and does not require sophisticated breathing equipment.
  • a buoyancy compensator 5 can be located to ensure the swimmer's movement along the surface of the water.
  • a water level sensor can be additionally located on the outer part of the mask in order to provide information on the head elevation above the water surface to the simulation system.
  • the rotation about the longitudinal axis of the swimmer may be limited.
  • the stretch 1 can be fixed above the swimmer — at a fixed point 8 on land, or a point whose mobility can be neglected as part of the simulation (for example, on a fixed swimmer with a mass significantly exceeding the swimmer’s mass) .
  • compensators 5 are used to ensure negative buoyancy, which allow the swimmer to be prevented from ascending and thereby relieving tension from the stretcher 1.
  • the maximum expected swimmer effort should not exceed the difference between the values of gravity and buoyant force acting on the physical body.
  • Stretch marks 1 may have elasticity in order to ensure the mobility of the swimmer near the equilibrium point and the absence of belt jerks during acceleration. In this case, both stretch marks 1 must be fixed so as to allow the swimmer to rotate relative to the same point. Since it is difficult to secure the braces 1 at one point on the belt in this case, the system for fastening the braces 1, described above, containing two arcs with a common axis of rotation (see Fig. 7) can be used to achieve this result.
  • a system (see FIG. 8) of a three-axis magnetometer 12 located inside the measuring unit 2 near the fixing point of the stretch 1, as well as a magnet 13 placed on the stretching 1 near the block 2 such that the axis of the north the south of the magnet 13 coincides with the direction of stretching 1.
  • the strength of the magnet 13 and the distance from it to the magnetometer 12 can be chosen in such a way that the intensity of the natural magnetic field of the Earth can be neglected compared to the intensity created by the magnet 13 in t the placement point of the magnetometer 12. Then the direction of the tension vector of the stretch 1 relative to the magnetometer 12 (and therefore block 2) can be calculated based on the direction of the magnetic field strength vector measured by the magnetometer 12.
  • a permanent cylindrical neodymium magnet with a diameter of 10 mm and a length of 25 mm with an axial 5mm hole, with the direction of polarization coinciding with the axis of the cylinder, located on the stretch 1 at a distance of 50mm from the magnetometer, creates a magnetic field strength of more than 1000 micrometres with natural stress STI field of the earth is less than 50 micrometres.
  • the magnitude of the tension of the stretch 1 can be determined by a strain gauge 14 located on it.
  • the described devices are one example of a sealed implementation of a tension gauge, instead of which other known methods and devices can be used to determine the tension force vector.
  • Computing equipment 15 can be located on the swimmer's body (including the mobile device inside the virtual reality helmet 3), or partially located on land, which allows the use of large computing power of the stationary computing device (see Fig. 6).
  • the necessary communication between the swimmer's equipment and the shore can be carried out via a wired channel running parallel to the stretch 1, thus not creating additional constraints when moving the swimmer.
  • the swimmer’s air supply system may be a regular scuba gear (important for realistic scuba diving simulators). It is also possible to implement, where the channel 16 of the air supply of the respiratory system 4 also runs parallel to the brace 1, and the cylinder (compressor) 17 is located on land.
  • the system may include additional meters. For example, defining the bending of individual parts of the body, including the back of a swimmer. Additionally, sensors can be used that record possible emergency situations, such as water entering under the mask, disrupting the air supply system, going beyond the permissible values of the swimmer's pulse rate, and others that allow you to activate the automatic emergency ascent system.
  • the virtual object management system described above can be used in conjunction with other well-known virtual reality controllers. For example, combining with a hand position recognition system such as LeapMotion allows the swimmer to see the hands of virtual hands and interact with virtual objects. Depending on the nature of the simulator, separate controllers can be used that simulate weapons and other additional equipment. To accurately determine the position of body parts under water, external cameras of the MicrosoftKinect type (adapted to work in an appropriate environment) can be used.
  • zero tension may be small (the minimum possible), for example, 5 kg. In this case, the swimmer is experiencing a slight belt pressure. If the simulator assumes initially more intensive swimming, the zero level of tension is set greater, for example, 10 kilograms.
  • a swimmer after scuba diving attaches stretch 1 to his belt.
  • the stretching force of stretch 1 at this moment is less than the established 5kg, therefore in virtual reality the swimmer sinks to the bottom.
  • the swimmer pumps air into the vest and in reality is at the same place held by the stretcher 1.
  • the tension of the stretch 1 increases, the fall of the swimmer in virtual reality slows down and then stops when the tension of the stretch 1 reaches the specified zero tension.
  • the SU meters determine the magnitude and direction of the swimmer’s application of force, orientation and acceleration of the controlled physical body placed on the belt - in the center of gravity and buoyancy of the swimmer.
  • Measuring unit 2 can transfer the raw sensor readings to the simulation program, or perform some calculations using its resources. For example, a realization is possible when the control system transmits the angles of orientation of the swimmer and the calculated force vector of the swimmer to the simulation program.
  • the force of water resistance during movement of a fixed swimmer at low speeds can be neglected, and the force F u is taken equal to the actual movement of the swimmer.
  • the force F u applied by the swimmer to move can be calculated as the difference between the resultant force ma and force mg, tension force T, buoyancy force F a
  • the resultant force ma at each time instant is equal to the product of the mass of the swimmer with the equipment and its acceleration.
  • the swimmer's mass is known and constant, the acceleration vector is recorded using a three-axis accelerometer sensor located near the center of mass.
  • Gravity mg is calculated as the product of the vector of gravitational acceleration and the weight of a swimmer with equipment.
  • Archimedes force is not constant, since it is associated with a change in the swimmer's volume during breathing, however, part of it associated with inhalation and exhalation can be viewed as a component of the swimmer's F u efforts directed to vertical movement.
  • the force directed by the swimmer to the vertical movement will be considered to inflate (bleed) air from the diver’s vest. Therefore, the force F a is understood to mean a constant pushing force equal to the strength of Archimedes acting on a swimmer in a state taken to be neutral, for example, in a state of a shallow breath. This force can be measured at the beginning of a session at rest when the swimmer hovered motionless over the attachment point of the stretcher 1.
  • the resultant force ma is zero, the forces F u applied by the swimmer are also zero, which means the Archimedes constant force F a is equal to modulo and opposite in the direction of the sum of the known forces of mg and tension T (see Fig. 10).
  • the force F u applied by the swimmer at each time point, minus the resistance to water, can be calculated using the known forces ma, mg, T, F a . Neglecting the power of resistance, we can assume that the force F u reflects the actual intention of the swimmer to change his speed.
  • the physical model using two stretch marks 1 is calculated similarly, except that instead of a single vector of tension force T, the total tension vector of both stretch marks T 1 + T 2 should be calculated (vector sum, see Fig. 2).
  • vector sum see Fig. 2
  • one of the tension vectors can be calculated through the second. Knowing the tension of one of the stretch marks 1 and its coefficient of elasticity allows you to determine its elongation, which, together with information about the position of the attachment points of the stretch marks 1 and the deflection angle of the first stretch 1, allows you to determine the elongation of the second stretch 1, and its angle of deflection, which allows you to determine the tension force Stretch marks 1. Due to calculation errors, errors in the installation geometry, as well as possible inconsistencies of the elasticity coefficients, the use of the second tension measurement module seems preferable.
  • a body is fixed by a system of N stretch marks 1, attached to its center of mass in a state of stable equilibrium. It is known that the body is affected by some constant forces that do not depend on time (such as gravity, the power of Archimedes), and can also be influenced by the user.
  • m is the mass of the body
  • a is the acceleration of the body (thus, ma is the resultant force acting on the body)
  • T is the sum of all forces acting on the body from the stretch 1
  • F const - the sum of all time-independent forces acting on the body
  • F u the force applied by the user to the movement of the body.
  • T 0 be the sum of all the forces acting on the body from the stretch marks 1 in the state of equilibrium in the absence of user influence. Then equality holds
  • the force vector is transmitted to the simulation program along with information about the current orientation of the monitored physical body in the coordinate system of the world, estimated, for example, using a gyroscope sensor, placed, for example, in measuring unit 2.
  • Orientation sensors make it possible to transfer forces calculated in the coordinate system of the device in the coordinate system of the world.
  • the simulation program calculates the effect of the applied force to the virtual object of the swimmer’s body and controls the movement of the center of mass and orientation of the swimmer’s virtual body in the virtual space, in other words, determines the position and orientation of the coordinate system 18 associated with the swimmer’s virtual body in the fixed system of the virtual world’s 19 coordinates ( see fig. 11).
  • an estimate of the mass of the object that is different from the real, the resistance coefficient of the swimming environment, other than the coefficient of water resistance, and other differences in the physical model of the virtual world can be used.
  • a virtual space it is possible to move a swimmer at speeds different from the usual underwater speeds, corresponding to the design of the game or simulator.
  • Helmet 3 of virtual reality has its own orientation tracking sensors, which allow to register the turn of the swimmer's head regardless of the orientation of the controlled physical body. Therefore, to correctly calculate the position of the camera 20 in virtual space, it is enough to know the coordinates of the origin of the reference system 21 associated with the swimmer’s head and having a center of rotation at the head rotation point (in this system, the coordinates of the stereo camera 20 are constant) in the coordinate system 18 associated with the center of the body swimmer.
  • a more accurate model for calculating vector 22 can be constructed by invoking information from additional sensors, for example, a back bend sensor, which will make it possible for the swimmer to have a more correct visual perception of movements with a spine state different from the straightened state.
  • the user fixed in a limited amount of physical space, can move without limit in the virtual space, in the direction controlled by the swimming movements of the body, while looking in the direction determined by the real position and direction of head rotation, which largely corresponds to the sensations which he would have experienced, really moving under water.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Cardiology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Processing Or Creating Images (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)

Abstract

Изобретения относятся к вводу данных в системы симуляции виртуальной реальности и позволяют через определение усилий пользователя построить модель поведения реального объекта. Система содержит растяжки для закрепления тела в положении устойчивого равновесия с возможностью вращения вокруг как минимум одной оси, проходящей вблизи его центра масс. Она содержит элементы, определяющие ориентацию тела, а также величину и направление силы, действующей на тело со стороны растяжек. Может использоваться одна растяжка (подвес), две растяжки (растягивающие тело в противоположных направлениях) в воздушной или водной среде (с компенсацией плавучести). В рамках способа определяют начальные условия среды, векторы сил натяжения растяжек, вычисляют вектор силы, приложенной пользователем, используют вычисленную силу для симуляции поведения виртуального объекта.

Description

СИСТЕМА И СПОСОБ УПРАВЛЕНИЯ ВИРТУАЛЬНЫМ ОБЪЕКТОМ
Группа изобретений относится к системам симуляции виртуальной реальности, в частности, к устройствам ввода данных для управления виртуальным объектом посредством усилий пользователя. Заявляемые технические решения могут быть применены в компьютерных играх, а также в иных симуляторах, например, учебного, рекреационного назначения, в системах трехмерного моделирования. Изобретения позволяют создать реалистичные игры или симуляторы перемещения в виртуальном мире, в частности, в подводном мире или в вымышленном мире со схожей с плаванием физикой перемещения.
Рынок виртуальной реальности динамично развивается, появляются новые задачи, для решения которых, в первую очередь, необходимо создание эффективных систем сбора данных из реальной среды, используемых для симуляции. От качества таких методов зависит возможность реализации программы в целом, степень синхронизации действий реального и виртуального объектов и, наконец, степень погружения пользователя в виртуальную среду и его комфорт.
В зависимости от сценария программы в виртуальной реальности пользователь может перемещаться самостоятельно, либо с использованием виртуального транспортного средства. Причем длительные и резкие несоответствия между ориентацией вектора гравитации в реальном и виртуальном мирах могут приводить к эффекту тошноты, что затрудняет использование симулятора.
Авто-, авиа-, космические симуляторы используют специальные кабины или транспортные устройства со многими степенями свободы, которые ввиду габаритов и стоимости могут быть применимы в основном в специальных тренажерах либо в аттракционах виртуальной реальности.
Ходьба, бег в виртуальной реальности могут либо управляться с помощью аналогового джойстика игрового контроллера, как это происходит в большинстве обычных компьютерных игр (https://www.playstation.com/en-us/explore/accessories/playstation-vr-aim-controller/) либо быть связанными непосредственно с движениями ног. Наиболее точным по передаче ощущений является распознавание реальных перемещений пользователя по помещению и перевод их в соответствующие перемещения в виртуальном пространстве. Такой подход позволяет обрабатывать почти произвольную физическую активность на ровной поверхности – прыжки, приседания, перемещение ползком и т.п. Однако он требует достаточно большого помещения с ровным полом и отсутствием препятствий либо с рельефом и препятствиями, соответствующими виртуальному игровому пространству. Поэтому чаще всего такие системы применяются в пределах специализированных площадок виртуальных аттракционов.
Одной из важных задач, которая стоит при проектировании систем симуляции виртуальной реальности, является передвижение пользователя на значительные расстояния в виртуальной среде при ограниченных пространствах в реальности. Основной целью таких систем является «поглощение» совершаемых пользователем реальных движений. То есть в виртуальной среде пользователь может проходить значительные расстояния, сохраняя интенсивность движения и, следовательно, максимальное погружение в виртуальную среду и реалистичность имитации.
Для определения ходьбы в условиях замкнутых пространств разработаны различные стационарные установки, позволяющие перемещаться на месте. Например, устройства с конструкцией подобной беговой дорожке (US6152854A), специальные платформы для передвижений (WO2017019884A1), сферические и чашеобразные поверхности, возвращающие ноги шагающего пользователя в центральную ее часть (см. US5846134A, US2004242390A1), платформы для ног (US5902214A). Такие решения управляют движением в виртуальном мире опосредовано, и ограничены распознаванием только ходьбы и бега по ровной поверхности.
Таким образом, основной целью систем является обеспечение возможности компенсировать, «поглощать» движения пользователя, представляя ему при этом возможность ощущать себя не ограниченным в пространстве какими-либо дополнительными устройствами. Указанным требованиям в той или иной мере удовлетворяют системы, использующие для ограничения пользователя и компенсации движений натянутые кабели.
В частности, известно устройство для трехмерной симуляции среды с небольшой гравитацией (например, на Марсе или Луне) (WO2016153147 от 29.09.2016, приор. от 26.03.2015 KR10-2015-0042229, МПК (2006.1) F16H 7/08, F16H 7/18), включающее формирующую виртуальное пространство раму, соединенные с ней и поддерживающие пользователя над платформой кабели, лебедку для их сматывания (разматывания), устройство измерения натяжения каждого троса, расположенное на раме устройство измерения положения (определения координат) пользователя, контроллер управления натяжением. При сходном с заявляемым решением подходе к реализации устройство решает принципиально иную задачу – создание заданного уровня гравитации путем воздействия на пользователя натянутым тросом (кабелем) с управляемым натяжением.
Из уровня техники известна система и способ симуляции перемещений (WO2006017926A1 от 23.02.2006, приор. от 20.08.2004 US60/602857, МПК7 G09B 9/00, A61H 1/00, A63B 23/04), содержащая две подставки для ног и рук и присоединенные к каждой независимо от другой тросы, приводы для каждого из тросов с контроллерами натяжения, установленные на раме, которые управляют длиной тросов и сдерживают движения пользователя. Система рассчитывает положение и ориентацию ног пользователя в виртуальной среде как функцию от длины кабелей и обеспечивает обратную связь от усилия пользователя. Способ симуляции включает следующие этапы: определение позиции и ориентации ног пользователя, сопоставление с виртуальной средой для определения взаимодействия между ними и регулировка длины кабелей для обеспечения обратной связи от усилий пользователя как функции от таких взаимодействий. Система позволяет симулировать ограниченный объем передвижений пользователя, имеет сложную конструкцию и, что сужает сферу ее применения. Особой задачей является управление виртуальным объектом в водной среде.
Известно решение (US5271106A от 21.12.1993, приор. 06.10.1992, МПК
A63B21/00, A63B69/12,  E04H4/14, H04N7/18,  E04H4/00), представляющее собой бассейн, на стенах которого размещаются изображения виртуальной водной среды, оснащенный устройствами для создания течений (потоков), интенсивность которых зависит от активности пловца, а также иные дополнительные эффекты. Решение не позволяет реализовывать симуляторы, требующие точности в определении перемещений и(или) усилий пользователя.
Кроме того, известны решения для переноса перемещений пользователя, находящегося под водой, в виртуальную реальность. В частности, способ и система виртуального дайвинга (US 2010/0302233 A1 от 02.12.2010, МПК 2006.1 G06T17/00, G06F17/30, G09G5/00, G06F3/03, G06N5/02). Система включает, по крайней мере, три элемента электроники, расположенных на поверхности, определяющих область погружения в непосредственно близости от желаемого места погружения. Каждый элемент электроники включает управляемый микропроцессором приемопередатчик, который получает данные о расположении пловца по осям x-y-z от подводного акустического трансподера, расположенного на дайвере, который находится в области погружения. Система обеспечивает пользователю возможность выбора, собирая данные подводной виртуальной реальности пловца через линию связи. Множество датчиков в непосредственной близости от головы пловца передают ускорение, горизонтальное и вертикальное положение головы дайвера в декодер сигналов, расположенный по меньшей мере на одном из блоков электроники на поверхности через линию связи. Пара проекторов и оптических элементов установлены для каждого из глаз пловца на плавательной маске. Изображение виртуальной реальности воспроизводится графическим процессором в режиме реального времени в зависимости от положения и ориентации пловца и его головы. Благодаря этому пловец может находиться в виртуальной реальности в выбранном месте и с выбранными морскими обитателями. Способ симуляции виртуальной реальности подводного плавания в выбранной среде включается следующие шаги: определение области погружения по крайней мере тремя электронными элементами, расположенными на поверхности и расположение их вблизи от места погружения, а также управляемый процессором приемопередатчик в каждом из указанных электронных элементов; получение данных приемопередатчиком от гидроакустического трансподера, расположенного на пловце, предоставление пловцу данных через канал связи с графическим процессором в одном из электронных поверхностных элементов; транслирование визуальных данных оптическими элементами. Система представляет собой сложный технически и в эксплуатации продукт, а также возможен уход пловца из зоны симуляции, то есть нахождение его за пределами действия измерительных устройств.
В известных системах управления виртуальным объектом основным результатом, который достигается при использовании системы тросов (кабелей, растяжек), является воздействие на пользователя, позволяющее ему ощущать виртуальные силы (например, WO2010130346, WO2008070584). Моделирование в виртуальном пространстве осуществляется на основе известных абсолютных координат пользователя в неподвижной системе, связанной с тросами (растяжками). Для этого используются отдельные модули трекинга, либо информация о длине растяжек, позволяющая точно определить координаты точки закрепления растяжек. Только сведений о приложенной пользователем силе для таких систем недостаточно. Известные системы такого рода представляют собой устройство на основе, например, рамы, с большим количеством тросов (растяжек), приводов и(или) иных устройств управления длиной и натяжением тросов, а также устройств определения положения пользователя или иных частей системы. При этом системы, предназначенные для передачи обратной связи объекту, подразумевают его закрепление так, чтобы любые допустимые перемещения ассоциированного с физическим телом виртуального объекта, в том числе его допустимые вращения, могли передаваться телу путем изменения длины растяжек. Для этого растяжки крепятся к разным точкам физического тела, лишая его возможности свободного вращения и системы, таким образом, требуют достаточного количества растяжек (три и более).
Техническая проблема
Заявляемая группа изобретений направлена на решение технической проблемы создания реалистичной имитации поведения реального объекта в виртуальном пространстве с помощью более простого технически и в эксплуатации устройства, обладающего большим функционалом и потенциалом развития. Проблема решается за счет достижения технического результата, который заключается в обеспечении возможности создания физической модели поведения реального объекта, ассоциируемого с объектом в виртуальной реальности, через определение усилий пользователя по выведению системы из состояния равновесия. Заявляемая система может быть использована для имитации различных видов перемещений пользователя в ограниченном реальном пространстве, при этом не требует сложных систем установки для ее эксплуатации.
Раскрытие группы изобретений
Заявляется система управления виртуальным объектом посредством усилий пользователя, направленных на перемещение ассоциированного с виртуальным объектом физического тела, закрепленного с помощью системы из по крайней мере одной растяжки, так, что система растяжек способна удерживать тело в положении устойчивого равновесия с возможностью вращения тела вокруг как минимум одной оси, проходящей вблизи от его центра масс, содержащая элементы, определяющие ориентацию физического тела в пространстве, а также величину и направление (вектор) силы, действующей на физическое тело со стороны системы растяжек (например, с помощью трехосевого датчика определения вектора силы).
Дополнительно система может содержать содержит элемент определяющий ускорение физического тела.
Предпочтительно при любых усилиях пользователя по перемещению физического тела, не превосходящих максимального ожидаемого усилия, в системе всегда найдется хотя бы одна растяжка системы, имеющая ненулевое натяжение.
Система растяжек при этом может состоять из единственной растяжки, способной удерживать физическое тело в воздухе в подвешенном состоянии, а максимальное ожидаемое от пользователя усилие не превосходит веса физического тела. Либо система растяжек содержит две растяжки, способные удерживать физическое тело, будучи растянутыми в противоположных направлениях.
При реализации системы в жидкой среде (водной), система растяжек может состоять из единственной растяжки, способной удерживать физическое тело с отрицательной плавучестью в подвешенном состоянии, а максимальное ожидаемое усилие не должно превосходить разности величин силы тяжести и выталкивающей силы, действующих на физическое тело. Либо система растяжек состоит из единственной растяжки, способной удерживать от всплытия физическое тело с положительной плавучестью в жидкой среде, а максимальное ожидаемое усилие не превосходит разности величин выталкивающей силы и силы тяжести, действующих на физическое тело.
Как минимум одна растяжка системы может содержать сегмент, реализующий функцию расцепления растяжки, либо сегмент, обладающий возможностью свободного вращения вокруг оси, параллельной оси растяжки, либо сегмент, позволяющий измерение величины силы натяжения растяжки. При этом каждая растяжка предпочтительно оснащена тензометром для измерения величины её натяжения. Фиксация растяжки может осуществляться с помощью системы блоков или грузов.
При симуляции плавания в качестве физического тела рассматривают пловца с закрепленным на нем оборудованием, которое включает в себя устройство отображения визуальной информации (например, шлем виртуальной реальности, совмещенный с плавательной маской). В таком случае заявляемая система может содержать систему дыхания и подачи воздуха, проводной канал которой расположен вдоль одной из растяжек контроллера.
Соединение растяжки с физическим телом предпочтительно производится с помощью элементов крепления, позволяющих вращение физического тела относительно одной или нескольких осей, проходящих вблизи центра масс физического тела. Такое крепление может состоять из внутреннего кольца, выполненного с возможностью крепления к контролируемому физическому телу и вращения внутри внешнего кольца, а также содержит скобу, позволяющую вращение относительно оси, перпендикулярной оси колец.
Для определения направления силы натяжения растяжки на ней может быть расположен магнит, а вблизи магнита в центре масс физического тела установлен магнетометр.
Заявляемый способ управления виртуальным объектом посредством усилий пользователя, направленных на перемещение ассоциированного с виртуальным объектом физического тела, закрепленного в положении устойчивого равновесия с помощью системы из по крайней мере одной растяжки характеризуется тем, что:
- определяют начальные условия среды, в которой находится физическое тело,
- векторы сил натяжения растяжек,
- вычисляют вектор силы, приложенной пользователем,
- используют вычисленную силу для симуляции поведения виртуального объекта.
Дополнительно могут быть определены векторы существенных внешних сил, действующих на физическое тело, а также вектор собственного ускорения физического тела.
В зависимости от целей симулятора могут быть установлен уровень предварительного натяжения растяжек.
Если в качестве физического тела выступает пользователь, предпочтительно определяют положение стерео-камеры, соответствующей глазам пользователя в системе координат виртуального мира.
Положительные эффекты от группы изобретений
Основная цель заявляемой группы изобретений – измерение величины и направления силы, прикладываемой пользователем к системе растяжек, удерживающих его в пределах ограниченного объёма. Например, пловцом – к растяжкам, удерживающим его в определенном объеме на заданном уровне в закрытом или открытом водоеме.
Определение силы, прикладываемой пользователем, производится посредством определения векторов сил, воздействующих на удерживающие пользователя элементы - растяжки, и используется для вычисления его перемещений в виртуальном пространстве в рамках заданной физической модели виртуального мира, в котором он не закреплён на одном месте. Таким образом, пользователь, воздействуя на закрепленные на нем или вне его тела растяжки с определенным усилием и в определенном направлении, управляет своими движениями в виртуальном пространстве. Например, пловец, прилагая усилия соответствующие его намерению плыть в заданном направлении, в виртуальном пространстве действительно может перемещаться в этом направлении. Полученные данные используются для реалистичной имитации его движения (плавания) в виртуальном пространстве.
В сравнении с известными аналогами, использующими в своей основе натянутые тросы как механизм воздействия на пользователя или получения обратной связи от него, заявляемое решение позволяет осуществлять симуляцию более широкого круга действия пользователя: от управления транспортными средствами путем воздействия на контролируемое физическое тело, до направленных передвижений самого пользователя в разных средах (воздух, вода). При этом отсутствует необходимость определять действительные координаты пользователя, симуляция происходит на основании вычисленного усилия пользователя по перемещению. Такой механизм существенно упрощает систему, не снижая эффективности погружения пользователя в виртуальную среду, реалистичности имитации.
Заявляемая система предназначена для определения перемещения центра масс физического тела через измерение приложенного для этого усилия. При этом тело, в отличие от известных систем, сохраняет все степени свободы, возможность вращения относительно всех осей, которые доступны для виртуального тела в виртуальной модели. Поэтому для реализации системы не требуется большого количества растяжек, а при наличии двух и более растяжек точки приложения усилий должны существенно совпадать, чтобы не ограничивать свободу вращения объекта.
Сущность группы изобретений поясняется фигурами, на которых изображено:
Фигура.1
- вариант реализации системы, где контролируемое физическое тело подвешено на единственной растяжке;
Фигура.2
- вариант реализации системы, где контролируемое физическое тело установлено между двумя противоположно натянутыми растяжками,
Фигура.3
- вариант реализации системы, где пловец удерживается от всплытия единственной растяжкой, закрепленной на дне,
Фигура.4
- система крепления растяжки к поясу пловца,
Фигура.5
- вариант реализации системы для плавания с трубкой (снорклинга),
Фигура.6
- вариант реализации системы, где пловец удерживается от погружения единственной растяжкой, закрепленной на суше,
Фигура.7
- система крепления двух растяжек к поясу пловца,
Фигура.8
- система из магнита и магнитометра для определения направления натяжения растяжки,
Фигура.9
- векторы сил, действующих в центре измерений,
Фигура.10
- векторы сил в состоянии покоя пловца,
Фигура.11
- соотношение систем координат.
Заявляемая система управления виртуальным объектом (далее – СУ) через перемещение пользователем ассоциированного с виртуальным объектом физического тела представляет собой совокупность по крайней мере следующих элементов:
- элемент, определяющий ориентацию физического тела в пространстве, жестко закрепленный на контролируемом физическом теле или являющийся его частью,
- система из по крайней мере одной растяжки, способная удерживать физическое тело в состоянии равновесия, причем растяжка соединяется одним концом через элементы крепления с физическом телом, а другим – с неподвижной опорой или опорой, подвижностью которой можно пренебречь.
- элементы для измерения величины и направления силы, действующей на физическое тело со стороны системы растяжек, через определение их натяжения.
Для построения более точной физической модели может быть определено собственное ускорение физического тела, которым однако при небольших амплитудах движений можно пренебречь.
Система растяжек обеспечивает пребывание контролируемого физического тела в пределах заданного объема с возможностью вращения тела вокруг как минимум одной оси, проходящей вблизи от его центра масс. При этом наличие точки устойчивого равновесия позволит добиться того, чтобы тело стремилось вернуться в начальное положение при отсутствии усилий пользователя. За счет этого может быть создана модель сводного перемещения в виртуальном мире при нахождении пользователя в ограниченном физическом пространстве.
Основное назначение СУ – определение вектора силы, прилагаемой пользователем к контролируемому телу, а также его ориентации в пространстве. Эти данные позволяют на основе действий пользователя, направленных на преодоление равновесия контролируемого тела, рассчитать физическую модель и создать реалистичную имитацию в виртуальном пространстве.
Контролируемое физическое тело представляет собой реальный объект, ориентация которого и сила воздействия на который измеряются и используются для вычисления положения (поведения) соответствующего ему тела в виртуальном пространстве. Контролируемым физическим телом может быть корпус устройства, удерживаемого пользователем или сам пользователь с закрепленным на нем оборудованием.
Контролируемое тело удерживается с помощью системы растяжек и креплений. Под растяжкой понимается трос, канат, веревка или другое изделие, в том числе эластичное, которое используется для ограничения перемещений контролируемого тела.
Растяжка может состоять из нескольких сегментов, соединенных различными переходниками, среди которых, например:
- обеспечивающие вращение сегментов растяжки вокруг своей оси (вокруг оси, параллельной оси растяжки) в целях предотвращения - перекручивания растяжки,
- карабины для закрепления (расцепления) растяжки,
- переходники, осуществляющие измерение величины натяжения,
- переходники – маркеры направления натяжения.
Маркер направления натяжения – элемент, имеющий постоянную ориентацию по отношению к оси растяжки, используемый для определения направления вектора натяжения растяжки. Может представлять собой магнитный элемент с магнитной осью, совпадающей с осью растяжки, закрепленный на ней, либо соединяющий её сегменты.
Для соединения растяжки с контролируемым физическим телом используется крепление, которое может состоять из нескольких подвижных относительно друг друга элементов, например, поворотных соединений, позволяющих вращение контролируемого тела относительно осей, проходящих вблизи центра измерения.
Под центром измерений контролируемого тела понимают некоторую точку или небольшую относительно размера тела область, в которой измеряется сила, прилагаемая к контролируемому телу. Центр измерения должен находиться вблизи от центра масс контролируемого тела настолько, чтобы обеспечивалась необходимая точность измерений. Он соответствует материальной точке – центру масс виртуального тела, используемой для построения физической модели перемещения виртуального тела.
СУ может иметь различные исполнения в зависимости, в том числе, от количества растяжек, их расположения и среды, в которой находится контролируемое тело (например, воздух или вода).
В случае, когда используется одна растяжка, СУ может представлять собой подвесное устройство (см. фиг. 1) – контролируемое физическое тело, представляющее собой измерительный блок 2, размещенный на растяжке 1, закрепленной над пользователем. Такой вариант исполнения применяется, например, для имитации управления транспортным средством в компьютерной игре. Для тех же целей точка фиксации растяжки может быть расположена ниже контролируемого физического тела как центра масс. Это простые конструктивно, в установке (необходима лишь одна точка крепления) и использовании устройства, которые способны решать широкий спектр задач.
Пользователь может, стоя на полу, воздействовать на тело (измерительный блок 2) – толкать, тянуть, приподнимать, давить и поворачивать вокруг точки закрепления растяжки 1 (вокруг опоры). При этом любые усилия пользователя по выведению тела из положения равновесия не смогут отдалить его на расстояние большее, чем длина растяжки 1. В виртуальном пространстве такие воздействия могут интерпретироваться, например, как управление поворотом и ускорением подводной лодки, вертолета, космического корабля.
Для обеспечения высокого качества и стабильности имитации необходимо создание предварительного натяжения растяжки 1. Его величина определяется в зависимости от величины ожидаемой максимальной силы, которую может приложить пользователь так, чтобы не происходило полного снятия натяжения с растяжки 1. Величина такой максимальной силы может отличаться для симуляторов разного рода в зависимости, например, от ожидаемого характера движений пользователя. Так в симуляторе рекреационного назначения перемещения пользователя имеют более плавный характер, что требует меньшего предварительного натяжения растяжек, чем, например, спортивный симулятор.
Необходимо, чтобы в процессе симуляции по крайней мере одна растяжка 1 системы имела ненулевое натяжение такое, что при приложении пользователем указанной максимальной ожидаемой силы, не происходило полного снятия натяжения с растяжки 1. Если натяжение будет полностью снято, регистрируемое направление натяжения будет изменено и измерение дальнейшего увеличения силы станет недостоверным до возвращения в заданные пределы.
Предварительное натяжение растяжки 1 в подвесном варианте реализации может обеспечиваться за счет веса контролируемого физического тела. Подбирается вес, который не позволит пользователю комфортно удерживать физическое тело значительное в масштабах симулятора время в положении, когда с растяжки 1 будет снято натяжение (поднять вверх, например, 10 кг).
При реализации варианта исполнения СУ, в котором растяжка 1 закреплена ниже уровня контролируемого тела, постоянное натяжение может быть создано за счет приложения пользователем дополнительной силы. То есть для того, чтобы пользователь в виртуальной среде мог оставаться на одном месте, необходимо постоянное приложение силы, достаточной для натяжения как минимум одной из растяжек 1 системы. Такая сила будет принята в симуляторе в качестве нулевой.
Достигнуть предварительного натяжения позволяет другой вариант исполнения СУ, который предусматривает использование системы растяжек 1 (см. фиг. 2), таких, что по крайней мере одна из них способна компенсировать снятие натяжения с другой растяжки 1. Например, две противоположно натянутые растяжки 1, где усилия пользователя, приводящие к снятию натяжения с одной растяжки 1 приведут к его возрастанию на другой. Сила, прилагаемая пользователем, регистрируется на основании направления натяжения второй растяжки 1, величина которого возрастает. Такой вариант исполнения может представлять собой настольное устройство для трехмерного моделирования или игр.
Для иных целей может быть использовано большее количество растяжек 1.
Измерения для построения физической модели на основании действий пользователя могут быть осуществлены за счет использования:
- гироскопа для определения ориентации физического тела в пространстве, который закреплен неподвижно относительно него,
- акселерометра для определения собственного ускорения контролируемого физического тела,
- тензометра для определения величины силы натяжения растяжек 1,
- датчика определения направления натяжения растяжки 1 (подробно пример исполнения рассмотрен ниже).
- либо трехосевого датчика регистрации вектора силы.
Предпочтительно, измерители расположены в едином корпусе измерительного блока 2, к которому прикладывается сила и который представляет собой центр масс или закреплен в центре масс. Измерители силы и направления натяжения могут быть вынесены из корпуса. В частности, тензометр может располагаться на входе в измерительный блок 2 в месте его соприкосновения с растяжкой 1 или в произвольном месте растяжки 1.
Информация о результатах измерений от всех измерителей может передаваться в центральный контроллер, который кроме того производит обработку поступающих данных и передает результаты по проводному или беспроводному каналу в устройство вывода информации — устройство симуляции. Каждый измеритель может самостоятельно передавать информацию в устройство сбора и обработки информации.
Количество измерителей, определяющих направление и величину натяжения, зависит от количества растяжек 1. При использовании более одной растяжки 1, воздействие пользователя на каждую должно быть учтено. В то же время при использовании большого количества растяжек 1 и известной геометрии системы данные о натяжении некоторых растяжек 1 могут быть вычислены на основании известных данных о натяжении других растяжек 1.
Устройство, выполняющее в системе функцию измерения величины натяжения (например, тензометр) выбирается исходя из планируемой максимальной нагрузки и учитывая необходимую точность измерения. Максимальная нагрузка включает в себя как натяжение, создаваемое пользователем в процессе использования системы, так и предварительно созданное натяжение. Требования, предъявляемые к величине допустимой нагрузки применяются также для растяжек 1 системы.
Вычислительное оборудование, необходимое для запуска программы симуляции виртуальной реальности может быть расположено на теле пользователя, в том числе в виде мобильного устройства, используемого внутри шлема виртуальной реальности в качестве дисплея.
Заявляемая СУ может быть применена следующим образом.
Предварительно определяют начальные условия среды, в которой находится физический объект и, предпочтительно, действующие на него существенные внешние силы (например, сила тяжести).
Физическое тело закрепляют в положении равновесия с помощью системы растяжек 1. Пользователь в процессе использования симулятора прилагает к физическому телу некоторые усилия, на которые система растяжек 1 реагирует изменением величины и(или) направления натяжения.
Для определения величины силы, приложенной пользователем измеряют векторы сил реакции растяжек 1 на усилия пользователя, предпочтительно, вектор собственного ускорения физического тела, а также вычисляют векторы известных существенных внешних сил, действующих на тело. Вычисляют силу, приложенную пользователем, например, вычитая из результирующей всех сил, действующих на тело, сумму сил реакции всех растяжек 1 и всех известных существенных внешних сил, действующих на тело. Результирующая сил, действующих на тело, вычисляется как произведение известной массы физического тела на измеренный вектор его действительного ускорения.
При этом могут пренебрегать некоторыми силами, не оказывающими существенного влияния на точность вычислений в конкретном контексте управления виртуальным объектом. Например, силами сопротивления среды и трения. А в случае небольшой амплитуды перемещений физического объекта, могут пренебрегать реальным ускорением физического тела.
Вычисленную приложенную пользователем силу передают в программу симуляции воздействия на виртуальный объект, и используют для моделирования силы, действующей на виртуальный объект. Для расчета перемещений виртуального объекта вычисленную силу, приложенную пользователем к физическому телу, масштабируют в соответствии с контекстом управления, и добавляют к ней другие определяемые контекстом силы, действующие на виртуальный объект.
СУ может быть адаптирована для использования под водой при симуляции плавания.
Система симуляции плавания (см. фиг. 3) в этом случае предпочтительно состоит из герметичного шлема виртуальной реальности, совмещенного с плавательной маской 3, системы 4 дыхания и подачи воздуха, компенсаторов 5 плавучести, обеспечивающих постоянное ненулевое натяжение, блока 2 измерения ориентации и силы натяжения, закрепленного на поясе вблизи центра тяжести пловца, и растяжки 1, удерживающей пловца на необходимом уровне глубины водоема, не допуская его всплытия или излишнего погружения. В данном случае контролируемым физическим телом является пользователь с закрепленным на нем оборудованием, в том числе измерительным блоком 2.
Решение использует нежесткую фиксацию пловца в пределах ограниченного объёма воды и может быть реализовано в зависимости от способа установки растяжек 1 в любом бассейне достаточной глубины или открытом водоеме. При расчете системы необходимо учитывать доступный объем перемещений пловца без столкновения со стенками, дном и поверхностью объема, в котором он находится. При этом может быть сохранено вращение относительно всех трех взаимно перпендикулярных осей, проходящих вблизи центра масс.
В целях обеспечения безопасности пловца и удобства эксплуатации, растяжка 1 может быть пропущена через систему блоков 6, расположенных на дне (и(или) удерживаемых грузами 7), и закреплена на твердой поверхности — на суше в точке 8. Крепление выполняют таким образом, что в случае разгерметизации маски или нарушения системы подачи воздуха, наблюдатель, находящийся на берегу, может экстренно освободить конец растяжки 1, обеспечив всплытие пловца. Возможность быстрого экстренного открепления от растяжки 1 должен иметь и сам пловец. Также может использоваться система автоматического расцепления при обнаружении неполадок системы.
Растяжка 1 крепится на поясе пловца, что позволяет ему осуществлять основные движения, кроме поворотов тела пловца вокруг своей оси и кувырков. Большую свободу передвижений может обеспечить использование шарниров, соединяющих растяжку с физическим телом. Такое крепление может представлять собой систему (см. фиг. 4) из внутреннего кольца 9, прикрепленного к поясу пловца, внешнего кольца 10, внутри которого свободно вращается внутреннее кольцо 9, и скобы 11, позволяющей вращение относительно оси, перпендикулярной оси колец. Это позволяет пловцу вращение вокруг своей оси, а также перенос точки относительно которой происходит вращение физического тела от точки на поверхности тела (на поясе) в центр колец, что более точно соответствует действительному положению его центра масс.
Компенсаторы 5 плавучести обеспечивают предварительное натяжение растяжки 1, поддерживая пловца на заданном уровне глубины водоема. Использование компенсатора 5 с регулируемой плавучестью, например, компенсационного жилета аквалангиста, позволит регулировать натяжение. Пловец, накачивая жилет воздухом из баллона, изменяет действующую на него силу Архимеда в пределах нескольких килограмм силы. В этом случае может быть задана величина натяжения растяжки 1, при которой аквалангист в виртуальной реальности будет считаться находящимся в состоянии покоя.
Если используется компенсатор 5, плавучесть которого не регулируется (пенопластовый пояс, жилет), то натяжение, соответствующее состоянию покоя в виртуальной реальности должно совпадать с натяжением, создаваемым пловцом, не прилагающим усилий. Эта величина при использовании одного и того же снаряжения может в некоторых пределах изменяться (в зависимости от объема тела пловца и его плотности). В целом плотность тела человека близка к плотности воды, поэтому можно считать, что нейтральное натяжение растяжки 1 будет близко к силе Архимеда, действующей на снаряжение пловца за вычетом веса снаряжения. Например, может быть использован пенопластовый пояс/жилет, на который действует сила Архимеда, соответствующая весу 10кг. Точное нейтральное натяжение тогда определится в процессе калибровки после погружения пловца, как натяжение растяжки 1 в состоянии, когда пловец не двигается.
Пловец может удерживаться единственной растяжкой 1 (см. фиг. 3), закрепленной одним концом на его поясе, а другим - на дне водоема (например, с помощью присоски и/или груза 7). Компенсаторы 5 создания положительной плавучести должны быть подобраны таким образом, чтобы пловец физически не смог создать усилие ныряния, снимающее полностью натяжение с закреплённой на дне растяжки 1. В состоянии равновесия величина силы натяжения растяжки 1 равна разности величин выталкивающей силы (Архимеда) и силы тяжести, действующих на тело. Значит сила Архимеда, действующая на пловца с компенсатором 5 плавучести, должна быть такой, что разность ее величины и величины силы тяжести, действующей на тело не меньше чем максимальное усилие, которое способен создать пловец.
Минимальное натяжение растяжки 1 в этом случае будет наблюдаться в момент вертикального движения пловца вниз. Если считать максимальным усилием тяги, развиваемым пловцом в процессе симуляции, усилие в 100Н (примерно соответствующее поднятию веса в 10кг), то натяжение растяжки 1 в нейтральном состоянии (когда пловец не прикладывает усилий) не должно быть менее 100Н. Тогда даже при интенсивном движении вниз натяжение растяжки 1 не станет равным нулю. При превышении запланированного максимального усилия растяжка 1 провиснет, что на некоторое время скажется на реалистичности имитации.
Максимальное натяжение растяжки 1 будет наблюдаться при вертикальном движении пловца вверх. При этом к начальному натяжению растяжки 1 (100Н) прибавится усилие пловца (еще 100Н) что составит максимум 200Н. Таким образом, растяжка 1 должны выдерживать нагрузку весом минимум 20кг.
Кроме того, возможно осуществление симуляции плавания с трубкой (снорклинг), которое является менее требовательным к глубине водоема и не требует сложного дыхательного оборудования. Для реализации (см. фиг. 5) достаточен неглубокий бассейн с эластичной растяжкой 1, прикрепленной ко дну и к поясу пловца. Для уменьшения составляющей силы, тянущей пловца вниз на задней стороне пояса может быть расположен компенсатор 5 плавучести, обеспечивающий передвижение пловца вдоль поверхности воды. На внешней части маски в этом случае может дополнительно располагаться датчик уровня воды, чтобы предоставлять в систему симуляции информацию о подъеме головы над поверхностью воды. Для упрощения конструкции вращение относительно продольной оси пловца может быть ограничено.
В другом варианте реализации (см. фиг. 6) растяжка 1 может быть зафиксирована над пловцом – в неподвижной точке 8 на суше, либо точке, подвижностью которой можно пренебречь в рамках симуляции (например, на неподвижном плавательном средстве с массой существенно превосходящей массу пловца). В этом случае используются компенсаторы 5, обеспечивающие отрицательную плавучесть, которые позволяют удерживать пловца от всплытия и снятия тем самым натяжения с растяжки 1. При этом максимальное ожидаемое усилие пловца не должно превосходить разности величин силы тяжести и выталкивающей силы, действующих на физическое тело.
Если программой симуляции предусмотрены достаточно большие, динамичные нагрузки, может потребоваться значительное предварительное натяжение, при котором пловец, предпринимая попытку быстрого ускорения, будет испытывать существенное противодействие пояса. Это может привести к ощущению рывков, что негативно скажется на качестве имитации и комфорте пловца. Для преодоления такого недостатка может быть использована система из двух растяжек 1, натянутых вертикально в противоположных направлениях. Растяжки 1 могут обладать эластичностью, чтобы обеспечивать подвижность пловца вблизи точки равновесия и отсутствие рывков пояса при ускорении. При этом обе растяжки 1 должны быть закреплены так, чтобы позволять вращение пловца относительно одной и той же точки. Поскольку закрепить растяжки 1 в одной точке на поясе в этом случае затруднительно, для достижения этого результата может использоваться система крепления растяжек 1, описанная выше, содержащая две дуги с общей осью вращения (см. фиг. 7).
Для измерения направления натяжения может быть использована система (см. фиг. 8) из трехосевого магнитометра 12, расположенного внутри измерительного блока 2 вблизи точки закрепления растяжки 1, а также магнита 13, размещенного на растяжке 1 вблизи блока 2 таким образом, что ось север-юг магнита 13 совпадает с направлением растяжки 1. Силу магнита 13 и расстояние от него до магнитометра 12 можно подобрать таким образом, что напряженностью естественного магнитного поля Земли можно пренебречь по сравнению с напряженностью, создаваемой магнитом 13 в точке размещения магнитометра 12. Тогда направление вектора натяжения растяжки 1 относительно магнитометра 12 (а значит и блока 2) можно вычислить, основываясь на направлении вектора напряженности магнитного поля, измеренного магнитометром 12. Например, постоянный цилиндрический неодимовый магнит диаметром 10 мм и длиной 25мм с осевым отверстием 5мм, с направлением поляризации, совпадающим с осью цилиндра, расположенный растяжке 1 на расстоянии 50мм от магнитометра, создает напряженность магнитного поля более 1000мкТ при естественной напряженности поля земли менее 50мкТ. При этом величина натяжения растяжки 1 может определяться расположенным на ней тензометром 14. Описанные устройства — один из примеров герметичной реализации измерителя натяжения, вместо которых могут быть использованы другие известные способы и устройства, позволяющие определить вектор силы натяжения.
Вычислительное оборудование 15 может быть расположено на теле пловца (в том числе, мобильное устройство внутри шлема 3 виртуальной реальности), либо частично располагаться на суше, что дает возможность использования больших вычислительных мощностей стационарного вычислительного устройства (см. фиг. 6). Необходимая коммуникация между оборудованием пловца и берегом может осуществляться по проводному каналу, идущему параллельно растяжке 1, не создавая, таким образом, дополнительных ограничений при перемещении пловца.
Система подачи воздуха пловцу может представлять собой обычный акваланг (актуально для реалистичных тренажеров подводного плавания). Возможна также реализация, где канал 16 подачи воздуха дыхательной системы 4 также проходит параллельно растяжке 1, а баллон (компрессор) 17 расположен на суше.
Для обеспечения большей реалистичности ощущений от использования симулятора система может включать дополнительные измерители. Например, определяющие изгиб отдельных частей тела, в том числе спины пловца. Дополнительно могут быть использованы датчики, регистрирующие возможные внештатные ситуации, такие как попадание воды под маску, нарушение системы подачи воздуха, выход за пределы допустимых значений частоты пульса пловца, и прочие, которые позволяют активировать автоматическую систему экстренного всплытия.
Описанная выше система управления виртуальным объектом может использоваться совместно с другими известными контроллерами виртуальной реальности. Например, совмещение с системой распознавания положения рук, такой, как LeapMotion, позволяет пловцу видеть кисти виртуальных рук и взаимодействовать с виртуальными предметами. В зависимости от характера симулятора могут использоваться отдельные контроллеры имитирующие оружие и другое дополнительное оборудование. Для точного определения положения частей тела под водой могут использоваться внешние камеры типа MicrosoftKinect (адаптированные для работы в соответствующей среде).
Рассмотрим работу СУ на примере, когда пловец с компенсатором 5, обеспечивающим положительную плавучесть, удерживается растяжкой 1 от всплытия.
Предварительно устанавливают предварительное натяжение растяжки 1 - нулевой уровень натяжения в зависимости от целей симулятора. При использовании симулятора для расслабленного плавания, нулевое натяжение может быть небольшим (минимально возможным), например, 5 кг. В этом случае пловец испытывает незначительное давление пояса. Если симулятор предполагает изначально более интенсивное плавание, нулевой уровень натяжения устанавливают большим, например, 10 килограмм.
Пловец после погружения с аквалангом прикрепляет растяжку 1 к поясу. Сила натяжения растяжки 1 в этот момент меньше установленных 5кг, поэтому в виртуальной реальности пловец опускается на дно. Пловец подкачивает воздух в жилет и в реальности находится на одном и том же месте, удерживаемый растяжкой 1. При этом натяжение растяжки 1 возрастает, падение пловца в виртуальной реальности замедляется и затем прекращается при достижении натяжением растяжки 1 заданной нулевого уровня натяжения.
В случае превышении ожидаемой максимальной силы, а также возникновении других погрешностей измерения сил, определения нулевой точки и т.д. контроль над силой будет временно нарушен, что в условиях виртуальной реальности воспринимается пловцом как действие некоторых посторонних сил (например, подводных течений). Опыт эксплуатации системы показал, что небольшая погрешность в таком случае воспринимается достаточно естественно, то есть не оказывает критического влияния на реалистичность имитации. При возвращении усилий в допустимые пределы реалистичность ощущений восстановится.
Измерители СУ определяют величину и направление приложения пловцом силы, ориентацию и ускорение контролируемого физического тела, размещенного на поясе — в центре тяжести и плавучести пловца. Измерительный блок 2 может передавать в программу симуляции необработанные показания датчиков, либо производить некоторые вычисления с помощью своих ресурсов. Например, возможна реализация, когда СУ передаёт в программу симуляции углы ориентации пловца и вычисленный вектор силы пловца.
Рассмотрим физическую модель, по которой могут быть произведены расчеты, предполагая совпадение точек закрепления растяжки 1, центра тяжести и центра плавучести пловца. В этом случае (см. фиг. 9) равнодействующая сил ma, складывается из силы тяжести mg, силы T натяжения троса, силы Fa Архимеда и силы Fu, равной сумме, прикладываемой пловцом и силы сопротивления воды.
Силой сопротивления воды при движении зафиксированного пловца на небольших скоростях можно пренебречь, и силу Fu принять равной действительным усилиям пловца по перемещению. Силу Fu, прикладываемую пловцом для перемещения можно вычислить как разность равнодействующей силы ma и сил mg, силы натяжения T, выталкивающей силы Fa
(1)
Figure pctxmlib-appb-M000001
По первому закону Ньютона равнодействующая сил ma в каждый момент времени равна произведению массы пловца со снаряжением на его ускорение. Масса пловца известна и постоянна, вектор ускорения регистрируется с помощью трехосевого датчика акселерометра, расположенного вблизи центра масс. Сила тяжести mg вычисляется как произведение вектора ускорения свободного падения на массу пловца со снаряжением.
Сила Архимеда не является постоянной, так как она связана с изменением объёма пловца при дыхании, однако, часть её, связанную со вдохом и выдохом можно рассматривать как составляющую усилий Fu пловца, направленных на вертикальное перемещение. Таким же образом усилием, направленным пловцом на вертикальное перемещение будет считаться надувание (стравливание) воздуха из компенсационного жилета аквалангиста. Поэтому, под силой Fa понимают постоянную выталкивающую силу, равную силе Архимеда, действующей на пловца в состоянии, принятом за нейтральное, например, в состоянии неглубокого вдоха. Измерить эту силу можно в начале сеанса в состоянии покоя, когда пловец неподвижно завис над точкой крепления растяжки 1. В этом случае равнодействующая сил ma равна нулю, усилия Fu, прикладываемые пловцом, также равны нулю, значит постоянная сила Архимеда Fa равна по модулю и противоположна по направлению сумме известных сил тяготения mg и натяжения T (см.фиг. 10).
Силу Fu, прикладываемую пловцом в каждый момент времени, за вычетом силы сопротивления воды можно рассчитать через известные силы ma, mg, T, Fa. Пренебрегая силой сопротивления, можно считать, что сила Fu отражает действительное намерение пловца по изменению его скорости.
Физическая модель при использовании двух растяжек 1 рассчитывается аналогично, за исключением того, что вместо единственного вектора силы натяжения T должен вычисляться суммарный вектор натяжения обеих растяжек T1+T2 (векторная сумма, см. фиг. 2). При известных параметрах геометрии растяжек 1 и заданном коэффициенте эластичности один из векторов натяжения может быть вычислен через второй. Знание натяжения одной из растяжек 1 и коэффициента ее упругости позволяет определить ее удлинение, что в совокупности с информацией о положении точек закрепления растяжек 1 и угле отклонения первой растяжки 1 позволяет определить удлинение второй растяжки 1, и угол ее отклонения, что позволяет определить силу натяжения второй растяжки 1. Ввиду погрешностей вычисления, погрешностей геометрии установки, а также возможных несоответствий коэффициентов упругости, использование второго модуля измерения натяжения видится предпочтительным.
Для упрощения расчетов может быть использована несколько иная модель, в рамках которой для вычисления сил, прилагаемых пользователем, независимо от характера постоянных внешних сил, действующих на тело, достаточно знать его массу, ускорение и изменение суммы сил натяжения растяжек 1 относительно суммы сил их натяжений в состоянии равновесия.
Допустим, тело закреплено системой из N растяжек 1, прикрепленных к его центру масс в состоянии устойчивого равновесия. Известно, что на тело воздействуют некоторые постоянные силы, не зависящие от времени (такие, как сила тяжести, сила Архимеда), а также может воздействовать пользователь.
Тогда по второму закону Ньютона в любой момент времени справедлива формула
(2)
Figure pctxmlib-appb-M000002
где m – масса тела, a – ускорение тела (т.о. ma – равнодействующая сил, действующих на тело), T – сумма всех сил, действующих на тело со стороны растяжек 1, Fconst – сумма всех не зависящих от времени сил, действующих на тело, Fu – сила, прилагаемая пользователем к перемещению тела.
Тогда сила, прилагаемая пользователем к перемещению тела может быть вычислена как
(3)
Figure pctxmlib-appb-M000003
Пусть T0 сумма всех сил, действующих на тело со стороны растяжек 1 в состоянии равновесия при отсутствии воздействия пользователя. Тогда справедливо равенство
(4)
Figure pctxmlib-appb-M000004
или
(5)
Figure pctxmlib-appb-M000005
При этом (3) принимает вид:
(6)
Figure pctxmlib-appb-M000006
Оценённый тем или иным образом вектор силы передаётся в программу симуляции вместе с информацией о текущей ориентации контролируемого физического тела в системе координат мира, оцениваемой, например, с помощью датчика-гироскопа, размещенного, например, в измерительном блоке 2.Датчики ориентации позволяют производить перевод сил, вычисленных в системе координат устройства в систему координат мира.
Программа симуляции рассчитывает эффект от приложенной силы к виртуальному объекту тела пловца и управляет перемещением центра масс и ориентацией виртуального тела пловца в виртуальном пространстве, иными словами, определяет положение и ориентацию системы 18 координат , связанной с виртуальным телом пловца в неподвижной системе 19 координат виртуального мира (см. фиг. 11). При этом может применяться оценка массы объекта, отличная от реальной, коэффициент сопротивления среды плавания, отличный от коэффициента сопротивления воды, и другие отличия физической модели виртуального мира. Таким образом, например, в виртуальном пространстве возможно перемещение пловца со скоростями, отличными от обычных скоростей подводного, соответствующее замыслу игры или симулятора.
Для правильного восприятия пользователем картины виртуального мира, транслируемой через шлем виртуальной реальности, необходимо вычислять положение стерео-камеры 20, соответствующей глазам пловца в системе 19 координат виртуального мира.
Шлем 3 виртуальной реальности обладает собственными датчиками отслеживания ориентации, позволяющими регистрировать поворот головы пловца независимо от ориентации контролируемого физического тела. Поэтому для правильного вычисления положения камеры 20 в виртуальном пространстве достаточно знать координаты начала координат системы отсчета 21, связанной с головой пловца и имеющей центр вращения в точке поворота головы (в этой системе координаты стерео-камеры 20 постоянны) в системе 18 координат связанной с центром тела пловца.
Без привлечения дополнительной информации можно исходить из предположения, что вектор 22 «центр масс пловца – точка вращения головы», соединяющий начала координат систем 18 и 21 в системе координат пловца 18 неизменен и соответствует выпрямленному состоянию позвоночника, наиболее естественному для плавания.
Более точная модель вычисления вектора 22 может быть построена с привлечением информации дополнительных датчиков, например, датчика изгиба спины, что сделает возможным более корректное визуальное восприятие пловцом перемещений с отличным от выпрямленного состоянием позвоночника.
Используя описанную физическую модель, пользователь, закреплённый в ограниченном объёме физического пространства, может неограниченно перемещаться в виртуальном пространстве, в направлении, управляемом плавательными движениями тела, при этом смотря в направлении, определяемом реальным положением и направлением поворота головы, что в большой степени соответствует ощущениям, которые он испытывал бы, действительно перемещаясь под водой.

Claims (24)

  1. Система управления виртуальным объектом посредством усилий пользователя, направленных на перемещение ассоциированного с виртуальным объектом физического тела, закрепленного с помощью системы из по крайней мере одной растяжки, так, что система растяжек способна удерживать тело в положении устойчивого равновесия с возможностью вращения тела вокруг как минимум одной оси, проходящей вблизи от его центра масс, содержащая элементы, определяющие ориентацию физического тела в пространстве, а также величину и направление силы, действующей на физическое тело со стороны системы растяжек.
  2. Система по п.1, отличающаяся тем, что содержит элемент, определяющий ускорение физического тела.
  3. Система по п.1, отличающаяся тем, что содержит трехосевой датчик определения вектора силы, приложенной к физическому телу со стороны системы растяжек.
  4. Система по п.1, отличающаяся тем, что при любых усилиях пользователя по перемещению физического тела, не превосходящих максимального ожидаемого усилия, всегда найдется хотя бы одна растяжка системы, имеющая ненулевое натяжение.
  5. Система по п.1 или п.4, отличающаяся тем, что система растяжек состоит из единственной растяжки, способной удерживать физическое тело в воздухе в подвешенном состоянии, а максимальное ожидаемое от пользователя усилие не превосходит веса физического тела.
  6. Система по п.4, отличающаяся тем, что содержит две растяжки, способные удерживать физическое тело, будучи растянутыми в противоположных направлениях.
  7. Система по п.4, отличающаяся тем, что система растяжек состоит из единственной растяжки, способной удерживать физическое тело с отрицательной плавучестью в жидкой среде в подвешенном состоянии, а максимальное ожидаемое усилие не превосходит разности величин силы тяжести и выталкивающей силы, действующих на физическое тело.
  8. Система по п.4, отличающаяся тем, что система растяжек состоит из единственной растяжки, способной удерживать от всплытия физическое тело с положительной плавучестью в жидкой среде, а максимальное ожидаемое усилие не превосходит разности величин выталкивающей силы и силы тяжести, действующих на физическое тело.
  9. Система по п.1, отличающаяся тем, что как минимум одна из растяжек системы содержит сегмент, реализующий функцию расцепления растяжки.
  10. Система по п.1, отличающаяся тем, что как минимум одна из растяжек системы содержит сегмент, обладающий возможностью свободного вращения вокруг оси, параллельной оси растяжки.
  11. Система по п.1, отличающаяся тем, что как минимум одна из растяжек системы содержит сегмент, позволяющий измерение величины силы натяжения растяжки.
  12. Система по п.1 или п.11, отличающаяся тем, что каждая растяжка оснащена тензометром для измерения величины её натяжения.
  13. Система по п.1 или п.6 или п.7 или п.8, , отличающаяся тем, что физическим телом является пловец с закрепленным на нем оборудованием, которое включает в себя устройство отображения визуальной информации.
  14. Система по п.13, отличающаяся тем, что устройство вывода визуальной информации выполнено в виде шлема виртуальной реальности, совмещенного с плавательной маской.
  15. Система по п.13, отличающаяся тем, что содержит систему дыхания и подачи воздуха, проводной канал которой расположен вдоль одной из растяжек контроллера.
  16. Система по п.1, отличающаяся тем, что соединение растяжки с физическим телом производится с помощью элементов крепления, позволяющих вращение физического тела относительно одной или нескольких осей, проходящих вблизи центра масс физического тела.
  17. Система по п.16, отличающаяся тем, что крепление состоит из внутреннего кольца, выполненного с возможностью крепления к контролируемому физическому телу и вращения внутри внешнего кольца, а также скобы, позволяющей вращение относительно оси, перпендикулярной оси колец.
  18. Система по п.1, отличающаяся тем, что для определения направления силы натяжения растяжки на ней расположен магнит, а вблизи магнита в центре масс физического тела установлен магнетометр.
  19. Система по п.1, отличающаяся тем, что имеет систему блоков или грузов для фиксации растяжки.
  20. Способ управления виртуальным объектом посредством усилий пользователя, направленных на перемещение ассоциированного с виртуальным объектом физического тела, закрепленного в положении устойчивого равновесия с помощью системы из по крайней мере одной растяжки, характеризующийся тем, что:
    - определяют начальные условия среды, в которой находится физическое тело,
    - векторы сил натяжения растяжек,
    - вычисляют вектор силы, приложенной пользователем,
    - используют вычисленную силу для симуляции поведения виртуального объекта.
  21. Способ по п.20, отличающийся тем, что определяют векторы существенных внешних сил, действующих на физическое тело.
  22. Способ по п.20, отличающийся тем, что определяют вектор собственного ускорения физического тела.
  23. Способ по п.20, отличающийся тем, что устанавливают уровень предварительного натяжения растяжек в зависимости от целей симулятора.
  24. Способ по п.20, отличающийся тем, что определяют положение стерео-камеры, соответствующей глазам пользователя в системе координат виртуального мира, если в качестве физического тела выступает пользователь
PCT/RU2018/050090 2017-07-31 2018-07-30 Система и способ управления виртуальным объектом WO2019027358A1 (ru)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201880058783.5A CN111107910B (zh) 2017-07-31 2018-07-30 用于控制虚拟对象的系统和方法
US16/633,503 US11524223B2 (en) 2017-07-31 2018-07-30 System and method for controlling virtual objects

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU2017127259A RU2670351C1 (ru) 2017-07-31 2017-07-31 Система и способ управления виртуальным объектом
RU2017127259 2017-07-31

Publications (1)

Publication Number Publication Date
WO2019027358A1 true WO2019027358A1 (ru) 2019-02-07

Family

ID=63923416

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2018/050090 WO2019027358A1 (ru) 2017-07-31 2018-07-30 Система и способ управления виртуальным объектом

Country Status (4)

Country Link
US (1) US11524223B2 (ru)
CN (1) CN111107910B (ru)
RU (1) RU2670351C1 (ru)
WO (1) WO2019027358A1 (ru)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PT3482802T (pt) * 2017-11-13 2021-02-19 Vr Coaster Gmbh & Co Kg Dispositivo para a experiência de uma simulação de realidade virtual num mundo subaquático
CN110045827B (zh) 2019-04-11 2021-08-17 腾讯科技(深圳)有限公司 虚拟环境中虚拟物品的观察方法、装置及可读存储介质
RU2738489C1 (ru) * 2020-04-03 2020-12-14 Общество с ограниченной ответственностью "Центр тренажеростроения и подготовки персонала" Учебный тренажерно-моделирующий комплекс для подготовки космонавтов к внутрикорабельной деятельности
CN111632370B (zh) * 2020-05-20 2024-02-27 东北石油大学 虚拟现实中手部阻力处理方法和装置
WO2022131969A1 (ru) * 2020-12-18 2022-06-23 Общество с ограниченной ответственностью "ВИАРДАЙВЕР" (ООО "ВИАРДАЙВЕР") Система ограничения перемещений пользователя в водной среде

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090111670A1 (en) * 2003-05-29 2009-04-30 Julian D Williams Walk simulation apparatus for exercise and virtual reality
WO2010130346A1 (en) * 2009-05-11 2010-11-18 Eth Zurich Haptic interface for a virtual environment
US20100302233A1 (en) * 2009-05-26 2010-12-02 Holland David Ames Virtual Diving System and Method
RU2524503C1 (ru) * 2013-01-09 2014-07-27 Общество с ограниченной ответственностью "Центр тренажеростроения и подготовки персонала" Многофункциональный учебно-тренировочный комплекс для подготовки космонавтов (астронавтов) к внекорабельной деятельности (варианты)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002304246A (ja) * 2001-04-04 2002-10-18 Nippon Telegr & Teleph Corp <Ntt> 力覚提示装置及び仮想空間システム
WO2006017926A1 (en) * 2004-08-20 2006-02-23 UNIVERSITé LAVAL Locomotion simulation system and method
US8054289B2 (en) * 2006-12-01 2011-11-08 Mimic Technologies, Inc. Methods, apparatus, and article for force feedback based on tension control and tracking through cables
US9256282B2 (en) * 2009-03-20 2016-02-09 Microsoft Technology Licensing, Llc Virtual object manipulation
FR2950187B1 (fr) * 2009-09-17 2011-11-18 Centre Nat Rech Scient Procede de simulation de mouvements propres par retour haptique et dispositif mettant en oeuvre le procede
CN102160924A (zh) * 2010-02-24 2011-08-24 肖泉 模拟太空体觉体验的方法和装置
CA2795399A1 (fr) * 2010-04-06 2011-10-13 Nelson Greenberg Virtual exerciser device
CN106621320A (zh) * 2016-11-29 2017-05-10 维沃移动通信有限公司 一种虚拟现实终端的数据处理方法和虚拟现实终端
US10796541B1 (en) * 2019-06-25 2020-10-06 Kipling Martin Virtual reality haptic feedback system and components thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090111670A1 (en) * 2003-05-29 2009-04-30 Julian D Williams Walk simulation apparatus for exercise and virtual reality
WO2010130346A1 (en) * 2009-05-11 2010-11-18 Eth Zurich Haptic interface for a virtual environment
US20100302233A1 (en) * 2009-05-26 2010-12-02 Holland David Ames Virtual Diving System and Method
RU2524503C1 (ru) * 2013-01-09 2014-07-27 Общество с ограниченной ответственностью "Центр тренажеростроения и подготовки персонала" Многофункциональный учебно-тренировочный комплекс для подготовки космонавтов (астронавтов) к внекорабельной деятельности (варианты)

Also Published As

Publication number Publication date
US11524223B2 (en) 2022-12-13
RU2670351C1 (ru) 2018-10-22
CN111107910B (zh) 2023-08-22
CN111107910A (zh) 2020-05-05
US20200226946A1 (en) 2020-07-16

Similar Documents

Publication Publication Date Title
RU2670351C1 (ru) Система и способ управления виртуальным объектом
CN111356507B (zh) 用于在水下世界中体验虚拟现实仿真的装置
KR101307609B1 (ko) 실감형 콘텐츠 기반 스킨스쿠버 교육장치
Jain et al. Immersive terrestrial scuba diving using virtual reality
US11097177B1 (en) Repulsion-based swim system and methods for use thereof
US8027785B2 (en) Homing display system and method
KR101232422B1 (ko) 가상 스킨스쿠버 체감을 위한 모션 시뮬레이터 시스템
EP2477894A1 (en) Method and apparatus of variable g force experience and create immersive vr sensations
KR101230192B1 (ko) 낙하산 강하 훈련 시뮬레이션 시스템 및 그 방법
US20090303179A1 (en) Kinetic Interface
US9591271B2 (en) Method and device for viewing computer data contents associated with propulsion
KR101869220B1 (ko) 헤드 마운트 디스플레이를 활용한 가상현실 기반의 유영 시스템
US20040086838A1 (en) Scuba diving simulator
CN102160924A (zh) 模拟太空体觉体验的方法和装置
KR101948660B1 (ko) 가상현실 체험용 시뮬레이션 보드 장치
US20220276697A1 (en) Apparatus and method
KR101954083B1 (ko) 수영자세 코칭 서비스 관리서버 및 그 시스템
KR101128713B1 (ko) 스킨스쿠버 체감을 위한 시뮬레이터 시스템
US20180244359A1 (en) Underwater recreation system
US11992732B2 (en) Repulsion-based swimjet system and methods for use thereof
US20240075369A1 (en) System for restricting user movements in an aquatic medium
RU173655U1 (ru) Имитатор космических условий на основе виртуальной реальности
JPH07285500A (ja) 空間識適応の訓練方法及び訓練装置
RU126614U1 (ru) Интерактивный программно-аппаратный тренажер техники дыхания и навыка контроля плавучести в дайвинге с аппаратами открытого цикла
PL235586B1 (pl) Urządzenie i sposób wspomagania treningu pływackiego

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18841533

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18841533

Country of ref document: EP

Kind code of ref document: A1