WO2024161820A1 - ばね機構の制御方法、ばね機構の制御装置、及びプログラム - Google Patents
ばね機構の制御方法、ばね機構の制御装置、及びプログラム Download PDFInfo
- Publication number
- WO2024161820A1 WO2024161820A1 PCT/JP2023/045157 JP2023045157W WO2024161820A1 WO 2024161820 A1 WO2024161820 A1 WO 2024161820A1 JP 2023045157 W JP2023045157 W JP 2023045157W WO 2024161820 A1 WO2024161820 A1 WO 2024161820A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- spring mechanism
- user
- spring
- controlling
- information
- Prior art date
Links
- 230000007246 mechanism Effects 0.000 title claims abstract description 207
- 238000000034 method Methods 0.000 title claims description 41
- 230000000386 athletic effect Effects 0.000 claims description 49
- 230000005484 gravity Effects 0.000 claims description 32
- 230000009191 jumping Effects 0.000 claims description 23
- 238000005381 potential energy Methods 0.000 claims description 16
- 230000010365 information processing Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 description 94
- 238000009434 installation Methods 0.000 description 24
- 230000009471 action Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 230000008859 change Effects 0.000 description 9
- 238000012937 correction Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 210000003205 muscle Anatomy 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000035807 sensation Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000001953 sensory effect Effects 0.000 description 3
- 230000000638 stimulation Effects 0.000 description 3
- 230000036772 blood pressure Effects 0.000 description 2
- 230000036760 body temperature Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000007103 stamina Effects 0.000 description 2
- 210000004243 sweat Anatomy 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/218—Input arrangements for video game devices characterised by their sensors, purposes or types using pressure sensors, e.g. generating a signal proportional to the pressure applied by the player
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/25—Output arrangements for video game devices
- A63F13/28—Output arrangements for video game devices responding to control signals received from the game device for affecting ambient conditions, e.g. for vibrating players' seats, activating scent dispensers or affecting temperature or light
- A63F13/285—Generating tactile feedback signals via the game input device, e.g. force feedback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
Definitions
- This disclosure relates to a method for controlling a spring mechanism, a device for controlling a spring mechanism, and a program.
- Patent document 1 discloses a game device that allows the player to intuitively control the character's jump by linking the player's jump with the character's jump on the game screen.
- Patent Document 2 discloses a display system that can provide an effective presentation by equipping a footwear device with a sensory stimulation unit that stimulates the senses of the user's feet, and reproducing the sensation of the foot by controlling the sensory stimulation unit in response to the user's actions in response to the display on the display unit, or reproducing the sensation of shoes by controlling the sensory stimulation unit in response to the user's footwear selection operation.
- Patent Documents 1 and 2 do not consider at all that, in XR technologies such as VR, AR, or MR, the load of a virtual object in a virtual space is reproduced for a user in real space by having the user wear shoes equipped with a spring mechanism with a variable spring constant and controlling the spring constant of the spring mechanism, or that the load of the virtual space is reproduced in real space.
- XR technologies such as VR, AR, or MR
- the present disclosure aims to provide a method for controlling a spring mechanism, a device for controlling a spring mechanism, and a program that can control the spring constant of a spring mechanism based on a load related to a user or real space and a load related to a virtual object or virtual space, thereby reproducing the load of a virtual object for a user, or reproducing the load of a virtual space in real space.
- a method of controlling a spring mechanism is a method of controlling a spring mechanism that can variably control a spring constant, in which a control device acquires first information indicating a load on a user whose movement is assisted by the spring mechanism, acquires second information indicating a load on a virtual object corresponding to the user, and controls the spring constant of the spring mechanism based on the acquired first information and second information.
- a method of controlling a spring mechanism is a method of controlling a spring mechanism in which the spring constant can be variably controlled, in which a control device acquires first information indicating a load related to a real space in which a user whose movement is assisted by the spring mechanism is located, acquires second information indicating a load related to a virtual space corresponding to the real space, and controls the spring constant of the spring mechanism based on the acquired first information and second information.
- FIG. 1 is a side view showing a schematic configuration of a spring-loaded shoe according to an embodiment of the present disclosure.
- FIG. 4 is a side view illustrating a schematic configuration of one spring mechanism. 10 is a top view showing a schematic positional relationship between the leaf spring and the upper surface of the upper portion of the main body.
- FIG. 11 is a side view showing a schematic diagram of a state in which the spring constant of the spring mechanism is changed;
- FIG. 4 is a diagram illustrating a mechanism for rotating a leaf spring.
- FIG. 4 is a diagram illustrating a mechanism for rotating a leaf spring.
- FIG. 1 is a diagram showing a simplified overall configuration of an XR system. 3 is a diagram showing functions of a processing unit and information held in a storage unit; FIG. FIG.
- FIG. 13 is a diagram illustrating a simplified example of user capability information.
- FIG. 13 is a diagram showing a simplified example of character ability information.
- 11 is a flowchart showing a flow of processing executed by a processing unit in the first processing example.
- 4 is a timing chart showing timing of controlling a spring constant.
- 13 is a flowchart showing a flow of processing executed by a processing unit in the second processing example. 4 is a timing chart showing timing of controlling a spring constant.
- 13 is a flowchart showing the flow of processing executed by the processing unit in the third processing example.
- 13 is a flowchart showing the flow of processing executed by the processing unit in the fourth processing example.
- 13 is a flowchart showing the flow of processing executed by the processing unit in the fifth processing example.
- XR cross reality
- VR virtual reality
- AR augmented reality
- MR mixed reality
- XR space virtual space
- the expression in the XR space is mainly video and audio, but it is desired to realize a means that allows a user to experience actions or experiences in a virtual space more realistically in the real space by reproducing the motor ability of a virtual object in the XR space to a user in the real space, or reproducing the weight environment of the XR space in the real space.
- the inventor has discovered that by having a user wear shoes equipped with a spring mechanism with a variable spring constant and controlling the spring constant of the spring mechanism, it is possible to reproduce the athletic ability of a virtual object in XR space for a user in real space, or to reproduce the gravitational environment of XR space in real space, and has arrived at the present disclosure.
- the method for controlling a spring mechanism according to the first aspect of the present disclosure is a method for controlling a spring mechanism in which the spring constant can be variably controlled, in which a control device acquires first information indicating a load on a user whose movement is assisted by the spring mechanism, acquires second information indicating a load on a virtual object corresponding to the user, and controls the spring constant of the spring mechanism based on the acquired first information and second information.
- the control device controls the spring constant of the spring mechanism based on the acquired first information and second information. This makes it possible to control the spring constant of the spring mechanism based on the load on the user and the load on the virtual object, and as a result, it becomes possible to reproduce the load of the virtual object for the user.
- the load on the user or the virtual object may include the motor ability of the user or the virtual object.
- the mechanical energy of the user may be calculated
- the mechanical energy of the virtual object may be calculated
- the spring constant of the spring mechanism may be controlled based on the difference between the mechanical energy of the user and the mechanical energy of the virtual object.
- the third aspect by controlling the spring constant based on the difference between the mechanical energy of the user and the mechanical energy of the virtual object, it is possible to appropriately control the spring constant of the spring mechanism.
- the athletic ability includes jumping power
- the mechanical energy of the user includes potential energy of the user who jumps and potential energy due to the elastic force of the spring mechanism
- the mechanical energy of the virtual object includes potential energy of the virtual object who jumps.
- the spring constant of the spring mechanism can be appropriately controlled by using the potential energy of the user who jumped, the potential energy due to the elastic force of the spring mechanism, and the potential energy of the virtual object who jumped.
- the spring mechanism control method may further include, in any one of the first to fourth aspects, acquiring the fatigue level of the user and the fatigue level of the virtual object, and in controlling the spring constant of the spring mechanism, further controlling the spring constant of the spring mechanism based on the fatigue level of the user and the fatigue level of the virtual object.
- the spring constant of the spring mechanism based on the fatigue level of the user and the fatigue level of the virtual object, it is possible to reproduce the change in athletic ability according to the fatigue level of either the user or the virtual object in the other of the user and the virtual object.
- the method for controlling a spring mechanism is a method for controlling a spring mechanism in which the spring constant can be variably controlled, in which a control device acquires first information indicating a load related to a real space in which a user whose movement is assisted by the spring mechanism is located, acquires second information indicating a load related to a virtual space corresponding to the real space, and controls the spring constant of the spring mechanism based on the acquired first information and second information.
- control device controls the spring constant of the spring mechanism based on the acquired first information and second information. This makes it possible to control the spring constant of the spring mechanism based on the load related to the real space and the load related to the virtual space, and as a result, it becomes possible to reproduce the load in the virtual space in the real space.
- the load related to the real space or the virtual space may include a gravity value of the real space or the virtual space.
- the seventh aspect it is possible to reproduce the gravity value in virtual space in real space.
- the spring mechanism control method may be the seventh aspect, in which the spring constant of the spring mechanism is controlled based on the difference between gravity at the location of the user and gravity at the location of the virtual object.
- the eighth aspect by controlling the spring constant based on the difference between gravity at the user's location and gravity at the virtual object's location, it becomes possible to appropriately control the spring constant of the spring mechanism.
- the user may include a person wearing shoes in which the spring mechanism is arranged in the sole.
- the ninth aspect by controlling the spring constant of a spring mechanism arranged in the sole of the shoe worn by the user, it is possible to control the user's jumping power or the floating sensation experienced by the user.
- the spring mechanism control method may change the spring constant of the spring mechanism when the contracted spring mechanism starts to expand.
- the spring mechanism control method in any one of the first to tenth aspects, further determines the degree of motion safety of the user, and in controlling the spring constant of the spring mechanism, further controls the spring constant of the spring mechanism based on the degree of motion safety of the user.
- the eleventh aspect by controlling the spring constant based on the user's motion safety, it is possible to prevent a user from jumping indoors and colliding with the ceiling.
- the spring mechanism control device is a spring mechanism control device capable of variably controlling a spring constant, and includes an acquisition unit that acquires first information indicating a load on a user whose motion is assisted by the spring mechanism and second information indicating a load on a virtual object corresponding to the user, and a control unit that controls the spring constant of the spring mechanism based on the first information and the second information acquired by the acquisition unit.
- control unit controls the spring constant of the spring mechanism based on the first information and the second information acquired by the acquisition unit. This makes it possible to control the spring constant of the spring mechanism based on the load on the user and the load on the virtual object, and as a result, it becomes possible to reproduce the load of the virtual object for the user.
- the spring mechanism control device is a spring mechanism control device capable of variably controlling a spring constant, and includes an acquisition unit that acquires first information indicating a load related to a real space in which a user whose movement is assisted by the spring mechanism is located, and second information indicating a load related to a virtual space corresponding to the real space, and a control unit that controls the spring constant of the spring mechanism based on the first information and the second information acquired by the acquisition unit.
- control unit controls the spring constant of the spring mechanism based on the first information and the second information acquired by the acquisition unit. This makes it possible to control the spring constant of the spring mechanism based on the load related to the real space and the load related to the virtual space, and as a result, it becomes possible to reproduce the load in the virtual space in the real space.
- the program according to the fourteenth aspect of the present disclosure is a program for causing an information processing device equipped with a control device for a spring mechanism capable of variably controlling a spring constant to function as an acquisition means for acquiring first information indicating a load on a user whose movement is assisted by the spring mechanism and second information indicating a load on a virtual object corresponding to the user, and a control means for controlling the spring constant of the spring mechanism based on the first information and the second information acquired by the acquisition means.
- control means controls the spring constant of the spring mechanism based on the first information and the second information acquired by the acquisition means. This makes it possible to control the spring constant of the spring mechanism based on the load on the user and the load on the virtual object, and as a result, it becomes possible to reproduce the load of the virtual object for the user.
- the program according to the fifteenth aspect of the present disclosure is a program for causing an information processing device equipped with a control device for a spring mechanism capable of variably controlling a spring constant to function as an acquisition means for acquiring first information indicating a load related to the real space in which a user whose movement is assisted by the spring mechanism is located and second information indicating a load related to a virtual space corresponding to the real space, and a control means for controlling the spring constant of the spring mechanism based on the first information and the second information acquired by the acquisition means.
- control means controls the spring constant of the spring mechanism based on the first information and the second information acquired by the acquisition means. This makes it possible to control the spring constant of the spring mechanism based on the load related to the real space and the load related to the virtual space, and as a result, it becomes possible to reproduce the load in the virtual space in the real space.
- FIG. 1 is a side view showing a schematic configuration of a spring-loaded shoe 101 according to an embodiment of the present disclosure.
- the spring-loaded shoe 101 is worn by a user located in real space.
- the spring-loaded shoe 101 has a sole 102 on which multiple spring mechanisms B are arranged.
- the multiple spring mechanisms B may be arranged in a matrix so as to be distributed over the entire surface of the sole 102.
- a user wearing the spring-loaded shoe 101 is assisted in movements such as jumping or walking by the spring mechanisms B.
- a motion sensor 54 such as an acceleration sensor or a gyro sensor is arranged on the spring-loaded shoe 101.
- FIG. 2 is a side view showing the structure of one spring mechanism B.
- Spring mechanism B includes a main body 3 having a generally cylindrical outer shape, and a first structure 2 and a second structure 4 having a generally disk-shaped outer shape that are shorter than the main body 3.
- the upper surface 2U of the first structure 2 is fixed to the sole 102, and the lower surface 4L of the second structure 4 is in contact with the floor or ground.
- the first structure 2 is disposed parallel to and spaced apart from the main body 3, facing the upper surface 3U of the main body 3.
- the first structure 2 and the main body 3 are connected to each other by rod-shaped leaf springs 12A to 12C that are the same length.
- FIG. 3 is a top view that shows a schematic diagram of the positional relationship between the leaf springs 12A to 12C and the upper surface 3U of the main body 3.
- the leaf springs 12A to 12C are arranged in a spiral shape (one-sheet hyperboloid shape) with respect to the center of the upper surface 3U of the main body 3.
- the leaf spring 12A has a first end that is movably connected to the upper surface 3U of the main body 3 by a bearing member 13A, and a second end that is movably connected to the lower surface 2L of the first structure 2 by a bearing member 11A.
- the bearing member 11A is fixed to the first structure 2, and the bearing member 13A is fixed to the main body 3.
- the installation location of the bearing member 11A and the installation location of the bearing member 13A do not coincide with each other.
- leaf spring 12B has a first end that is movably connected to upper surface 3U of main body 3 by bearing member 13B, and a second end that is movably connected to lower surface 2L of first structure 2 by bearing member 11B.
- Bearing member 11B is fixed to first structure 2, and bearing member 13B is fixed to main body 3.
- the leaf spring 12C has a first end that is movably connected to the upper surface 3U of the main body 3 by a bearing member 13C, and a second end that is movably connected to the lower surface 2L of the first structure 2 by a bearing member 11C.
- the bearing member 11C is fixed to the first structure 2, and the bearing member 13C is fixed to the main body 3.
- the installation location of the bearing member 11C and the installation location of the bearing member 13C do not coincide with each other.
- the number of leaf springs 12A to 12C is not limited to three, but may be one or more.
- the second structure 4 is disposed parallel to and spaced from the main body 3, facing the lower surface 3L of the main body 3.
- the second structure 4 and the main body 3 are connected to each other by rod-shaped leaf springs 22A-22C of the same length.
- the leaf springs 22A-22C are disposed in a spiral shape (one-sheet hyperboloid shape) with respect to the center of the lower surface 3L of the main body 3.
- the leaf spring 22A has a first end that is movably connected to the lower surface 3L of the main body 3 by a bearing member 23A, and a second end that is movably connected to the upper surface 4U of the second structure 4 by a bearing member 21A.
- the bearing member 21A is fixed to the second structure 4, and the bearing member 23A is fixed to the main body 3.
- the installation location of the bearing member 21A and the installation location of the bearing member 23A do not coincide with each other.
- leaf spring 22B has a first end movably connected to the lower surface 3L of main body 3 by bearing member 23B, and a second end movably connected to the upper surface 4U of second structure 4 by bearing member 21B.
- Bearing member 21B is fixed to second structure 4, and bearing member 23B is fixed to main body 3. When projected onto lower surface 3L of main body 3 from vertically below, the installation location of bearing member 21B and the installation location of bearing member 23B do not coincide with each other.
- leaf spring 22C has a first end movably connected to the lower surface 3L of main body 3 by bearing member 23C, and a second end movably connected to the upper surface 4U of second structure 4 by bearing member 21C.
- Bearing member 21C is fixed to second structure 4, and bearing member 23C is fixed to main body 3.
- the number of leaf springs 22A-22C is not limited to three, but may be one or more.
- Leaf springs 12A-12C and leaf springs 22A-22C are arranged in mirror symmetry with respect to main body 3.
- the installation location of bearing member 11A is the same as the installation location of bearing member 21A
- the installation location of bearing member 13A is the same as the installation location of bearing member 23A
- the length of leaf spring 12A is the same as the length of leaf spring 22A.
- the installation location of bearing member 11B is the same as the installation location of bearing member 21B
- the installation location of bearing member 13B is the same as the installation location of bearing member 23B
- the length of leaf spring 12B is the same as the length of leaf spring 22B.
- the installation location of the bearing member 11C is the same as the installation location of the bearing member 21C
- the installation location of the bearing member 13C is the same as the installation location of the bearing member 23C
- the length of the leaf spring 12C is the same as the length of the leaf spring 22C.
- a pressure sensor 40A such as a piezoelectric element is embedded in the center of the upper surface 2U of the first structure 2.
- the pressure sensor 40A detects the magnitude of pressure applied to the first structure 2 from the outside.
- a pressure sensor 40B such as a piezoelectric element is embedded in the center of the lower surface 4L of the second structure 4.
- the pressure sensor 40B detects the magnitude of pressure applied to the second structure 4 from the outside.
- the leaf springs 22A-22C and the second structure 4 may be omitted.
- the leaf springs 12A-12C and 22A-22C are not limited to a thin plate shape, and may have any shape that includes at least a portion of a non-circular cross-sectional shape.
- the spring constant k of spring mechanism B can be variably set by adjusting the rotational direction of leaf springs 12A-12C and 22A-22C.
- FIG. 4 is a side view showing a schematic diagram of a situation in which the spring constant k of spring mechanism B is changed. As shown by the leftmost spring mechanism B, the spring constant k of spring mechanism B is set to a maximum value (max) by controlling the rotational direction of leaf springs 12A-12C and 22A-22C so that they are at their thickest when viewed from the side (i.e., at their thinnest when viewed from above).
- the spring constant k of spring mechanism B is set to a minimum value (min) by controlling the rotational direction of leaf springs 12A-12C and 22A-22C so that they are at their thinnest when viewed from the side (i.e., at their thickest when viewed from above). Also, as shown by the central spring mechanism B, the spring constant k of spring mechanism B is set to a mid-value (mid) by controlling the rotational direction of leaf springs 12A-12C and 22A-22C so that the spring has a mid-value thickness when viewed from the side (i.e., a mid-value thickness when viewed from above).
- the double-headed arrow in the figure indicates that the spring constant k of spring mechanism B can be changed in both directions.
- Figures 5 and 6 are schematic diagrams showing the mechanism for rotating the leaf springs 12A to 12C.
- a disk-shaped rotating member 75 is disposed in the center of the upper surface 3U of the main body 3.
- a motor 76 and an electromagnetic brake 70 are disposed within the main body 3.
- the motor 76 has a rotating shaft 77 extending in the vertical direction, and the rotating shaft 77 is connected to the underside of the rotating member 75 via the electromagnetic brake 70.
- the rotating member 75 is driven to rotate around the rotating shaft 77.
- the electromagnetic brake 70 may be omitted.
- leaf spring 12A By driving motor 76 with electromagnetic brake 70 off, rotating member 75 is driven to rotate around rotation shaft 77.
- the associated operation of leaf spring 12A will be explained using Figures 5 and 6.
- a rotating member driven by motor 76, like rotating member 75, is also disposed on underside 3L of main body 3, and the operation of the other leaf springs 12B, 12C, 22A-22C is similar to that of leaf spring 12A, so a duplicated explanation will be omitted.
- a connecting member 74A is fixed to the upper surface of the rotating member 75, and one end 73A of the link mechanism 72A is connected to the connecting member 74A.
- the other end of the link mechanism 72A is connected to the leaf spring 12A by the connecting member 71A near the bearing member 13A.
- the connecting member 74A fixed to the upper surface of the rotating member 75 also rotates. Then, the link mechanism 72A connected to the connecting member 74A pulls the connecting member 71A, causing the leaf spring 12A to rotate around its longitudinal axis. As shown in FIG. 5, when the connecting member 74A has moved to its limit position in the first direction, the leaf spring 12A is at its thinnest when viewed from above, and corresponds to the state in which the spring constant k of the spring mechanism B is set to its maximum value.
- the connecting member 74A fixed to the upper surface of the rotating member 75 also rotates.
- the link mechanism 72A connected to the connecting member 74A pulls the connecting member 71A, causing the leaf spring 12A to rotate around its longitudinal axis.
- the leaf spring 12A is at its thickest when viewed from above, and corresponds to the state in which the spring constant k of the spring mechanism B is set to its minimum value.
- FIG. 7 is a simplified diagram showing the overall configuration of an XR system according to an embodiment of the present disclosure.
- the XR system includes a control device 100, a headset 51, a remote control 52, a smartwatch 53, a motion sensor 54, a camera 55, a distance sensor 56, and a spring mechanism B.
- the control device 100 is a cloud server or an edge server, etc.
- the headset 51 is worn on the user's head.
- the headset 51 is equipped with a monitor that outputs an image of the XR space and a speaker that outputs sound.
- the headset 51 may be equipped with a motion sensor such as an acceleration sensor or a gyro sensor.
- the remote control 52 is held by the user's hand.
- the remote control 52 is equipped with a plurality of operation switches or input buttons, etc.
- the remote control 52 may be equipped with a motion sensor such as an acceleration sensor or a gyro sensor.
- the smart watch 53 is worn on the user's wrist.
- the smart watch 53 is equipped with various sensors for detecting the user's health condition, such as heart rate, pulse rate, body temperature, blood pressure, or sweat rate.
- the motion sensor 54 is disposed in the spring-loaded shoe 101 as shown in FIG. 1.
- the camera 55 and the distance sensor 56 are installed in a room where the user is located when performing the XR experience, or are mounted on the headset 51.
- the camera 55 takes an image of the user performing the XR experience.
- the distance sensor 56 measures the distance between the user and the ceiling or walls of the room.
- the headset 51, remote control 52, smart watch 53, motion sensor 54, camera 55, distance sensor 56, and spring mechanism B can communicate with the control device 100 via any communication network 59, such as a dedicated line network or a public line network.
- the control device 100 includes a processing unit 81, a memory unit 82, and a communication unit 83.
- the processing unit 81 is configured with an information processing device such as a CPU.
- the memory unit 82 is configured using a HDD, SSD, or semiconductor memory, etc.
- the communication unit 83 is configured with a communication module compatible with any communication method such as IP.
- the spring mechanism B includes a processing unit 91, a memory unit 92, a communication unit 93, pressure sensors 40A and 40B, an electromagnetic brake 70, and a motor 76.
- the processing unit 91 is configured with an information processing device such as a CPU or a microcontroller.
- the memory unit 92 is configured using a semiconductor memory, etc.
- the communication unit 93 is configured with a communication module compatible with any communication method such as IP.
- FIG. 8 is a diagram showing various functions possessed by the processing unit 81 and various information held by the memory unit 82.
- the processing unit 81 has an image control unit 201, an audio control unit 202, a spring control unit 203, a virtual space processing unit 204, a user ability identification unit 205, and a user state identification unit 206.
- the spring control unit 203 has an acquisition unit 301, a setting unit 302, and a control unit 303.
- the above program is a program for causing the processing unit 81, which is an information processing device mounted on the control device 100, to function as multiple processing means corresponding to these multiple processing units.
- the video control unit 201 generates video data of the XR space to be displayed on the monitor of the headset 51.
- the generated video data is transmitted from the processing unit 81 to the headset 51 via the communication unit 83 and the communication network 59.
- the audio control unit 202 generates audio data for the XR space to be output from the speaker of the headset 51.
- the generated audio data is transmitted from the processing unit 81 to the headset 51 via the communication unit 83 and the communication network 59.
- the acquisition unit 301 acquires the first information by reading it from the memory unit 82.
- the first information indicates at least one of user ability information 401 indicating the load on the user and real space information 405 indicating the load on the real space.
- the load on the user includes, for example, the user's athletic ability.
- the user's athletic ability includes, for example, at least one of the user's muscle strength and endurance.
- One indicator of the user's muscle strength is, for example, the user's jumping power.
- the user's jumping power can be measured by the vertical jump height.
- the load on the real space includes, for example, the gravity value of the gravitational environment of the real space.
- the real space information 405 includes data indicating the gravity value related to the gravitational environment of the real space.
- the acquisition unit 301 acquires the second information by reading it from the memory unit 82.
- the second information indicates at least one of character ability information 403 indicating the load on the virtual object corresponding to the user and virtual space information 406 indicating the load on the XR space corresponding to the real space.
- the virtual object includes a character such as a game character in the XR space.
- the load related to the virtual object includes, for example, the athletic ability of the character.
- the athletic ability of the character includes, for example, at least one of the character's muscle strength and endurance.
- One index representing the muscle strength of a character is, for example, the jumping power of the character.
- the jumping power of a character can be measured by the vertical jump height.
- the load related to the XR space includes, for example, the gravity value of the gravity environment of the XR space.
- the virtual space information 406 includes data indicating the gravity value related to the gravity environment of the XR space.
- the setting unit 302 sets the spring constant k of the spring mechanism B based on the first information and the second information acquired by the acquisition unit 301.
- the method of setting the spring constant k by the setting unit 302 will be described in detail later.
- the control unit 303 controls the spring mechanism B by transmitting a set value of the spring constant k to the spring mechanism B so that the spring constant k of the spring mechanism B becomes the spring constant k set by the setting unit 302.
- the set value of the spring constant k is transmitted from the processing unit 81 to the spring mechanism B via the communication unit 83 and the communication network 59.
- the processing unit 91 of the spring mechanism B sets the spring constant k of the spring mechanism B to the set value received from the control device 100 by driving the motor 76 by the required amount.
- the user ability identification unit 205 identifies the user's athletic ability, generates user ability information 401 indicating that athletic ability, and stores it in the storage unit 82. For example, when the game is started for the first time, the user ability identification unit 205 has the user perform a vertical jump by displaying a command on the monitor of the headset 51, and identifies the vertical jump height measured by the motion sensor 54 as the user's athletic ability.
- the measurement of the vertical jump height is not limited to when the game is started for the first time, and may be performed each time the game is started.
- FIG. 9 is a simplified diagram showing an example of user ability information 401.
- User ability information 401 has multiple items related to the registration date, height, weight, and vertical jump height for each user ID assigned to each of multiple users.
- the registration date item is entered with the date when data registration of multiple items was completed for each user.
- the height item is entered with a numerical value indicating the height of each user.
- the weight item is entered with a numerical value indicating the weight of each user.
- the numerical values indicating the height and weight of each user are entered by, for example, a data input operation using the input buttons of the remote control 52.
- the vertical jump height item is entered with the measured value of each user's vertical jump height measured by the motion sensor 54 described above.
- the user state identification unit 206 identifies the user's fatigue state, generates user state information 402 indicating the fatigue state, and stores it in the storage unit 82.
- the user state information 402 includes multiple user IDs and a numerical value indicating the fatigue level of each user.
- the user state identification unit 206 periodically acquires from the smartwatch 53 detection values of multiple items related to the user's health state detected by various sensors in the smartwatch 53 (detection values such as the above-mentioned heart rate, pulse rate, body temperature, blood pressure, or amount of sweat), and identifies the user's fatigue state by comparing the acquired detection values with threshold values for each item.
- the virtual space processing unit 204 controls the progress of the game scenario in the XR space, and also controls or manages the character's actions, abilities, or status in the XR space.
- the virtual space processing unit 204 identifies the character's athletic ability, generates character ability information 403 indicating the athletic ability, and stores it in the storage unit 82.
- the virtual space processing unit 204 makes the character perform a vertical jump in the XR space when the game is started for the first time, and identifies the measured value of the vertical jump height as the character's athletic ability.
- the measurement of the vertical jump height is not limited to the first time the game is started, and may be performed each time the game is started.
- the virtual space processing unit 204 identifies the character's fatigue state, generates character status information 404 indicating the fatigue state, and stores it in the storage unit 82.
- the character status information 404 includes multiple character IDs and a numerical value indicating the fatigue level of each character.
- the virtual space processing unit 204 identifies the character's fatigue state according to, for example, the progress of the game scenario, the character's activity status, or the character's stamina gauge.
- FIG. 10 is a simplified diagram showing an example of character ability information 403.
- Character ability information 403 has multiple items related to registration date, height, weight, and vertical jump height for each character ID assigned to each of multiple characters corresponding to multiple users.
- the registration date item is entered with the date when data registration of multiple items was completed for each character.
- the height item is entered with a numerical value indicating the height of each character.
- the weight item is entered with a numerical value indicating the weight of each character.
- the height and weight of each character are set in advance by, for example, the virtual space processing unit 204.
- the vertical jump height item is entered with the measured value of the vertical jump height of each character measured when the game is first started, or determined by the virtual space processing unit 204 according to the stamina gauge of each character, etc.
- the spring control unit 203 controls the spring constant k of the spring mechanism B so as to match the athletic ability of the user in the real space with the athletic ability of the character in the XR space.
- FIG. 11 is a flowchart showing the flow of processing executed by the processing unit 81 for the first processing example.
- step S101 the acquisition unit 301 acquires the user capability information 401 by reading it from the storage unit 82.
- step S102 the acquisition unit 301 acquires the character ability information 403 by reading it from the storage unit 82.
- step S103 the setting unit 302 determines whether the difference between the user's athletic ability indicated in the user ability information 401 and the athletic ability of the character corresponding to that user indicated in the character ability information 403 is equal to or greater than a predetermined threshold value TH1.
- step S104 setting unit 302 sets spring constant k of spring mechanism B according to the difference in athletic ability between the user and the character.
- the setting unit 302 calculates the mechanical energy of the user, and also calculates the mechanical energy of the character.
- the setting unit 302 also sets the spring constant k of spring mechanism B based on the difference between the mechanical energy of the user and the mechanical energy of the character. For example, in a jumping motion, the mechanical energy of the user includes the potential energy at the highest point of the user who jumps, and the potential energy due to the elastic force of spring mechanism B when the user sinks to the lowest point before jumping.
- the mechanical energy of the character includes the potential energy at the highest point of the character who jumps.
- M be the weight of the user indicated in the user ability information 401
- h y be the vertical jump height
- m be the weight of the character indicated in the character ability information 403
- hc be the vertical jump height
- X be the change in the overall length of the spring mechanism B when the user sinks to the lowest point before jumping
- g be the gravitational acceleration
- ⁇ k be the correction amount of the spring constant k.
- the setting unit 302 calculates the correction amount ⁇ k by performing the calculation of formula (2), and sets the value obtained by increasing or decreasing the correction amount ⁇ k relative to the initial value (e.g., the median value) of the spring constant k of the spring mechanism B as the setting value of the spring constant k of the spring mechanism B after correction.
- the initial value e.g., the median value
- step S105 the virtual space processing unit 204 acquires user operation information for causing the character to perform actions such as walking or jumping in the XR space from the remote control 52 or the spring-loaded shoes 101, etc.
- the virtual space processing unit 204 controls the progress of the game scenario and the actions of the character in the XR space based on the acquired user operation information.
- step S105 is executed without executing step S104.
- step S106 the video control unit 201 generates video data of the XR space according to the progress of the game scenario, etc., and transmits the video data to the headset 51.
- the audio control unit 202 generates audio data of the XR space according to the progress of the game scenario, etc., and transmits the audio data to the headset 51.
- the control unit 303 of the spring control unit 203 controls the spring mechanism B according to the user's movement.
- FIG. 12 is a timing chart showing the control timing of the spring constant k.
- the control unit 303 controls the spring mechanism B so that the spring constant k of the spring mechanism B changes from the initial spring constant k1 to the corrected spring constant k2 set in step S104 at time T1, which is the moment when the user sinks the most before jumping in a jumping movement.
- the control unit 303 identifies the timing when the contracted spring mechanism B starts to expand as the timing of the moment when the user sinks the most.
- the control unit 303 can, for example, measure the distance between the bottom surface of the first structure 2 and the top surface of the main body 3 using a distance sensor such as a linear encoder, and detect the contraction or expansion of the spring mechanism B based on the change in the measured value.
- the control unit 303 also controls the spring mechanism B so that the spring constant k of the spring mechanism B returns from the spring constant k2 to the spring constant k1 at time T2, which is the moment when the user jumps up and leaves the floor in a jumping motion.
- the control unit 303 can detect the moment the foot leaves the floor by the measured value of the pressure sensor 40B arranged on the bottom surface of the second structure 4 becoming zero.
- step S107 the virtual space processing unit 204 determines whether a predetermined end condition is met, such as receiving a game end command from the remote control 52.
- step S107 NO
- steps S105 to S107 are repeated.
- step S107 If the termination condition is met (step S107: YES), the processing unit 81 terminates the process.
- the control device 100 sets the spring constant k of the spring mechanism B based on the acquired first information and second information, and controls the spring mechanism B. This makes it possible to control the spring constant k of the spring mechanism B based on the load on the user or real space and the load on the character or XR space, and as a result, it becomes possible to reproduce the load on the character to the user, or reproduce the load in the XR space in the real space.
- the virtual object includes a character in the XR space, making it possible to reproduce for the user the load on the character's athletic ability, etc. in the XR space.
- the load on the user or character includes athletic ability
- the load on the real space or XR space includes the gravitational environment, making it possible to reproduce the athletic ability of the character in the user, or reproduce the gravitational environment of the XR space in the real space.
- the athletic ability includes at least one of muscle strength and endurance, making it possible to reproduce the character's muscle strength or endurance for the user.
- the spring control unit 203 controls the spring constant k of the spring mechanism B so as to match the gravitational environment in the real space with the gravitational environment in the XR space.
- FIG. 13 is a flowchart showing the flow of processing executed by the processing unit 81 for the second processing example.
- step S201 the acquisition unit 301 acquires the real space information 405 by reading it from the storage unit 82.
- step S202 the acquisition unit 301 acquires the virtual space information 406 by reading it from the storage unit 82.
- step S203 the setting unit 302 determines whether the gravity difference between the gravity environment of the real space indicated by the real space information 405 and the gravity environment of the XR space indicated by the virtual space information 406 exceeds a predetermined threshold value TH2. Specifically, the setting unit 302 determines whether the difference value obtained by subtracting the gravity value of the XR environment from the gravity value of the real environment exceeds the threshold value TH2.
- the threshold value TH2 may be zero.
- step S204 the setting unit 302 sets the spring constant k of the spring mechanism B according to the gravity difference between the real space and the XR space.
- the weight of the user indicated in the user ability information 401 is M
- the change in the overall length of spring mechanism B when the user sinks is x
- the gravitational acceleration is g
- the spring constant k which is a function of x
- the spring constant k(x) is spring constant k(x)
- the setting unit 302 sets the spring constant k(x) according to the amount of change x by performing the calculation of formula (5).
- step S205 the virtual space processing unit 204 acquires user operation information for causing the character to perform actions such as walking or jumping in the XR space from the remote control 52 or the spring-loaded shoes 101, etc.
- the virtual space processing unit 204 controls the progress of the game scenario and the actions of the character in the XR space based on the acquired user operation information.
- step S205 is executed without executing step S204.
- step S206 the video control unit 201 generates video data of the XR space according to the progress of the game scenario, etc., and transmits the video data to the headset 51.
- the audio control unit 202 generates audio data of the XR space according to the progress of the game scenario, etc., and transmits the audio data to the headset 51.
- the control unit 303 of the spring control unit 203 controls the spring mechanism B according to the user's action.
- FIG. 14 is a timing chart showing the control timing of the spring constant k.
- the control unit 303 sets the spring constant k to the maximum value k3 because the amount of change x is zero until time T3 when the user starts to sink before jumping.
- the control unit 303 controls the spring mechanism B so that the spring constant k gradually decreases.
- the spring constant k becomes the minimum value k4.
- the control unit 303 controls the spring mechanism B so that the spring constant k gradually increases, and at time T5, the moment the user jumps up and leaves the floor, the spring constant k reaches a maximum value k3.
- step S207 the virtual space processing unit 204 determines whether a predetermined end condition is met, such as receiving a game end command from the remote control 52.
- steps S205 to S207 are executed repeatedly.
- step S207 If the termination condition is met (step S207: YES), the processing unit 81 terminates the process.
- the spring constant k of spring mechanism B can be appropriately set, making it possible to reproduce the gravitational environment of the XR space in the real space.
- the spring control unit 203 controls the spring constant k of the spring mechanism B so as to adapt the gravitational environment in the real space to the gravitational environment in the XR space, and further to adapt the athletic ability of the user in the real space to the athletic ability of the character in the XR space.
- FIG. 15 is a flowchart showing the flow of processing executed by the processing unit 81 for the third processing example.
- step S301 the acquisition unit 301 acquires the real space information 405 by reading it from the storage unit 82.
- step S302 the acquisition unit 301 acquires the virtual space information 406 by reading it from the storage unit 82.
- step S303 the setting unit 302 determines whether the gravity difference between the gravitational environment in the real space indicated by the real space information 405 and the gravitational environment in the XR space indicated by the virtual space information 406 exceeds a predetermined threshold value TH2, similar to step S203 described above.
- step S304 the setting unit 302 sets the spring constant k of the spring mechanism B according to the gravity difference between the real space and the XR space, similar to step S204 described above.
- step S305 the acquisition unit 301 acquires the user capability information 401 by reading it from the storage unit 82.
- step S305 is executed without executing step S304.
- step S306 the acquisition unit 301 acquires the character ability information 403 by reading it from the storage unit 82.
- step S307 the setting unit 302 determines whether the difference between the user's athletic ability indicated in the user ability information 401 and the athletic ability of the character corresponding to the user indicated in the character ability information 403 is equal to or greater than a predetermined threshold value TH1.
- step S307 If the difference in athletic ability between the user and the character is equal to or greater than threshold value TH1 (step S307: YES), then in step S308, setting unit 302 sets spring constant k of spring mechanism B according to the difference in athletic ability between the user and the character, similar to step S104 described above.
- step S309 the virtual space processing unit 204 acquires user operation information for causing the character to perform actions such as walking or jumping in the XR space from the remote control 52 or the spring-loaded shoes 101, etc.
- the virtual space processing unit 204 controls the progress of the game scenario and the actions of the character in the XR space based on the acquired user operation information.
- step S309 is executed without executing step S308.
- step S310 the video control unit 201 generates video data of the XR space according to the progress of the game scenario, etc., and transmits the video data to the headset 51.
- the audio control unit 202 generates audio data of the XR space according to the progress of the game scenario, etc., and transmits the audio data to the headset 51.
- the control unit 303 of the spring control unit 203 controls the spring mechanism B according to the user's movements.
- the setting unit 302 sets the spring constant k of the spring mechanism B by adding the correction amount ⁇ k shown in equation (2) to the spring constant k(x) shown in equation (5).
- step S311 the virtual space processing unit 204 determines whether a predetermined end condition is met, such as receiving a game end command from the remote control 52.
- steps S309 to S311 are executed repeatedly.
- step S311 YES
- the processing unit 81 terminates the process.
- This processing example can achieve the effects of the first and second processing examples.
- the spring control unit 203 matches the athletic ability of the user in the real space with the athletic ability of the character in the XR space, and further controls the spring constant k of the spring mechanism B based on the user's fatigue level and the character's fatigue level.
- FIG. 16 is a flowchart showing the flow of processing executed by the processing unit 81 for the fourth processing example.
- step S401 the acquisition unit 301 acquires the user capability information 401 by reading it from the storage unit 82.
- step S402 the acquisition unit 301 acquires the character ability information 403 by reading it from the storage unit 82.
- step S403 the setting unit 302 determines whether the difference between the user's athletic ability indicated in the user ability information 401 and the athletic ability of the character corresponding to the user indicated in the character ability information 403 is equal to or greater than a predetermined threshold value TH1.
- step S404 setting unit 302 sets spring constant k of spring mechanism B according to the difference in athletic ability between the user and the character, similar to step S104 described above.
- step S405 the virtual space processing unit 204 acquires user operation information for causing the character to perform actions such as walking or jumping in the XR space from the remote control 52 or the spring-loaded shoes 101, etc.
- the virtual space processing unit 204 controls the progress of the game scenario and the actions of the character in the XR space based on the acquired user operation information.
- step S405 is executed without executing step S404.
- step S406 the acquisition unit 301 acquires the user state information 402 by reading it from the storage unit 82.
- step S407 the acquisition unit 301 acquires the character state information 404 by reading it from the storage unit 82.
- step S408 the setting unit 302 determines whether the difference between the user's fatigue level indicated in the user state information 402 and the fatigue level of the character corresponding to that user indicated in the character state information 404 is equal to or greater than a predetermined threshold value TH3.
- step S409 the setting unit 302 sets the spring constant k of spring mechanism B according to the difference in fatigue levels between the user and the character. If the user's fatigue level is greater than the character's fatigue level, the setting unit 302 sets the spring constant k of spring mechanism B to a value greater than the initial value (e.g., an intermediate value) according to the difference in fatigue levels between the user and the character at the time the user sinks down before the jump.
- the initial value e.g., an intermediate value
- the setting unit 302 sets the spring constant k of spring mechanism B to a value less than the initial value (e.g., an intermediate value) according to the difference in fatigue levels between the user and the character at the time the user sinks down before the jump.
- the initial value e.g., an intermediate value
- step S410 the video control unit 201 generates video data for the XR space according to the progress of the game scenario, etc., and transmits the video data to the headset 51.
- the audio control unit 202 generates audio data for the XR space according to the progress of the game scenario, etc., and transmits the audio data to the headset 51.
- the control unit 303 of the spring control unit 203 controls the spring mechanism B according to the user's movements.
- the setting unit 302 sets the spring constant k of the spring mechanism B by adding the correction amount ⁇ k shown in equation (2) to the spring constant k set in step S409.
- step S410 is executed without executing step S409.
- step S411 the virtual space processing unit 204 determines whether a predetermined end condition is met, such as receiving a game end command from the remote control 52.
- steps S405 to S411 are executed repeatedly.
- step S411 YES
- the processing unit 81 terminates the process.
- the spring control unit 203 matches the athletic ability of the user in the real space with the athletic ability of the character in the XR space, and further controls the spring constant k of the spring mechanism B based on the motion safety of the moving user.
- FIG. 17 is a flowchart showing the flow of processing executed by the processing unit 81 for the fifth processing example.
- step S501 the acquisition unit 301 acquires the user capability information 401 by reading it from the storage unit 82.
- step S502 the acquisition unit 301 acquires the character ability information 403 by reading it from the storage unit 82.
- step S503 the setting unit 302 determines whether the difference between the user's athletic ability indicated in the user ability information 401 and the athletic ability of the character corresponding to the user indicated in the character ability information 403 is equal to or greater than a predetermined threshold value TH1.
- step S504 the setting unit 302 sets the spring constant k of spring mechanism B according to the difference in athletic ability between the user and the character, similar to step S104 described above.
- step S505 the virtual space processing unit 204 acquires user operation information for causing the character to perform actions such as walking or jumping in the XR space from the remote control 52 or the spring-loaded shoes 101, etc.
- the virtual space processing unit 204 controls the progress of the game scenario and the actions of the character in the XR space based on the acquired user operation information.
- step S505 is executed without executing step S504.
- the acquisition unit 301 acquires distance information by receiving it in real time from the distance sensor 56.
- the distance information is information that indicates the distance between the user having the XR experience and the ceiling or wall of the room, as measured by the distance sensor 56.
- step S507 the setting unit 302 determines whether the user's motion safety level determined based on the distance information acquired in step S506 is less than a predetermined threshold value TH4. For example, the setting unit 302 determines the minimum value of the distance between the user and the ceiling or wall indicated by the distance information as the motion safety level. Alternatively, the setting unit 302 may determine the motion safety level as the difference value obtained by subtracting the potential energy of the user who jumped up to the ceiling from the elastic energy accumulated in the spring mechanism B due to the user sinking in the situation where the spring constant k was set in step S504.
- step S508 the setting unit 302 sets a negative correction amount to reduce the spring constant k set in step S504 so that the distance between the highest point of the user's jump and the ceiling or wall is equal to or greater than the threshold value TH4.
- step S509 the video control unit 201 generates video data of the XR space according to the progress of the game scenario, etc., and transmits the video data to the headset 51.
- the audio control unit 202 generates audio data of the XR space according to the progress of the game scenario, etc., and transmits the audio data to the headset 51.
- the control unit 303 of the spring control unit 203 controls spring mechanism B according to the user's actions.
- the setting unit 302 sets the spring constant k of spring mechanism B by adding the correction amount set in step S508 to the spring constant k set in step S504.
- step S509 is executed without executing step S508.
- step S510 the virtual space processing unit 204 determines whether a predetermined end condition is met, such as receiving a game end command from the remote control 52.
- steps S505 to S510 are executed repeatedly.
- step S510 YES
- the processing unit 81 terminates the process.
- This disclosure is particularly useful for application to XR systems such as VR, AR, or MR.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
制御装置は、ばね機構によって運動が補助されるユーザに関する負荷を示す第1情報を取得し、ユーザに対応する仮想オブジェクトに関する負荷を示す第2情報を取得し、取得した第1情報及び第2情報に基づいてばね機構のばね定数を制御する。
Description
本開示は、ばね機構の制御方法、ばね機構の制御装置、及びプログラムに関する。
特許文献1には、プレイヤのジャンプとゲーム画面中のキャラクタのジャンプとを連動させることにより、キャラクタのジャンプの操作をプレイヤのジャンプによって直感的に実行可能なゲーム装置が開示されている。
特許文献2には、ユーザの足の感覚を刺激する感覚刺激部を履物装置に備え、表示部の表示に対するユーザ動作に応じた感覚刺激部の制御によって足の感触を再現し、又は、ユーザによる履物の選択操作に応じた感覚刺激部の制御によって靴の感触を再現することにより、効果的な演出を実現可能な表示システムが開示されている。
しかし、特許文献1,2では、VR、AR、又はMR等のXR技術において、ばね定数が可変なばね機構を備える靴をユーザに着用させ、ばね機構のばね定数を制御することによって、仮想空間の仮想オブジェクトの負荷を現実空間のユーザに再現し、又は、仮想空間の負荷を現実空間に再現することについては、何ら検討されていない。
本開示は、ユーザ又は現実空間に関する負荷と仮想オブジェクト又は仮想空間に関する負荷とに基づいてばね機構のばね定数を制御でき、それによって仮想オブジェクトの負荷をユーザに再現し、又は、仮想空間の負荷を現実空間に再現することが可能な、ばね機構の制御方法、ばね機構の制御装置、及びプログラムを得ることを目的とする。
本開示の一態様に係るばね機構の制御方法は、ばね定数を可変に制御可能なばね機構の制御方法であって、制御装置が、前記ばね機構によって運動が補助されるユーザに関する負荷を示す第1情報を取得し、前記ユーザに対応する仮想オブジェクトに関する負荷を示す第2情報を取得し、取得した前記第1情報及び前記第2情報に基づいて、前記ばね機構のばね定数を制御する。
また、本開示の別の態様に係るばね機構の制御方法は、ばね定数を可変に制御可能なばね機構の制御方法であって、制御装置が、前記ばね機構によって運動が補助されるユーザが所在する現実空間に関する負荷を示す第1情報を取得し、前記現実空間に対応する仮想空間に関する負荷を示す第2情報を取得し、取得した前記第1情報及び前記第2情報に基づいて、前記ばね機構のばね定数を制御する。
(本開示の基礎となった知見)
XR(クロス・リアリティ)は、VR(Virtual Reality)、AR(Augmented Reality)、又はMR(Mixed Reality)等の仮想現実を構築する技術の総称であり、現実空間とXR空間(仮想空間)とを融合することで、現実空間に所在するユーザがXR空間を体感できる技術である。現状ではXR空間における表現は映像及び音声が主となっているが、XR空間の仮想オブジェクトの運動能力を現実空間のユーザに再現し、又は、XR空間の重量環境を現実空間に再現することによって、仮想空間での行動又は体験等をユーザが現実空間でよりリアルに体感することが可能な手段の実現が望まれる。
XR(クロス・リアリティ)は、VR(Virtual Reality)、AR(Augmented Reality)、又はMR(Mixed Reality)等の仮想現実を構築する技術の総称であり、現実空間とXR空間(仮想空間)とを融合することで、現実空間に所在するユーザがXR空間を体感できる技術である。現状ではXR空間における表現は映像及び音声が主となっているが、XR空間の仮想オブジェクトの運動能力を現実空間のユーザに再現し、又は、XR空間の重量環境を現実空間に再現することによって、仮想空間での行動又は体験等をユーザが現実空間でよりリアルに体感することが可能な手段の実現が望まれる。
かかる課題を解決するために、本発明者は、ばね定数が可変なばね機構を備える靴をユーザに着用させ、ばね機構のばね定数を制御することによって、XR空間の仮想オブジェクトの運動能力を現実空間のユーザに再現でき、又は、XR空間の重力環境を現実空間に再現できるとの知見を得て、本開示を想到するに至った。
次に、本開示の各態様について説明する。
本開示の第1態様に係るばね機構の制御方法は、ばね定数を可変に制御可能なばね機構の制御方法であって、制御装置が、前記ばね機構によって運動が補助されるユーザに関する負荷を示す第1情報を取得し、前記ユーザに対応する仮想オブジェクトに関する負荷を示す第2情報を取得し、取得した前記第1情報及び前記第2情報に基づいて、前記ばね機構のばね定数を制御する。
第1態様によれば、制御装置は、取得した第1情報及び第2情報に基づいてばね機構のばね定数を制御する。これにより、ユーザに関する負荷と仮想オブジェクトに関する負荷とに基づいてばね機構のばね定数を制御でき、その結果、仮想オブジェクトの負荷をユーザに再現することが可能となる。
本開示の第2態様に係るばね機構の制御方法は、第1態様において、前記ユーザ又は前記仮想オブジェクトに関する前記負荷は、前記ユーザ又は前記仮想オブジェクトの運動能力を含むと良い。
第2態様によれば、仮想オブジェクトの運動能力をユーザに再現することが可能となる。
本開示の第3態様に係るばね機構の制御方法は、第2態様において、前記ばね機構のばね定数の制御において、前記ユーザの力学的エネルギーを算出し、前記仮想オブジェクトの力学的エネルギーを算出し、前記ユーザの前記力学的エネルギーと前記仮想オブジェクトの前記力学的エネルギーとの差に基づいて、前記ばね機構のばね定数を制御しても良い。
第3態様によれば、ユーザの力学的エネルギーと仮想オブジェクトの力学的エネルギーとの差に基づいてばね定数を制御することにより、ばね機構のばね定数を適切に制御することが可能となる。
本開示の第4態様に係るばね機構の制御方法は、第3態様において、前記運動能力はジャンプ力を含み、前記ユーザの前記力学的エネルギーは、ジャンプした前記ユーザの位置エネルギーと、前記ばね機構の弾性力による位置エネルギーとを含み、前記仮想オブジェクトの前記力学的エネルギーは、ジャンプした前記仮想オブジェクトの位置エネルギーを含むと良い。
第4態様によれば、ジャンプしたユーザの位置エネルギー、ばね機構の弾性力による位置エネルギー、及び、ジャンプした仮想オブジェクトの位置エネルギーを用いることにより、ばね機構のばね定数を適切に制御することが可能となる。
本開示の第5態様に係るばね機構の制御方法は、第1~第4態様のいずれか一つにおいて、さらに前記ユーザの疲労度及び前記仮想オブジェクトの疲労度を取得し、前記ばね機構のばね定数の制御において、さらに前記ユーザの疲労度及び前記仮想オブジェクトの疲労度に基づいて、前記ばね機構のばね定数を制御すると良い。
第5態様によれば、ユーザの疲労度及び仮想オブジェクトの疲労度に基づいてばね機構のばね定数を制御することにより、ユーザ及び仮想オブジェクトの一方の疲労度に応じた運動能力の変化を、ユーザ及び仮想オブジェクトの他方に再現することが可能となる。
本開示の第6態様に係るばね機構の制御方法は、ばね定数を可変に制御可能なばね機構の制御方法であって、制御装置が、前記ばね機構によって運動が補助されるユーザが所在する現実空間に関する負荷を示す第1情報を取得し、前記現実空間に対応する仮想空間に関する負荷を示す第2情報を取得し、取得した前記第1情報及び前記第2情報に基づいて、前記ばね機構のばね定数を制御する。
第6態様によれば、制御装置は、取得した第1情報及び第2情報に基づいてばね機構のばね定数を制御する。これにより、現実空間に関する負荷と仮想空間に関する負荷とに基づいてばね機構のばね定数を制御でき、その結果、仮想空間の負荷を現実空間に再現することが可能となる。
本開示の第7態様に係るばね機構の制御方法は、第6態様において、前記現実空間又は前記仮想空間に関する前記負荷は、前記現実空間又は前記仮想空間の重力値を含むと良い。
第7態様によれば、仮想空間の重力値を現実空間に再現することが可能となる。
本開示の第8態様に係るばね機構の制御方法は、第7態様において、前記ばね機構のばね定数の制御において、前記ユーザの所在場所における重力と前記仮想オブジェクトの所在場所における重力との差に基づいて、前記ばね機構のばね定数を制御しても良い。
第8態様によれば、ユーザの所在場所における重力と仮想オブジェクトの所在場所における重力との差に基づいてばね定数を制御することにより、ばね機構のばね定数を適切に制御することが可能となる。
本開示の第9態様に係るばね機構の制御方法は、第1~第8態様のいずれか一つにおいて、前記ユーザは、前記ばね機構が靴底に配置された靴を履いた人物を含むと良い。
第9態様によれば、ユーザが履いている靴の靴底に配置されたばね機構のばね定数を制御することにより、ユーザのジャンプ力又はユーザが体感する浮遊感等を制御することが可能となる。
本開示の第10態様に係るばね機構の制御方法は、第1~第9態様のいずれか一つにおいて、前記ばね機構の制御において、収縮した前記ばね機構が伸張を開始したタイミングで、前記ばね機構のばね定数を変更すると良い。
第10態様によれば、収縮したばね機構が伸張を開始したタイミングでばね機構のばね定数を変更することにより、仮想オブジェクトの運動能力又は仮想空間の重力等の負荷をユーザに効果的に再現することが可能となる。
本開示の第11態様に係るばね機構の制御方法は、第1~第10態様のいずれか一つにおいて、さらに前記ユーザの動作安全度を決定し、前記ばね機構のばね定数の制御において、さらに前記ユーザの前記動作安全度に基づいて、前記ばね機構のばね定数を制御すると良い。
第11態様によれば、ユーザの動作安全度に基づいてばね定数を制御することにより、室内でジャンプしたユーザが天井に衝突する等の事態を予め回避することが可能となる。
本開示の第12態様に係るばね機構の制御装置は、ばね定数を可変に制御可能なばね機構の制御装置であって、前記ばね機構によって運動が補助されるユーザに関する負荷を示す第1情報と、前記ユーザに対応する仮想オブジェクトに関する負荷を示す第2情報とを取得する取得部と、前記取得部が取得した前記第1情報及び前記第2情報に基づいて、前記ばね機構のばね定数を制御する制御部と、を備える。
第12態様によれば、制御部は、取得部が取得した第1情報及び第2情報に基づいてばね機構のばね定数を制御する。これにより、ユーザに関する負荷と仮想オブジェクトに関する負荷とに基づいてばね機構のばね定数を制御でき、その結果、仮想オブジェクトの負荷をユーザに再現することが可能となる。
本開示の第13態様に係るばね機構の制御装置は、ばね定数を可変に制御可能なばね機構の制御装置であって、前記ばね機構によって運動が補助されるユーザが所在する現実空間に関する負荷を示す第1情報と、前記現実空間に対応する仮想空間に関する負荷を示す第2情報とを取得する取得部と、前記取得部が取得した前記第1情報及び前記第2情報に基づいて、前記ばね機構のばね定数を制御する制御部と、を備える。
第13態様によれば、制御部は、取得部が取得した第1情報及び第2情報に基づいてばね機構のばね定数を制御する。これにより、現実空間に関する負荷と仮想空間に関する負荷とに基づいてばね機構のばね定数を制御でき、その結果、仮想空間の負荷を現実空間に再現することが可能となる。
本開示の第14態様に係るプログラムは、ばね定数を可変に制御可能なばね機構の制御装置が備える情報処理装置を、前記ばね機構によって運動が補助されるユーザに関する負荷を示す第1情報と、前記ユーザに対応する仮想オブジェクトに関する負荷を示す第2情報とを取得する取得手段と、前記取得手段が取得した前記第1情報及び前記第2情報に基づいて、前記ばね機構のばね定数を制御する制御手段と、として機能させるためのプログラムである。
第14態様によれば、制御手段は取得手段が取得した第1情報及び第2情報に基づいてばね機構のばね定数を制御する。これにより、ユーザに関する負荷と仮想オブジェクトに関する負荷とに基づいてばね機構のばね定数を制御でき、その結果、仮想オブジェクトの負荷をユーザに再現することが可能となる。
本開示の第15態様に係るプログラムは、ばね定数を可変に制御可能なばね機構の制御装置が備える情報処理装置を、前記ばね機構によって運動が補助されるユーザが所在する現実空間に関する負荷を示す第1情報と、前記現実空間に対応する仮想空間に関する負荷を示す第2情報とを取得する取得手段と、前記取得手段が取得した前記第1情報及び前記第2情報に基づいて、前記ばね機構のばね定数を制御する制御手段と、として機能させるためのプログラムである。
第15態様によれば、制御手段は、取得手段が取得した第1情報及び第2情報に基づいてばね機構のばね定数を制御する。これにより、現実空間に関する負荷と仮想空間に関する負荷とに基づいてばね機構のばね定数を制御でき、その結果、仮想空間の負荷を現実空間に再現することが可能となる。
(本開示の実施形態)
以下、本開示の実施形態について、図面を用いて詳細に説明する。異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。また、以下の実施形態で示される構成要素、構成要素の配置位置、接続形態、及び動作の順序等は、一例であり、本開示を限定する趣旨ではない。本開示は、特許請求の範囲だけによって限定される。よって、以下の実施形態における構成要素のうち、本開示の最上位概念を示す独立請求項に記載されていない構成要素については、本開示の課題を達成するのに必ずしも必要ではないが、より好ましい形態を構成するものとして説明される。
以下、本開示の実施形態について、図面を用いて詳細に説明する。異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。また、以下の実施形態で示される構成要素、構成要素の配置位置、接続形態、及び動作の順序等は、一例であり、本開示を限定する趣旨ではない。本開示は、特許請求の範囲だけによって限定される。よって、以下の実施形態における構成要素のうち、本開示の最上位概念を示す独立請求項に記載されていない構成要素については、本開示の課題を達成するのに必ずしも必要ではないが、より好ましい形態を構成するものとして説明される。
図1は、本開示の実施形態に係るばね搭載靴101の構成を模式的に示す側面図である。ばね搭載靴101は、現実空間に所在するユーザによって着用される。ばね搭載靴101は靴底102を有し、靴底102には複数のばね機構Bが配置されている。複数のばね機構Bは、靴底102の全面に分布するように行列状に配置されていても良い。ばね搭載靴101を履いたユーザは、ばね機構Bによってジャンプ又は歩行等の運動が補助される。また、ばね搭載靴101には、加速度センサ又はジャイロセンサ等のモーションセンサ54が配置されている。
図2は、一つのばね機構Bの構成を模式的に示す側面図である。ばね機構Bは、略円筒状の外形を有する本体部3と、本体部3より背が低い略円板状の外形を有する第1構造体2及び第2構造体4とを備えている。例えば、第1構造体2の上面2Uが靴底102に固定され、第2構造体4の下面4Lが床面又は地面に接地する。
第1構造体2は、本体部3の上面3Uに対向して本体部3と離間して平行に配置されている。第1構造体2と本体部3とは、長さが同一である棒状の板ばね12A~12Cによって互いに接続されている。
図3は、板ばね12A~12Cと本体部3の上面3Uとの位置関係を模式的に示す上面図である。板ばね12A~12Cは、本体部3の上面3Uの中心に対してらせん状(一葉双曲面状)に配置されている。
図2を参照して、板ばね12Aは、軸受部材13Aによって本体部3の上面3Uに可動接続された第1端部と、軸受部材11Aによって第1構造体2の下面2Lに可動接続された第2端部とを有している。軸受部材11Aは第1構造体2に固定されており、軸受部材13Aは本体部3に固定されている。本体部3の上面3Uの垂直方向上方から上面3Uに投影したときに、軸受部材11Aの設置箇所と軸受部材13Aの設置箇所とは互いに一致しない。
同様に、板ばね12Bは、軸受部材13Bによって本体部3の上面3Uに可動接続された第1端部と、軸受部材11Bによって第1構造体2の下面2Lに可動接続された第2端部とを有している。軸受部材11Bは第1構造体2に固定されており、軸受部材13Bは本体部3に固定されている。本体部3の上面3Uの垂直方向上方から上面3Uに投影したときに、軸受部材11Bの設置箇所と軸受部材13Bの設置箇所とは互いに一致しない。
同様に、板ばね12Cは、軸受部材13Cによって本体部3の上面3Uに可動接続された第1端部と、軸受部材11Cによって第1構造体2の下面2Lに可動接続された第2端部とを有している。軸受部材11Cは第1構造体2に固定されており、軸受部材13Cは本体部3に固定されている。本体部3の上面3Uの垂直方向上方から上面3Uに投影したときに、軸受部材11Cの設置箇所と軸受部材13Cの設置箇所とは互いに一致しない。
なお、板ばね12A~12Cの本数は3本に限らず1本以上であれば良い。
第2構造体4は、本体部3の下面3Lに対向して本体部3と離間して平行に配置されている。第2構造体4と本体部3とは、長さが同一である棒状の板ばね22A~22Cによって互いに接続されている。板ばね22A~22Cは、本体部3の下面3Lの中心に対してらせん状(一葉双曲面状)に配置されている。
板ばね22Aは、軸受部材23Aによって本体部3の下面3Lに可動接続された第1端部と、軸受部材21Aによって第2構造体4の上面4Uに可動接続された第2端部とを有している。軸受部材21Aは第2構造体4に固定されており、軸受部材23Aは本体部3に固定されている。本体部3の下面3Lの垂直方向下方から下面3Lに投影したときに、軸受部材21Aの設置箇所と軸受部材23Aの設置箇所とは互いに一致しない。
同様に、板ばね22Bは、軸受部材23Bによって本体部3の下面3Lに可動接続された第1端部と、軸受部材21Bによって第2構造体4の上面4Uに可動接続された第2端部とを有している。軸受部材21Bは第2構造体4に固定されており、軸受部材23Bは本体部3に固定されている。本体部3の下面3Lの垂直方向下方から下面3Lに投影したときに、軸受部材21Bの設置箇所と軸受部材23Bの設置箇所とは互いに一致しない。
同様に、板ばね22Cは、軸受部材23Cによって本体部3の下面3Lに可動接続された第1端部と、軸受部材21Cによって第2構造体4の上面4Uに可動接続された第2端部とを有している。軸受部材21Cは第2構造体4に固定されており、軸受部材23Cは本体部3に固定されている。本体部3の下面3Lの垂直方向下方から下面3Lに投影したときに、軸受部材21Cの設置箇所と軸受部材23Cの設置箇所とは互いに一致しない。
なお、板ばね22A~22Cの本数は3本に限らず1本以上であれば良い。
板ばね12A~12Cと板ばね22A~22Cとは、本体部3を挟んで鏡映対称に配置されている。つまり、本体部3の上面3U又は本体部3の下面3Lに投影したときに、軸受部材11Aの設置箇所と軸受部材21Aの設置箇所とは同一であり、軸受部材13Aの設置箇所と軸受部材23Aの設置箇所とは同一であり、板ばね12Aの長さと板ばね22Aの長さとは同一である。同様に、本体部3の上面3U又は本体部3の下面3Lに投影したときに、軸受部材11Bの設置箇所と軸受部材21Bの設置箇所とは同一であり、軸受部材13Bの設置箇所と軸受部材23Bの設置箇所とは同一であり、板ばね12Bの長さと板ばね22Bの長さとは同一である。同様に、本体部3の上面3U又は本体部3の下面3Lに投影したときに、軸受部材11Cの設置箇所と軸受部材21Cの設置箇所とは同一であり、軸受部材13Cの設置箇所と軸受部材23Cの設置箇所とは同一であり、板ばね12Cの長さと板ばね22Cの長さとは同一である。
図2に示すように、第1構造体2の上面2Uの中心部には、圧電素子等の圧力センサ40Aが埋め込み配置されている。圧力センサ40Aは、外部から第1構造体2へ印加される圧力の大きさを検出する。同様に、第2構造体4の下面4Lの中心部には、圧電素子等の圧力センサ40Bが埋め込み配置されている。圧力センサ40Bは、外部から第2構造体4へ印加される圧力の大きさを検出する。
なお、板ばね22A~22C及び第2構造体4は省略しても良い。また、板ばね12A~12C,22A~22Cは、薄板形状に限らず、非真円の断面形状を少なくとも一部に含む形状であれば、どのようなものであっても良い。
ばね機構Bは、板ばね12A~12C,22A~22Cの回転方向を調整することによって、ばね定数kを可変に設定可能である。図4は、ばね機構Bのばね定数kが変更されている状況を模式的に示す側面図である。左端のばね機構Bとして示すように、側面から眺めたときに最も太くなるよう(つまり上面から眺めたときに最も細くなるよう)、板ばね12A~12C,22A~22Cの回転方向を制御することで、ばね機構Bのばね定数kは最大値(max)に設定される。また、右端のばね機構Bとして示すように、側面から眺めたときに最も細くなるよう(つまり上面から眺めたときに最も太くなるよう)、板ばね12A~12C,22A~22Cの回転方向を制御することで、ばね機構Bのばね定数kは最小値(min)に設定される。また、中央のばね機構Bとして示すように、側面から眺めたときに中間値の太さとなるよう(つまり上面から眺めたときに中間値の太さとなるよう)、板ばね12A~12C,22A~22Cの回転方向を制御することで、ばね機構Bのばね定数kは中間値(mid)に設定される。図中の両矢印は、ばね機構Bのばね定数kを双方向に変更可能であることを意味している。
図5,6は、板ばね12A~12Cを回転させる機構を模式的に示す図である。本体部3の上面3Uの中央部には、円板状の回転部材75が配置されている。本体部3内にはモータ76及び電磁ブレーキ70が配置されている。モータ76は上下方向に延在する回転軸77を有しており、回転軸77は電磁ブレーキ70を介して回転部材75の下面に接続されている。電磁ブレーキ70をオフした状態でモータ76を駆動することによって、回転部材75が回転軸77回りに回転駆動される。また、モータ76の駆動を停止した状態で電磁ブレーキ70をオンすることによって、回転部材75の回転位置が機械的に保持される。なお、電磁ブレーキ70は省略されても良い。
電磁ブレーキ70をオフした状態でモータ76を駆動することによって、回転部材75が回転軸77回りに回転駆動される。それに伴う板ばね12Aの動作を、図5,6を用いて説明する。本体部3の下面3Lにも回転部材75と同様にモータ76によって駆動される回転部材が配置されており、他の板ばね12B,12C,22A~22Cの動作も板ばね12Aの動作と同様であるため、重複した説明は省略する。
回転部材75の上面には接続部材74Aが固定されており、接続部材74Aにはリンク機構72Aの一端部73Aが接続されている。リンク機構72Aの他端部は、軸受部材13Aの近傍において、接続部材71Aによって板ばね12Aに接続されている。
モータ76を駆動して回転部材75を第1方向に回転させると、回転部材75の上面に固定された接続部材74Aも回転移動する。すると、接続部材74Aに接続されたリンク機構72Aによって接続部材71Aが引かれることによって、板ばね12Aがその長手方向の軸回りに回転する。図5に示すように、接続部材74Aが第1方向の限界位置まで移動した状態が、上面から眺めたときに板ばね12Aが最も細くなる状態であり、ばね機構Bのばね定数kが最大値に設定された状態に相当する。モータ76を駆動して回転部材75を第2方向に回転させると、回転部材75の上面に固定された接続部材74Aも回転移動する。すると、接続部材74Aに接続されたリンク機構72Aによって接続部材71Aが引かれることによって、板ばね12Aがその長手方向の軸回りに回転する。図6に示すように、接続部材74Aが第2方向の限界位置まで移動した状態が、上面から眺めたときに板ばね12Aが最も太くなる状態であり、ばね機構Bのばね定数kが最小値に設定された状態に相当する。
図7は、本開示の実施形態に係るXRシステムの全体構成を簡略化して示す図である。XRシステムは、制御装置100、ヘッドセット51、リモコン52、スマートウォッチ53、モーションセンサ54、カメラ55、距離センサ56、及びばね機構Bを備えている。
制御装置100は、クラウドサーバ又はエッジサーバ等である。ヘッドセット51は、ユーザの頭部に装着される。ヘッドセット51は、XR空間の映像を出力するモニタ、及び音声を出力するスピーカを備えている。ヘッドセット51は、加速度センサ又はジャイロセンサ等のモーションセンサを備えていても良い。リモコン52は、ユーザの手によって所持される。リモコン52は、複数の操作スイッチ又は入力ボタン等を備えている。リモコン52は、加速度センサ又はジャイロセンサ等のモーションセンサを備えていても良い。スマートウォッチ53は、ユーザの手首に装着される。スマートウォッチ53は、ユーザの心拍数、脈拍数、体温、血圧、又は発汗量等の健康状態を検出するための各種のセンサを備えている。モーションセンサ54は、図1に示したようにばね搭載靴101に配置されている。カメラ55及び距離センサ56は、XR体験を行う際にユーザが所在する部屋に設置され、又はヘッドセット51に搭載されている。カメラ55は、XR体験を行っているユーザを撮影する。距離センサ56は、ユーザと部屋の天井又は壁との間の距離を測定する。
ヘッドセット51、リモコン52、スマートウォッチ53、モーションセンサ54、カメラ55、距離センサ56、及びばね機構Bは、専用回線網又は公衆回線網等の任意の通信ネットワーク59を介して、制御装置100と通信可能である。
制御装置100は、処理部81、記憶部82、及び通信部83を備えている。処理部81は、CPU等の情報処理装置によって構成される。記憶部82は、HDD、SSD、又は半導体メモリ等を用いて構成される。通信部83は、IP等の任意の通信方式に対応した通信モジュールを備えて構成される。ばね機構Bは、処理部91、記憶部92、通信部93、圧力センサ40A,40B、電磁ブレーキ70、及びモータ76を備えている。処理部91は、CPU又はマイクロコントローラ等の情報処理装置によって構成される。記憶部92は、半導体メモリ等を用いて構成される。通信部93は、IP等の任意の通信方式に対応した通信モジュールを備えて構成される。
図8は、処理部81が有する各種の機能及び記憶部82が保持する各種の情報を示す図である。コンピュータ読み取り可能な不揮発性記録媒体から読み出したプログラムをCPUが実行することによって実現される機能として、処理部81は、映像制御部201、音声制御部202、ばね制御部203、仮想空間処理部204、ユーザ能力特定部205、及びユーザ状態特定部206を有する。ばね制御部203は、取得部301、設定部302、及び制御部303を有する。換言すれば、上記プログラムは、制御装置100に搭載される情報処理装置としての処理部81を、これら複数の処理部に相当する複数の処理手段として機能させるためのプログラムである。
映像制御部201は、ヘッドセット51のモニタに表示するXR空間の映像データを生成する。生成された映像データは、処理部81から通信部83及び通信ネットワーク59を介してヘッドセット51に送信される。
音声制御部202は、ヘッドセット51のスピーカから出力するXR空間の音声データを生成する。生成された音声データは、処理部81から通信部83及び通信ネットワーク59を介してヘッドセット51に送信される。
ばね制御部203に関し、取得部301は、第1情報を記憶部82から読み出すことによって取得する。第1情報は、ユーザに関する負荷を示すユーザ能力情報401、及び、現実空間に関する負荷を示す現実空間情報405の少なくとも一方を示す。ユーザに関する負荷は、例えばユーザの運動能力を含む。ユーザの運動能力は、例えばユーザの筋力及び持久力の少なくとも一方を含む。ユーザの筋力を表す指標の一つは、例えばユーザのジャンプ力である。ユーザのジャンプ力は、垂直飛び高さによって測定可能である。現実空間に関する負荷は、例えば現実空間の重力環境の重力値を含む。現実空間情報405は、現実空間の重力環境に関する重力値を示すデータを含む。また、取得部301は、第2情報を記憶部82から読み出すことによって取得する。第2情報は、ユーザに対応する仮想オブジェクトに関する負荷を示すキャラクタ能力情報403、及び、現実空間に対応するXR空間に関する負荷を示す仮想空間情報406の少なくとも一方を示す。仮想オブジェクトは、XR空間内のゲームキャラクタ等のキャラクタを含む。仮想オブジェクトに関する負荷は、例えばキャラクタの運動能力を含む。キャラクタの運動能力は、例えばキャラクタの筋力及び持久力の少なくとも一方を含む。キャラクタの筋力を表す指標の一つは、例えばキャラクタのジャンプ力である。キャラクタのジャンプ力は、垂直飛び高さによって測定可能である。XR空間に関する負荷は、例えばXR空間の重力環境の重力値を含む。仮想空間情報406は、XR空間の重力環境に関する重力値を示すデータを含む。
設定部302は、取得部301が取得した上記第1情報及び上記第2情報に基づいて、ばね機構Bのばね定数kを設定する。設定部302によるばね定数kの設定手法の詳細については後述する。
制御部303は、ばね機構Bのばね定数kが、設定部302が設定したばね定数kとなるよう、ばね定数kの設定値をばね機構Bに送信することによってばね機構Bを制御する。ばね定数kの設定値は、処理部81から通信部83及び通信ネットワーク59を介してばね機構Bに送信される。ばね機構Bの処理部91は、モータ76を必要量駆動することによって、ばね機構Bのばね定数kを、制御装置100から受信した設定値に設定する。
ユーザ能力特定部205は、ユーザの運動能力を特定し、その運動能力を示すユーザ能力情報401を生成して記憶部82に記憶する。ユーザ能力特定部205は、例えば、ゲームの初回開始時にヘッドセット51のモニタへの命令表示によってユーザに垂直飛びを行わせ、モーションセンサ54によって測定した垂直飛び高さを、ユーザの運動能力として特定する。但し、垂直飛び高さの測定は、ゲームの初回開始時に限らず、毎回開始時に行っても良い。
図9は、ユーザ能力情報401の一例を簡略化して示す図である。ユーザ能力情報401は、複数のユーザの各々に割り当てられたユーザID毎に、登録日、身長、体重、及び垂直飛び高さに関する複数の項目を有している。登録日の項目には、各ユーザに関して、複数の項目のデータ登録が完了した年月日が入力される。身長の項目には、各ユーザの身長を示す数値が入力される。体重の項目には、各ユーザの体重を示す数値が入力される。各ユーザの身長及び体重を示す数値は、例えばリモコン52の入力ボタンを用いたデータ入力操作によって入力される。垂直飛び高さの項目には、上述のモーションセンサ54によって測定された各ユーザの垂直飛び高さの測定値が入力される。
ユーザ状態特定部206は、ユーザの疲労状態を特定し、その疲労状態を示すユーザ状態情報402を生成して記憶部82に記憶する。ユーザ状態情報402には、複数のユーザIDと、各ユーザの疲労度を示す数値とが含まれる。ユーザ状態特定部206は、例えば、スマートウォッチ53の各種のセンサによって検出したユーザの健康状態に関する複数項目の検出値(上記の心拍数、脈拍数、体温、血圧、又は発汗量等の検出値)を定期的にスマートウォッチ53から取得し、取得した検出値を項目毎のしきい値と比較することによって、ユーザの疲労状態を特定する。
仮想空間処理部204は、XR空間におけるゲームシナリオ等の進行を制御し、また、XR空間におけるキャラクタの動作、能力、又は状態等を制御又は管理する。仮想空間処理部204は、キャラクタの運動能力を特定し、その運動能力を示すキャラクタ能力情報403を生成して記憶部82に記憶する。仮想空間処理部204、例えば、ゲームの初回開始時にXR空間でキャラクタに垂直飛びを行わせ、その垂直飛び高さの測定値をキャラクタの運動能力として特定する。但し、垂直飛び高さの測定は、ゲームの初回開始時に限らず、毎回開始時に行っても良い。また、仮想空間処理部204は、キャラクタの疲労状態を特定し、その疲労状態を示すキャラクタ状態情報404を生成して記憶部82に記憶する。キャラクタ状態情報404には、複数のキャラクタIDと、各キャラクタの疲労度を示す数値とが含まれる。仮想空間処理部204は、例えば、ゲームシナリオの進行状況、キャラクタの活動状況、又はキャラクタの体力ゲージ等に応じて、キャラクタの疲労状態を特定する。
図10は、キャラクタ能力情報403の一例を簡略化して示す図である。キャラクタ能力情報403は、複数のユーザに対応する複数のキャラクタの各々に割り当てられたキャラクタID毎に、登録日、身長、体重、及び垂直飛び高さに関する複数の項目を有している。登録日の項目には、各キャラクタに関して、複数の項目のデータ登録が完了した年月日が入力される。身長の項目には、各キャラクタの身長を示す数値が入力される。体重の項目には、各キャラクタの体重を示す数値が入力される。各キャラクタの身長及び体重は、例えば仮想空間処理部204によって予め設定されている。垂直飛び高さの項目には、ゲームの初回開始時等に測定された、又は各キャラクタの体力ゲージ等に応じて仮想空間処理部204によって特定された、各キャラクタの垂直飛び高さの測定値が入力される。
以下、ばね制御部203によってばね機構Bのばね定数kを制御する様々な処理例について、順に説明する。各処理例は任意に組み合わせて適用することが可能である。
(第1処理例)
第1処理例では、ばね制御部203は、現実空間のユーザの運動能力と、XR空間のキャラクタの運動能力とを適合させるように、ばね機構Bのばね定数kを制御する。
第1処理例では、ばね制御部203は、現実空間のユーザの運動能力と、XR空間のキャラクタの運動能力とを適合させるように、ばね機構Bのばね定数kを制御する。
図11は、第1処理例に関し、処理部81が実行する処理の流れを示すフローチャートである。
まずステップS101において取得部301は、ユーザ能力情報401を記憶部82から読み出すことによって取得する。
次にステップS102において取得部301は、キャラクタ能力情報403を記憶部82から読み出すことによって取得する。
次にステップS103において設定部302は、ユーザ能力情報401で示されるユーザの運動能力と、キャラクタ能力情報403で示される当該ユーザに対応するキャラクタの運動能力との差が、所定のしきい値TH1以上であるか否かを判定する。
ユーザとキャラクタとの運動能力の差がしきい値TH1以上である場合(ステップS103:YES)は、次にステップS104において設定部302は、ユーザとキャラクタとの運動能力の差に応じてばね機構Bのばね定数kを設定する。
具体的に、設定部302は、ユーザの力学的エネルギーを算出し、また、キャラクタの力学的エネルギーを算出する。また、設定部302は、ユーザの力学的エネルギーとキャラクタの力学的エネルギーとの差に基づいて、ばね機構Bのばね定数kを設定する。例えばジャンプ動作において、ユーザの力学的エネルギーは、ジャンプしたユーザの最高点での位置エネルギーと、ユーザがジャンプ前に最も沈み込んだ時のばね機構Bの弾性力による位置エネルギーとを含む。キャラクタの力学的エネルギーは、ジャンプしたキャラクタの最高点での位置エネルギーを含む。
ユーザ能力情報401で示されるユーザの体重をM、垂直飛び高さをhyとし、キャラクタ能力情報403で示されるキャラクタの体重をm、垂直飛び高さをhcとし、ユーザがジャンプ前に最も沈み込んだ時のばね機構Bの全長の変化量をXとし、重力加速度をgとし、ばね定数kの補正量をΔkとすると、エネルギー保存則より、
mghc=Mghy+(1/2)ΔkX2 ・・・(1)
の関係が成り立つ。(1)式よりばね定数kの補正量Δkは、
Δk=2g(mhc-Mhy)/X2 ・・・(2)
によって算出される。設定部302は、(2)式の演算を行うことによって補正量Δkを算出し、ばね機構Bのばね定数kの初期値(例えば中央値)に対して補正量Δkを増減した値を、補正後のばね機構Bのばね定数kの設定値として設定する。
次にステップS105において仮想空間処理部204は、XR空間でキャラクタに対して歩行又はジャンプ等の動作を実行させるためのユーザ操作情報を、リモコン52又はばね搭載靴101等から取得する。仮想空間処理部204は、取得したユーザ操作情報に基づいて、XR空間におけるゲームシナリオの進行及びキャラクタの動作を制御する。
なお、ユーザとキャラクタとの運動能力の差がしきい値TH1未満である場合(ステップS103:NO)は、ステップS104を実行することなくステップS105が実行される。
次にステップS106において映像制御部201は、ゲームシナリオの進行状況等に応じてXR空間の映像データを生成し、当該映像データをヘッドセット51に送信する。また、音声制御部202は、ゲームシナリオの進行状況等に応じてXR空間の音声データを生成し、当該音声データをヘッドセット51に送信する。また、ばね制御部203の制御部303は、ユーザの動作に応じてばね機構Bを制御する。図12は、ばね定数kの制御タイミングを示すタイミングチャートである。制御部303は、ジャンプ動作においてユーザがジャンプ前に最も沈み込んだ瞬間である時刻T1に、ばね機構Bのばね定数kが、初期値のばね定数k1から、ステップS104で設定した補正後のばね定数k2となるように、ばね機構Bを制御する。制御部303は、収縮したばね機構Bが伸張を開始したタイミングを、ユーザが最も沈み込んだ瞬間のタイミングとして特定する。制御部303は、例えば、第1構造体2の下面と本体部3の上面との間の距離をリニアエンコーダ等の距離センサによって測定し、その測定値の変化態様に基づいて、ばね機構Bの収縮又は伸張を検出することができる。また、制御部303は、例えば、ジャンプ動作においてユーザが飛び上がって床面から足が離れた瞬間である時刻T2に、ばね機構Bのばね定数kがばね定数k2からばね定数k1に戻るように、ばね機構Bを制御する。制御部303は、第2構造体4の下面に配置されている圧力センサ40Bの測定値がゼロとなることにより、床面から足が離れた瞬間を検出することができる。
次にステップS107において仮想空間処理部204は、リモコン52からゲーム終了コマンドを受信した等の所定の終了条件を満たすか否かを判定する。
終了条件を満たさない場合(ステップS107:NO)は、ステップS105~S107が繰り返し実行される。
終了条件を満たす場合(ステップS107:YES)は、処理部81は処理を終了する。
本実施形態によれば、制御装置100は、取得した第1情報及び第2情報に基づいてばね機構Bのばね定数kを設定し、ばね機構Bを制御する。これにより、ユーザ又は現実空間に関する負荷とキャラクタ又はXR空間に関する負荷とに基づいてばね機構Bのばね定数kを制御でき、その結果、キャラクタの負荷をユーザに再現し、又は、XR空間の負荷を現実空間に再現することが可能となる。
また、本実施形態によれば、ユーザが履いているばね搭載靴101の靴底102に配置されたばね機構Bのばね定数kを制御することにより、ユーザのジャンプ力又はユーザが体感する浮遊感等を制御することが可能となる。
また、本実施形態によれば、仮想オブジェクトはXR空間内のキャラクタを含むことにより、XR空間内のキャラクタの運動能力等の負荷をユーザに再現することが可能となる。
また、本処理例によれば、ユーザ又はキャラクタに関する負荷は運動能力を含み、現実空間又はXR空間に関する負荷は重力環境を含むことにより、キャラクタの運動能力をユーザに再現し、又は、XR空間の重力環境を現実空間に再現することが可能となる。
また、本処理例によれば、運動能力は筋力及び持久力の少なくとも一方を含むことにより、キャラクタの筋力又は持久力をユーザに再現することが可能となる。
また、本処理例によれば、ユーザの力学的エネルギーとキャラクタの力学的エネルギーとの差に基づいてばね定数kを設定することにより、ばね機構Bのばね定数kを適切に設定することが可能となる。
また、本処理例によれば、ジャンプしたユーザの位置エネルギー、ばね機構Bの弾性力による位置エネルギー、及び、ジャンプしたキャラクタの位置エネルギーを用いることにより、ばね機構Bのばね定数kを適切に設定することが可能となる。
また、本処理例によれば、収縮したばね機構Bが伸張を開始したタイミングでばね機構Bのばね定数kを変更することにより、キャラクタの運動能力等の負荷をユーザに効果的に再現することが可能となる。
(第2処理例)
第2処理例では、ばね制御部203は、現実空間の重力環境と、XR空間の重力環境とを適合させるように、ばね機構Bのばね定数kを制御する。
第2処理例では、ばね制御部203は、現実空間の重力環境と、XR空間の重力環境とを適合させるように、ばね機構Bのばね定数kを制御する。
図13は、第2処理例に関し、処理部81が実行する処理の流れを示すフローチャートである。
まずステップS201において取得部301は、現実空間情報405を記憶部82から読み出すことによって取得する。
次にステップS202において取得部301は、仮想空間情報406を記憶部82から読み出すことによって取得する。
次にステップS203において設定部302は、現実空間情報405で示される現実空間の重力環境と、仮想空間情報406で示されるXR空間の重力環境との重力差が、所定のしきい値TH2超であるか否かを判定する。具体的に、設定部302は、現実環境の重力値からXR環境の重力値を減じることによって得られた差分値がしきい値TH2超であるか否かを判定する。しきい値TH2はゼロであっても良い。
現実空間とXR空間との重力差がしきい値TH2超である場合(ステップS203:YES)は、次にステップS204において設定部302は、現実空間とXR空間との重力差に応じてばね機構Bのばね定数kを設定する。
ユーザ能力情報401で示されるユーザの体重をM、ユーザが沈み込んだ時のばね機構Bの全長の変化量をx、重力加速度をg、xの関数であるばね定数kをばね定数k(x)とし、例えばXR空間の重力値が現実空間の重力値の9/10倍になった場合を想定すると、
(9/10)Mg=Mg-k(x)x ・・・(3)
の関係が成り立つ。(3)式よりばね定数k(x)は、
k(x)=(1/10)Mg/x ・・・(4)
によって算出される。(4)式を一般化すると、
k(x)=ΔgM/x ・・・(5)
で表される。設定部302は、(5)式の演算を行うことにより、変化量xに応じてばね定数k(x)を設定する。
次にステップS205において仮想空間処理部204は、XR空間でキャラクタに対して歩行又はジャンプ等の動作を実行させるためのユーザ操作情報を、リモコン52又はばね搭載靴101等から取得する。仮想空間処理部204は、取得したユーザ操作情報に基づいて、XR空間におけるゲームシナリオの進行及びキャラクタの動作を制御する。
なお、現実空間とXR空間との重力差がしきい値TH2以下である場合(ステップS203:NO)は、ステップS204を実行することなくステップS205が実行される。
次にステップS206において映像制御部201は、ゲームシナリオの進行状況等に応じてXR空間の映像データを生成し、当該映像データをヘッドセット51に送信する。また、音声制御部202は、ゲームシナリオの進行状況等に応じてXR空間の音声データを生成し、当該音声データをヘッドセット51に送信する。また、ばね制御部203の制御部303は、ユーザの動作に応じてばね機構Bを制御する。図14は、ばね定数kの制御タイミングを示すタイミングチャートである。制御部303は、ユーザがジャンプ前に沈み込みを開始する時刻T3までは、変化量xがゼロであるため、ばね定数kを最大値k3に設定する。時刻T3においてユーザが沈み込みを開始すると、変化量xは徐々に大きくなるため、制御部303は、ばね定数kが徐々に小さくなるようばね機構Bを制御する。ユーザが最も沈み込んだ瞬間である時刻T4において、ばね定数kは最小値k4となる。時刻T4以降は変化量xは徐々に小さくなるため、制御部303は、ばね定数kが徐々に大きくなるようばね機構Bを制御し、ユーザが飛び上がって床面から足が離れた瞬間である時刻T5に、ばね定数kは最大値k3となる。
次にステップS207において仮想空間処理部204は、リモコン52からゲーム終了コマンドを受信した等の所定の終了条件を満たすか否かを判定する。
終了条件を満たさない場合(ステップS207:NO)は、ステップS205~S207が繰り返し実行される。
終了条件を満たす場合(ステップS207:YES)は、処理部81は処理を終了する。
本処理例によれば、ユーザの所在場所における重力とキャラクタの所在場所における重力との差に基づいてばね定数kを設定することにより、ばね機構Bのばね定数kを適切に設定でき、XR空間の重力環境を現実空間に再現することが可能となる。
(第3処理例)
第3処理例では、ばね制御部203は、現実空間の重力環境とXR空間の重力環境とを適合させ、さらに、現実空間のユーザの運動能力とXR空間のキャラクタの運動能力とを適合させるように、ばね機構Bのばね定数kを制御する。
第3処理例では、ばね制御部203は、現実空間の重力環境とXR空間の重力環境とを適合させ、さらに、現実空間のユーザの運動能力とXR空間のキャラクタの運動能力とを適合させるように、ばね機構Bのばね定数kを制御する。
図15は、第3処理例に関し、処理部81が実行する処理の流れを示すフローチャートである。
まずステップS301において取得部301は、現実空間情報405を記憶部82から読み出すことによって取得する。
次にステップS302において取得部301は、仮想空間情報406を記憶部82から読み出すことによって取得する。
次にステップS303において設定部302は、上述のステップS203と同様に、現実空間情報405で示される現実空間の重力環境と、仮想空間情報406で示されるXR空間の重力環境との重力差が、所定のしきい値TH2超であるか否かを判定する。
現実空間とXR空間との重力差がしきい値TH2超である場合(ステップS303:YES)は、次にステップS304において設定部302は、上述のステップS204と同様に、現実空間とXR空間との重力差に応じてばね機構Bのばね定数kを設定する。
次にステップS305において取得部301は、ユーザ能力情報401を記憶部82から読み出すことによって取得する。
なお、現実空間とXR空間との重力差がしきい値TH2以下である場合(ステップS303:NO)は、ステップS304を実行することなくステップS305が実行される。
次にステップS306において取得部301は、キャラクタ能力情報403を記憶部82から読み出すことによって取得する。
次にステップS307において設定部302は、ユーザ能力情報401で示されるユーザの運動能力と、キャラクタ能力情報403で示される当該ユーザに対応するキャラクタの運動能力との差が、所定のしきい値TH1以上であるか否かを判定する。
ユーザとキャラクタとの運動能力の差がしきい値TH1以上である場合(ステップS307:YES)は、次にステップS308において設定部302は、上述のステップS104と同様に、ユーザとキャラクタとの運動能力の差に応じてばね機構Bのばね定数kを設定する。
次にステップS309において仮想空間処理部204は、XR空間でキャラクタに対して歩行又はジャンプ等の動作を実行させるためのユーザ操作情報を、リモコン52又はばね搭載靴101等から取得する。仮想空間処理部204は、取得したユーザ操作情報に基づいて、XR空間におけるゲームシナリオの進行及びキャラクタの動作を制御する。
なお、ユーザとキャラクタとの運動能力の差がしきい値TH1未満である場合(ステップS307:NO)は、ステップS308を実行することなくステップS309が実行される。
次にステップS310において映像制御部201は、ゲームシナリオの進行状況等に応じてXR空間の映像データを生成し、当該映像データをヘッドセット51に送信する。また、音声制御部202は、ゲームシナリオの進行状況等に応じてXR空間の音声データを生成し、当該音声データをヘッドセット51に送信する。また、ばね制御部203の制御部303は、ユーザの動作に応じてばね機構Bを制御する。設定部302は、(2)式で示される補正量Δkを(5)式で示されるばね定数k(x)に加算することにより、ばね機構Bのばね定数kを設定する。
次にステップS311において仮想空間処理部204は、リモコン52からゲーム終了コマンドを受信した等の所定の終了条件を満たすか否かを判定する。
終了条件を満たさない場合(ステップS311:NO)は、ステップS309~S311が繰り返し実行される。
終了条件を満たす場合(ステップS311:YES)は、処理部81は処理を終了する。
本処理例によれば、第1処理例及び第2処理例の効果を得ることができる。
(第4処理例)
第4処理例では、ばね制御部203は、現実空間のユーザの運動能力とXR空間のキャラクタの運動能力とを適合させ、さらに、ユーザの疲労度及びキャラクタの疲労度に基づいて、ばね機構Bのばね定数kを制御する。
第4処理例では、ばね制御部203は、現実空間のユーザの運動能力とXR空間のキャラクタの運動能力とを適合させ、さらに、ユーザの疲労度及びキャラクタの疲労度に基づいて、ばね機構Bのばね定数kを制御する。
図16は、第4処理例に関し、処理部81が実行する処理の流れを示すフローチャートである。
まずステップS401において取得部301は、ユーザ能力情報401を記憶部82から読み出すことによって取得する。
次にステップS402において取得部301は、キャラクタ能力情報403を記憶部82から読み出すことによって取得する。
次にステップS403において設定部302は、ユーザ能力情報401で示されるユーザの運動能力と、キャラクタ能力情報403で示される当該ユーザに対応するキャラクタの運動能力との差が、所定のしきい値TH1以上であるか否かを判定する。
ユーザとキャラクタとの運動能力の差がしきい値TH1以上である場合(ステップS403:YES)は、次にステップS404において設定部302は、上述のステップS104と同様に、ユーザとキャラクタとの運動能力の差に応じてばね機構Bのばね定数kを設定する。
次にステップS405において仮想空間処理部204は、XR空間でキャラクタに対して歩行又はジャンプ等の動作を実行させるためのユーザ操作情報を、リモコン52又はばね搭載靴101等から取得する。仮想空間処理部204は、取得したユーザ操作情報に基づいて、XR空間におけるゲームシナリオの進行及びキャラクタの動作を制御する。
なお、ユーザとキャラクタとの運動能力の差がしきい値TH1未満である場合(ステップS403:NO)は、ステップS404を実行することなくステップS405が実行される。
次にステップS406において取得部301は、ユーザ状態情報402を記憶部82から読み出すことによって取得する。
次にステップS407において取得部301は、キャラクタ状態情報404を記憶部82から読み出すことによって取得する。
次にステップS408において設定部302は、ユーザ状態情報402で示されるユーザの疲労度と、キャラクタ状態情報404で示される当該ユーザに対応するキャラクタの疲労度との差が、所定のしきい値TH3以上であるか否かを判定する。
ユーザとキャラクタとの疲労度の差がしきい値TH3以上である場合(ステップS408:YES)は、次にステップS409において設定部302は、ユーザとキャラクタとの疲労度の差に応じてばね機構Bのばね定数kを設定する。ユーザの疲労度がキャラクタの疲労度より大きい場合には、設定部302は、ジャンプ前にユーザが沈み込んだタイミングで、ユーザとキャラクタとの疲労度の差に応じて、ばね機構Bのばね定数kを初期値(例えば中間値)より大きく設定する。一方、ユーザの疲労度がキャラクタの疲労度より小さい場合には、設定部302は、ジャンプ前にユーザが沈み込んだタイミングで、ユーザとキャラクタとの疲労度の差に応じて、ばね機構Bのばね定数kを初期値(例えば中間値)より小さく設定する。
次にステップS410において映像制御部201は、ゲームシナリオの進行状況等に応じてXR空間の映像データを生成し、当該映像データをヘッドセット51に送信する。また、音声制御部202は、ゲームシナリオの進行状況等に応じてXR空間の音声データを生成し、当該音声データをヘッドセット51に送信する。また、ばね制御部203の制御部303は、ユーザの動作に応じてばね機構Bを制御する。設定部302は、(2)式で示される補正量Δkを、ステップS409で設定したばね定数kに加算することにより、ばね機構Bのばね定数kを設定する。
なお、ユーザとキャラクタとの疲労度の差がしきい値TH3未満である場合(ステップS408:NO)は、ステップS409を実行することなくステップS410が実行される。
次にステップS411において仮想空間処理部204は、リモコン52からゲーム終了コマンドを受信した等の所定の終了条件を満たすか否かを判定する。
終了条件を満たさない場合(ステップS411:NO)は、ステップS405~S411が繰り返し実行される。
終了条件を満たす場合(ステップS411:YES)は、処理部81は処理を終了する。
本処理例によれば、ユーザの疲労度及びキャラクタの疲労度に基づいてばね機構Bのばね定数kを設定することにより、ユーザ及びキャラクタの一方の疲労度に応じた運動能力の変化を、ユーザ及びキャラクタの他方に再現することが可能となる。
(第5処理例)
第5処理例では、ばね制御部203は、現実空間のユーザの運動能力とXR空間のキャラクタの運動能力とを適合させ、さらに、移動するユーザの動作安全度に基づいて、ばね機構Bのばね定数kを制御する。
第5処理例では、ばね制御部203は、現実空間のユーザの運動能力とXR空間のキャラクタの運動能力とを適合させ、さらに、移動するユーザの動作安全度に基づいて、ばね機構Bのばね定数kを制御する。
図17は、第5処理例に関し、処理部81が実行する処理の流れを示すフローチャートである。
まずステップS501において取得部301は、ユーザ能力情報401を記憶部82から読み出すことによって取得する。
次にステップS502において取得部301は、キャラクタ能力情報403を記憶部82から読み出すことによって取得する。
次にステップS503において設定部302は、ユーザ能力情報401で示されるユーザの運動能力と、キャラクタ能力情報403で示される当該ユーザに対応するキャラクタの運動能力との差が、所定のしきい値TH1以上であるか否かを判定する。
ユーザとキャラクタとの運動能力の差がしきい値TH1以上である場合(ステップS503:YES)は、次にステップS504において設定部302は、上述のステップS104と同様に、ユーザとキャラクタとの運動能力の差に応じてばね機構Bのばね定数kを設定する。
次にステップS505において仮想空間処理部204は、XR空間でキャラクタに対して歩行又はジャンプ等の動作を実行させるためのユーザ操作情報を、リモコン52又はばね搭載靴101等から取得する。仮想空間処理部204は、取得したユーザ操作情報に基づいて、XR空間におけるゲームシナリオの進行及びキャラクタの動作を制御する。
なお、ユーザとキャラクタとの運動能力の差がしきい値TH1未満である場合(ステップS503:NO)は、ステップS504を実行することなくステップS505が実行される。
次にステップS506において取得部301は、距離情報を距離センサ56からリアルタイムで受信することによって取得する。距離情報は、距離センサ56によって測定された、XR体験を行っているユーザと部屋の天井又は壁との間の距離を示す情報である。
次にステップS507において設定部302は、ステップS506で取得した距離情報に基づいて決定したユーザの動作安全度が、所定のしきい値TH4未満であるか否かを判定する。設定部302は、例えば、距離情報で示されるユーザと天井又は壁との間の距離の最小値を、動作安全度として決定する。あるいは、設定部302は、ステップS504のばね定数kが設定された状況でユーザの沈み込みによってばね機構Bに蓄積される弾性エネルギーから、天井までジャンプしたユーザの位置エネルギーを減ずることに得られる差分値を、動作安全度として決定しても良い。
動作安全度がしきい値TH4未満である場合(ステップS507:YES)は、次にステップS508において設定部302は、ジャンプしたユーザの最高点と天井又は壁との間の距離がしきい値TH4以上となるように、ステップS504で設定したばね定数kを減少させるためのマイナス値の補正量を設定する。
次にステップS509において映像制御部201は、ゲームシナリオの進行状況等に応じてXR空間の映像データを生成し、当該映像データをヘッドセット51に送信する。また、音声制御部202は、ゲームシナリオの進行状況等に応じてXR空間の音声データを生成し、当該音声データをヘッドセット51に送信する。また、ばね制御部203の制御部303は、ユーザの動作に応じてばね機構Bを制御する。設定部302は、ステップS504で設定したばね定数kに、ステップS508で設定した補正量を加算することにより、ばね機構Bのばね定数kを設定する。
なお、動作安全度がしきい値TH4以上である場合(ステップS507:NO)は、ステップS508を実行することなくステップS509が実行される。
次にステップS510において仮想空間処理部204は、リモコン52からゲーム終了コマンドを受信した等の所定の終了条件を満たすか否かを判定する。
終了条件を満たさない場合(ステップS510:NO)は、ステップS505~S510が繰り返し実行される。
終了条件を満たす場合(ステップS510:YES)は、処理部81は処理を終了する。
本処理例によれば、移動するユーザの動作安全度に基づいてばね定数kを設定することにより、室内でジャンプしたユーザが天井又は壁に衝突する等の事態を予め回避することが可能となる。
本開示は、VR、AR、又はMR等のXRシステムへの適用が特に有用である。
Claims (15)
- ばね定数を可変に制御可能なばね機構の制御方法であって、
制御装置が、
前記ばね機構によって運動が補助されるユーザに関する負荷を示す第1情報を取得し、
前記ユーザに対応する仮想オブジェクトに関する負荷を示す第2情報を取得し、
取得した前記第1情報及び前記第2情報に基づいて、前記ばね機構のばね定数を制御する、
ばね機構の制御方法。 - 前記ユーザ又は前記仮想オブジェクトに関する前記負荷は、前記ユーザ又は前記仮想オブジェクトの運動能力を含む、請求項1に記載のばね機構の制御方法。
- 前記ばね機構のばね定数の制御において、前記ユーザの力学的エネルギーを算出し、前記仮想オブジェクトの力学的エネルギーを算出し、前記ユーザの前記力学的エネルギーと前記仮想オブジェクトの前記力学的エネルギーとの差に基づいて、前記ばね機構のばね定数を制御する、請求項2に記載のばね機構の制御方法。
- 前記運動能力はジャンプ力を含み、
前記ユーザの前記力学的エネルギーは、ジャンプした前記ユーザの位置エネルギーと、前記ばね機構の弾性力による位置エネルギーとを含み、
前記仮想オブジェクトの前記力学的エネルギーは、ジャンプした前記仮想オブジェクトの位置エネルギーを含む、請求項3に記載のばね機構の制御方法。 - さらに前記ユーザの疲労度及び前記仮想オブジェクトの疲労度を取得し、
前記ばね機構のばね定数の制御において、さらに前記ユーザの前記疲労度及び前記仮想オブジェクトの前記疲労度に基づいて、前記ばね機構のばね定数を制御する、請求項1に記載のばね機構の制御方法。 - ばね定数を可変に制御可能なばね機構の制御方法であって、
制御装置が、
前記ばね機構によって運動が補助されるユーザが所在する現実空間に関する負荷を示す第1情報を取得し、
前記現実空間に対応する仮想空間に関する負荷を示す第2情報を取得し、
取得した前記第1情報及び前記第2情報に基づいて、前記ばね機構のばね定数を制御する、
ばね機構の制御方法。 - 前記現実空間又は前記仮想空間に関する前記負荷は、前記現実空間又は前記仮想空間の重力値を含む、請求項6に記載のばね機構の制御方法
- 前記ばね機構のばね定数の制御において、前記ユーザの所在場所における重力と前記仮想オブジェクトの所在場所における重力との差に基づいて、前記ばね機構のばね定数を制御する、請求項7に記載のばね機構の制御方法。
- 前記ユーザは、前記ばね機構が靴底に配置された靴を履いた人物を含む、請求項1又は6に記載のばね機構の制御方法。
- 前記ばね機構の制御において、収縮した前記ばね機構が伸張を開始したタイミングで、前記ばね機構のばね定数を変更する、請求項1又は6に記載のばね機構の制御方法。
- さらに前記ユーザの動作安全度を決定し、
前記ばね機構のばね定数の制御において、さらに前記ユーザの前記動作安全度に基づいて、前記ばね機構のばね定数を制御する、請求項1又は6に記載のばね機構の制御方法。 - ばね定数を可変に制御可能なばね機構の制御装置であって、
前記ばね機構によって運動が補助されるユーザに関する負荷を示す第1情報と、前記ユーザに対応する仮想オブジェクトに関する負荷を示す第2情報とを取得する取得部と、
前記取得部が取得した前記第1情報及び前記第2情報に基づいて、前記ばね機構のばね定数を制御する制御部と、
を備える、ばね機構の制御装置。 - ばね定数を可変に制御可能なばね機構の制御装置であって、
前記ばね機構によって運動が補助されるユーザが所在する現実空間に関する負荷を示す第1情報と、前記現実空間に対応する仮想空間に関する負荷を示す第2情報とを取得する取得部と、
前記取得部が取得した前記第1情報及び前記第2情報に基づいて、前記ばね機構のばね定数を制御する制御部と、
を備える、ばね機構の制御装置。 - ばね定数を可変に制御可能なばね機構の制御装置が備える情報処理装置を、
前記ばね機構によって運動が補助されるユーザに関する負荷を示す第1情報と、前記ユーザに対応する仮想オブジェクトに関する負荷を示す第2情報とを取得する取得手段と、
前記取得手段が取得した前記第1情報及び前記第2情報に基づいて、前記ばね機構のばね定数を制御する制御手段と、
として機能させるためのプログラム。 - ばね定数を可変に制御可能なばね機構の制御装置が備える情報処理装置を、
前記ばね機構によって運動が補助されるユーザが所在する現実空間に関する負荷を示す第1情報と、前記現実空間に対応する仮想空間に関する負荷を示す第2情報とを取得する取得手段と、
前記取得手段が取得した前記第1情報及び前記第2情報に基づいて、前記ばね機構のばね定数を制御する制御手段と、
として機能させるためのプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023012333 | 2023-01-30 | ||
JP2023-012333 | 2023-01-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024161820A1 true WO2024161820A1 (ja) | 2024-08-08 |
Family
ID=92146231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2023/045157 WO2024161820A1 (ja) | 2023-01-30 | 2023-12-15 | ばね機構の制御方法、ばね機構の制御装置、及びプログラム |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2024161820A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009175777A (ja) * | 2008-01-21 | 2009-08-06 | Canon Inc | 情報処理装置および方法 |
JP2020067723A (ja) * | 2018-10-22 | 2020-04-30 | 国立大学法人 奈良先端科学技術大学院大学 | 足裏感触提示装置、足裏感触提示方法及び仮想現実システム |
WO2022244849A1 (ja) * | 2021-05-19 | 2022-11-24 | アルプスアルパイン株式会社 | 感覚制御方法、感覚制御システム、変換モデル生成方法、変換モデル生成システム、関係式変換方法、およびプログラム |
JP2022184532A (ja) * | 2021-06-01 | 2022-12-13 | 学校法人 中央大学 | 下肢力覚提示装置及び該装置を用いた下肢力覚提示方法。 |
-
2023
- 2023-12-15 WO PCT/JP2023/045157 patent/WO2024161820A1/ja unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009175777A (ja) * | 2008-01-21 | 2009-08-06 | Canon Inc | 情報処理装置および方法 |
JP2020067723A (ja) * | 2018-10-22 | 2020-04-30 | 国立大学法人 奈良先端科学技術大学院大学 | 足裏感触提示装置、足裏感触提示方法及び仮想現実システム |
WO2022244849A1 (ja) * | 2021-05-19 | 2022-11-24 | アルプスアルパイン株式会社 | 感覚制御方法、感覚制御システム、変換モデル生成方法、変換モデル生成システム、関係式変換方法、およびプログラム |
JP2022184532A (ja) * | 2021-06-01 | 2022-12-13 | 学校法人 中央大学 | 下肢力覚提示装置及び該装置を用いた下肢力覚提示方法。 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11521107B2 (en) | Learning system, rehabilitation support system, method, program, and trained model | |
JP3931889B2 (ja) | 画像表示システム、画像表示装置、画像表示方法 | |
JP6394194B2 (ja) | 動作情報測定装置、ゲーム制御プログラム、動作情報測定プログラム | |
KR101461202B1 (ko) | 가상 현실용 운동기구 시스템 및 운용방법 | |
CN101801471B (zh) | 训练方法和用于实施所述方法的装置 | |
EP3525673B1 (en) | Method and apparatus for determining a fall risk | |
US10863926B2 (en) | Fall detection device and method for controlling thereof | |
US20070109259A1 (en) | Exploring platform for virtual environment | |
JP2017000522A (ja) | 情報処理装置、情報処理システム及びインソール | |
WO2018029515A1 (en) | Mapping arena movements into a 3-d virtual world | |
CN106232186A (zh) | 便携式椭圆锻炼机 | |
Racic et al. | Modern facilities for experimental measurement of dynamic loads induced by humans: A literature review | |
US20160144234A1 (en) | Wearable Device Analyzing Swimming and Analyzing Method of the Same | |
KR102151321B1 (ko) | Vr 스포츠를 통한 피트니스 관리방법 | |
Gokalgandhi et al. | A review of smart technologies embedded in shoes | |
JP6507532B2 (ja) | 動作情報測定装置、ゲーム制御プログラム、動作情報測定プログラム | |
Yan et al. | New simple virtual walking method-walking on the spot | |
WO2017212491A1 (en) | Systems and methods for retrofitting rehabilitation apparatuses | |
WO2024161820A1 (ja) | ばね機構の制御方法、ばね機構の制御装置、及びプログラム | |
JP7379798B2 (ja) | 地震疑似体感装置、地震疑似体感制御プログラム | |
JP2003241639A (ja) | 仮想空間シミュレーション装置 | |
CN110354459B (zh) | 一种基于足底压力感知的老年人本体感促进训练交互装置 | |
CN101868799A (zh) | 用于生成个性化练习影片的系统和方法 | |
KR20170082742A (ko) | 멀티 모달 센서를 이용한 신체 운동 형태 판단 및 이를 이용한 운동량별 소모 에너지 측정 시스템 | |
US11210966B2 (en) | Rehabilitation support system, rehabilitation support method, and rehabilitation support program |
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: 23919955 Country of ref document: EP Kind code of ref document: A1 |