WO2024090303A1 - 情報処理装置及び情報処理方法 - Google Patents

情報処理装置及び情報処理方法 Download PDF

Info

Publication number
WO2024090303A1
WO2024090303A1 PCT/JP2023/037689 JP2023037689W WO2024090303A1 WO 2024090303 A1 WO2024090303 A1 WO 2024090303A1 JP 2023037689 W JP2023037689 W JP 2023037689W WO 2024090303 A1 WO2024090303 A1 WO 2024090303A1
Authority
WO
WIPO (PCT)
Prior art keywords
space
virtual object
information processing
user
control unit
Prior art date
Application number
PCT/JP2023/037689
Other languages
English (en)
French (fr)
Inventor
洋史 湯浅
将文 米田
毅 石川
郁男 山野
洋平 福馬
友梨 石川
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Publication of WO2024090303A1 publication Critical patent/WO2024090303A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object

Definitions

  • This technology relates to an information processing device and information processing method, and in particular to an information processing device and information processing method that improves workability in XR (cross reality) space.
  • Patent Document 1 discloses a technology to detect the direction of gravity in real space and reflect the detected direction of gravity in virtual space.
  • Patent Document 1 when designing a factory line using 3D CAD, a user may want to place a virtual part, which is a virtual object, in a desired position in the virtual space (e.g., in the air, etc.) in order to consider the placement of the part.
  • the invention described in Patent Document 1 reflects the direction of gravity in the virtual space, which may actually decrease the user's workability.
  • This technology was developed in light of these circumstances, and aims to improve workability in XR spaces.
  • An information processing device includes a recognition unit that recognizes the state of an element related to XR, and a spatial control unit that controls the physical laws applied to virtual objects in XR space based on the state of the element related to XR.
  • the motion control method involves an information processing device recognizing the state of an element related to XR, and controlling the physical laws to be applied to a virtual object in XR space based on the state of the element related to XR.
  • the state of elements related to XR is recognized, and the physical laws applied to virtual objects in XR space are controlled based on the state of the elements related to XR.
  • FIG. 1 is a diagram showing an embodiment of an XR system to which the present technology is applied.
  • FIG. 13 is a diagram showing a display example of an XR system.
  • FIG. 13 is a diagram showing a display example of an XR system.
  • 2 is a block diagram showing an example of the configuration of an information processing device and a terminal device;
  • FIG. 2 is an external view showing an example of the configuration of a controller device.
  • 1A and 1B are diagrams illustrating methods of holding the controller device.
  • 1A and 1B are diagrams illustrating methods of holding the controller device.
  • 1A and 1B are diagrams illustrating ways in which the controller device is held.
  • 3A and 3B are diagrams illustrating an example of the arrangement of operation members of the controller device.
  • FIG. 1 is a diagram showing an embodiment of an XR system to which the present technology is applied.
  • FIG. 13 is a diagram showing a display example of an XR system.
  • FIG. 13 is a diagram showing
  • FIG. 13 is a diagram showing an example of the arrangement of markers on the controller device.
  • FIG. 13 is a diagram showing an example of how a marker appears on a controller device.
  • 11 is a diagram for explaining a method for recognizing the position and orientation of a controller device.
  • FIG. FIG. 2 is a diagram illustrating an example of the internal configuration of a controller device.
  • FIG. 13 is a diagram showing an example of the arrangement of haptic devices in the controller device.
  • 11 is a flowchart for explaining an operation member control process executed by the XR system.
  • 11 is a diagram for explaining an operation member control process executed by the XR system.
  • FIG. 11A to 11C are diagrams illustrating examples of ways of holding the controller device.
  • 11A to 11C are diagrams illustrating examples of ways of holding the controller device.
  • 11A to 11C are diagrams illustrating examples of ways of holding the controller device.
  • 11 is a flowchart for explaining a haptic feedback control process executed by the XR system.
  • FIG. 13 is a diagram for explaining an example of haptic feedback.
  • FIG. 13 is a diagram for explaining an example of haptic feedback.
  • FIG. 13 is a diagram for explaining an example of haptic feedback.
  • FIG. 1 is a schematic diagram of a real world line site.
  • FIG. 11 is a diagram illustrating an example of the behavior of a virtual object in an XR space.
  • 11 is a flowchart for explaining a virtual object behavior control process executed by the XR system.
  • 11 is a table comparing the functionality of the physics OFF mode and the physics ON mode.
  • 1A to 1C are diagrams illustrating examples of how to hold the controller device.
  • 1A to 1C are diagrams illustrating examples of how to hold the controller device.
  • 1A to 1C are diagrams illustrating examples of how to hold the controller device.
  • 1A to 1C are diagrams illustrating examples of the arrangement of touch sensors and buttons on a controller device.
  • 1A to 1C are diagrams illustrating examples of how to hold the controller device.
  • 1A to 1C are diagrams illustrating examples of how to hold the controller device.
  • FIG. 1 is a diagram showing an example of the arrangement of touch sensors and buttons on a pen-type controller device.
  • 11 is a diagram for explaining an example of a behavior mode switching method.
  • FIG. 11 is a diagram illustrating an example of a method for presenting a virtual object.
  • FIG. 1 is a diagram for explaining an example in which the present technology is applied to product design.
  • FIG. 13 is a diagram for explaining an example in which the present technology is applied to a surgery simulation.
  • FIG. 1 is a block diagram illustrating an example of the configuration of a computer.
  • FIG. 1 shows an example of the configuration of an XR (cross reality) system 101 which is an embodiment of an information processing system to which the present technology is applied.
  • the XR system 101 is a system that realizes XR, a technology that fuses the real world with the virtual world, such as VR (virtual reality), AR (augmented reality), MR (mixed reality), and SR (alternative reality).
  • the XR system 101 is a system that presents a space that fuses real space with virtual space (hereinafter referred to as XR space) to the user.
  • the XR system 101 can present a virtual object (hereinafter referred to as a virtual object or virtual object) that does not exist in reality, such as a model created by CAD (Computer Aided Design) (hereinafter referred to as a CAD model), to the user as if it were actually there.
  • CAD Computer Aided Design
  • the XR system 101 includes an information processing device 111, a terminal device 112, and a controller device 113.
  • the information processing device 111 and the terminal device 112 can communicate wirelessly or via a wired connection, and transmit and receive data to and from each other.
  • the terminal device 112 and the controller device 113 can communicate wirelessly or via a wired connection, and transmit and receive data to and from each other.
  • the information processing device 111 and the controller device 113 communicate via the terminal device 112, and transmit and receive data to and from each other.
  • the information processing device 111 can, for example, independently accept operations by a user and present various types of information, such as visual information and auditory information, to the user.
  • the information processing device 111 also controls the terminal device 112 by, for example, executing a specific application (hereinafter referred to as an XR app), and controls the presentation of the XR space to the user by the terminal device 112.
  • a specific application hereinafter referred to as an XR app
  • the information processing device 111 controls the output of various types of information, such as visual information and auditory information, in the terminal device 112 by executing the XR app, and constructs the XR space presented by the terminal device 112.
  • the information processing device 111 is configured as a PC (Personal Computer) equipped with an operation input unit including a mouse and a keyboard.
  • the information processing device 111 may be configured as another information processing device such as a smartphone or a tablet terminal.
  • the information processing device 111 may be configured as a plurality of information processing devices.
  • the information processing device 111 may be configured as a system constructed by cloud computing via a network.
  • the terminal device 112 is a device that presents the XR space to the user.
  • the terminal device 112 is configured as an HMD (Head Mounted Display), which is a head-mounted display device that can be worn on the user's head and is a device that presents an XR space to the user. More specifically, an example is shown in which the terminal device 112 is a non-transparent HMD that covers the user's field of vision.
  • HMD Head Mounted Display
  • the terminal device 112 is configured as a video see-through HMD that has an imaging function capable of imaging real space based on the user's viewpoint, and can present to the user a composite image that combines a real image captured from real space with an image of a virtual space such as computer graphics (CG) (hereinafter referred to as a virtual image).
  • CG computer graphics
  • the terminal device 112 includes left and right imaging units corresponding to the user's left and right eyes, respectively, and left and right display units corresponding to the user's left and right eyes, respectively.
  • the left and right imaging units form a stereo camera and capture images in the user's line of sight (hereinafter referred to as visual field images) from multiple viewpoints corresponding to the user's left and right eyes.
  • the left and right imaging units each capture images of objects in real space (hereinafter referred to as real objects or real objects) that are visible from the user's viewpoints.
  • the left and right display units are capable of displaying different images to the left and right eyes, respectively, and by displaying images with parallax to the left and right eyes, it is possible to present three-dimensional virtual objects.
  • the left and right display units display left and right field of view images captured by the left and right imaging units, respectively.
  • the terminal device 112 may be configured with another XR terminal device, such as a smartphone that is used by being set in AR glasses or goggles. Also, for example, a display device such as a spatial reproduction display may be used instead of the terminal device 112.
  • the controller device 113 is used for operations and inputs (hereinafter referred to as operation inputs) to the XR space presented to the user by the terminal device 112. For example, the user can use the controller device 113 to perform various operations on virtual objects displayed by the terminal device 112.
  • the controller device 113 detects at least one of a user's operation input and a user's behavior (e.g., a gesture) using at least one of an operating member such as a button and a sensor.
  • the controller device 113 transmits a signal (hereinafter referred to as a controller signal) including at least one of an operation input signal indicating the user's operation input and a behavior signal indicating the user's behavior to the information processing device 111 via the terminal device 112.
  • the controller device 113a includes a haptic device that presents haptic stimuli such as vibrations, and presents the haptic stimuli to the user under the control of the information processing device 111 or the terminal device 112.
  • the controller device 113 includes, for example, one or more of the following input devices: a controller, a ring-type input device, a pointing device, and a 6DoF (six degrees of freedom) input device.
  • the controller is, for example, an input device held in the user's hand.
  • the controller may include, for example, an operating member such as a button that can be operated by the user.
  • the user can perform a selection operation, a decision operation, a scroll operation, etc. on a virtual object displayed on the terminal device 112 by pressing a button on the controller.
  • the controller may also include, for example, a touch sensor and a motion sensor.
  • the controller does not necessarily have to be held in the user's hand, but may be attached to a part of the user's body, such as the elbow, arm, knee, ankle, or thigh.
  • the ring-type device is a ring-shaped input device that is worn on the user's finger.
  • the ring-type device may include an operating member such as a button that can be operated by the user.
  • the user can change the position and orientation of a virtual object (e.g., a three-dimensional model) in the XR space with 6DoF (six degrees of freedom) by operating the ring-type device.
  • a virtual object e.g., a three-dimensional model
  • 6DoF six degrees of freedom
  • the pointing device is an input device capable of pointing to any position in the XR space.
  • the 6DoF position and orientation of the pointing device are recognized by the information processing device 111 via the terminal device 112 using a tracking method such as a bright spot tracking method, a magnetic tracking method, or an ultrasonic tracking method.
  • a 6DoF input device is, for example, an input device that can be operated in 6DoF.
  • the user can, for example, perform operational input using the controller device 113 while viewing various objects (display objects) displayed on the information processing device 111 or the terminal device 112.
  • controller devices 113 are not particularly limited.
  • the controller device 113 may be an input device other than the types described above, or an input device that combines multiple types of input devices.
  • the XR system 101 can be applied to various fields such as manufacturing and medical fields.
  • the XR system 101 can provide support for product design and assembly.
  • a user can use the XR system 101 to freely edit a three-dimensional object that is a virtual object, and by comparing it with the real world, understand the design results and design in advance before prototyping.
  • the XR system 101 can support surgery and education in the medical field.
  • a user can use the XR system 101 to display the state of the inside of a patient's body on the surface of the body, and identify the surgical site in advance or perform training.
  • a terminal device 112 and a controller device 113 are provided for each user in the XR system 101.
  • Figures 2 and 3 show examples of display objects in the XR system 101 when creating a CAD model.
  • a two-dimensional CAD model is displayed by the information processing device 111, and the user can edit the two-dimensional CAD model.
  • a three-dimensional CAD model is displayed on the terminal device 112, and the user can edit the three-dimensional CAD model.
  • a two-dimensional object such as a design drawing or specification sheet is displayed on the terminal device 112, and the user can check the design drawing or specification sheet.
  • FIG. 3 shows an example of an XR space displayed by the terminal device 112.
  • the display 151, keyboard 152, mouse 153, and desk 154 of the information processing device 111 are displayed as a video see-through using real images captured from real space. Meanwhile, a two-dimensional image from the terminal device 112 is superimposed on the display 151 as a virtual monitor. For example, a two-dimensional CAD model that is the design object is displayed on the virtual monitor.
  • the two-dimensional CAD model displayed on the virtual monitor is preferably operated using the keyboard 152 and mouse 153, for example, due to the high accuracy of position detection and the ease of position retention.
  • the terminal device 112 displays a three-dimensional CAD model 155, which is the design object, in front of the display 151.
  • the CAD model 155 is operated, for example, by a controller device 113a held in the user's dominant hand (in this example, the right hand) and a controller device 113b, which is a ring-shaped device worn on the index finger of the user's non-dominant hand (in this example, the left hand).
  • the information processing device 111 recognizes the position, posture, and behavior of the hand holding the controller device 113a and the hand of the user wearing the controller device 113b by performing hand tracking based on an image captured by an imaging unit included in the terminal device 112. Also, for example, the information processing device 111 receives controller signals from the controller devices 113a and 113b via the terminal device 112, and recognizes operations performed by the controller devices 113a and 113b on the CAD model 155 based on the controller signals.
  • controller device 113a or controller device 113b can grab, release, move, and rotate CAD model 155 in 6 DoF.
  • the CAD model 155 may be made not to move, or the CAD model 155 may be made to move so as to move a virtual point.
  • the user can use the controller device 113a to point to any point, line, surface, etc. on the CAD model 155 using a ray (virtual light beam) or the like.
  • the user can use the controller device 113a to perform line drawing, that is, to draw a line on the CAD model 155.
  • controller device 113a can use controller device 113a or controller device 113b to edit (e.g., model, wire, disassemble, etc.) CAD model 155.
  • edit e.g., model, wire, disassemble, etc.
  • FIG. 4 is a block diagram showing an example of the functional configuration of the information processing device 111 and the terminal device 112 of the XR system 101.
  • the information processing device 111 includes an operation input unit 201, a control unit 202, a display unit 203, a memory unit 204, and a communication unit 205.
  • the operation input unit 201 includes input devices such as a keyboard and a mouse.
  • the operation input unit 201 accepts operation input from the user and supplies an operation input signal indicating the content of the user's operation input to the control unit 202.
  • the control unit 202 includes electronic circuits such as a CPU and a microprocessor.
  • the control unit 202 may also include a ROM for storing programs to be used, calculation parameters, etc., and a RAM for temporarily storing parameters that change as needed.
  • control unit 202 functions as an arithmetic processing device and a control device, and controls the overall operation of the information processing device 111 and executes various processes according to various programs.
  • control unit 202 realizes the information processing unit 211 by executing an XR application that enables the user to experience the information processing device 111 and the XR space and edit virtual objects.
  • the information processing unit 211 includes a recognition unit 221, an operation control unit 222, a space control unit 223, an audio control unit 224, a tactile presentation control unit 225, and a learning unit 226. That is, the recognition unit 221, the operation control unit 222, the space control unit 223, the audio control unit 224, the tactile presentation control unit 225, and the learning unit 226 are realized by the control unit 202 executing the XR application.
  • each unit of the information processing unit 211 that is, the recognition unit 221, the operation control unit 222, the space control unit 223, the audio control unit 224, the tactile presentation control unit 225, and the learning unit 226, is performed via the XR application.
  • the recognition unit 221 recognizes the state of the information processing device 111, the state of the terminal device 112, the state of the surroundings of the terminal device 112, the state of the controller device 113, the state of the user, the user operation, the state of the XR space, etc., based on at least one of the operation input signal from the operation input unit 201, the information from the control unit 202, the information from the display unit 203, the information from the communication unit 205, the sensing data transmitted from the terminal device 112, the controller signal transmitted from the controller device 113, the information from the operation control unit 222, and the information from the space control unit 223.
  • the state of the information processing device 111 to be recognized includes, for example, at least one of the state of each part of the information processing device 111, the state of each application such as an XR app, the communication state between the information processing device 111 and other devices, and various setting information (for example, setting values of various setting items).
  • the state of each part of the information processing device 111 includes, for example, at least one of the operation state of each part, the presence or absence of an abnormality, and the content of the abnormality.
  • the state of each application includes, for example, at least one of the start, end, operation state, the presence or absence of an abnormality, and the content of the abnormality of each application.
  • the communication state between the information processing device 111 and other devices includes, for example, the communication state with the terminal device 112, and the communication state with the controller device 113 via the terminal device 112.
  • the state of the terminal device 112 to be recognized includes, for example, at least one of the position, posture, behavior, and various setting information of the terminal device 112 (for example, the setting values of various setting items).
  • the position, posture, and behavior of the terminal device 112 indirectly represent the position, posture, and behavior of the part of the user on which the terminal device 112 is worn.
  • the surrounding conditions of the terminal device 112 to be recognized include, for example, at least one of the types, positions, postures, behaviors, sizes, shapes, appearances, and features of real-world objects surrounding the terminal device 112 (user).
  • the state of the controller device 113 to be recognized includes, for example, at least one of the position, posture, and behavior of the controller device 113, and various setting information (for example, the setting values of various setting items, etc.).
  • the user's state to be recognized may include, for example, at least one of the user's position, posture, overall behavior, behavior of body parts, and gaze direction.
  • User operations to be recognized include, for example, at least one of operation input by the operation input unit 201, operation input by the controller device 113, operation input by user gestures, and operation input by a virtual tool or the like in the XR space.
  • the state of the XR space to be recognized includes, for example, at least one of the type, position, orientation, behavior, size, shape, appearance, and feature amount of the virtual object in the XR space.
  • the recognition unit 221 supplies information about the recognition results to each part of the information processing device 111.
  • the recognition unit 221 also transmits information related to the recognition result to the terminal device 112 via the communication unit 205, or transmits the information related to the recognition result to the controller device 113 via the communication unit 205 and the terminal device 112. For example, when the recognition unit 221 detects a change or abnormality in the state of the terminal device 112 or the input device 113, the recognition unit 221 transmits information indicating the detected content to the terminal device 112 via the communication unit 205, or transmits the information to the controller device 113 via the communication unit 205 and the terminal device 112.
  • the recognition unit 221 when the recognition unit 221 detects a change (e.g., starting, stopping, etc.) in the state of an application such as an XR app, or an abnormality, the recognition unit 221 transmits information indicating the detected content to the terminal device 112 via the communication unit 205, or transmits the information to the controller device 113 via the communication unit 205 and the terminal device 112.
  • a change e.g., starting, stopping, etc.
  • the recognition unit 221 transmits information indicating the detected content to the terminal device 112 via the communication unit 205, or transmits the information to the controller device 113 via the communication unit 205 and the terminal device 112.
  • the recognition unit 221 can use any method, such as image recognition or object recognition, to perform the recognition process for various recognition targets.
  • the recognition unit 221 executes recognition processing for each user. For example, the recognition unit 221 recognizes the state of each user's terminal device 112, the state of the surroundings of each user's terminal device 112, the state of each user's controller device 113, the state of each user, and the user operations of each user.
  • the results of the recognition processing for each user may be shared between users, for example, by being transmitted to each user's terminal device 112 or controller device 113.
  • the operation control unit 222 controls the operation processing by the controller device 113 based on at least one of the recognition result by the recognition unit 221 and the controller signal transmitted from the controller device 113.
  • the operation control unit 222 controls the operation processing by the controller device 113 based on the position and orientation of the controller device 113 and at least one of the controller signals. For example, the operation control unit 222 controls the enabling or disabling of each operation member provided in the controller device 113, the functions assigned to each operation member, the operation method of the functions assigned to each operation member, etc., based on the method of wearing, holding, using, etc., of the controller device 113.
  • the operation control unit 222 supplies information regarding the control of operation processing by the controller device 113 to each part of the information processing device 111.
  • the spatial control unit 223 controls the presentation of a two-dimensional or three-dimensional space by the display unit 203, and the presentation of an XR space by the terminal device 112, based on at least a portion of the recognition results by the recognition unit 221.
  • the spatial control unit 223 generates a display object to be displayed in a two-dimensional or three-dimensional space based on at least a part of the recognition result by the recognition unit 221, and performs various calculations required for constructing and displaying the two-dimensional or three-dimensional space, such as the behavior of the display object.
  • the spatial control unit 223 generates display control information for controlling the display of the two-dimensional or three-dimensional space based on the calculation results, and supplies this information to the display unit 203, thereby controlling the display of the two-dimensional or three-dimensional space by the display unit 203.
  • the display control information may include, for example, information for using the two-dimensional or three-dimensional space (e.g., operation menu, guidance, messages, etc.) and information for notifying the status of the information processing device 111 (e.g., setting information, remaining battery power, error display, etc.).
  • information for using the two-dimensional or three-dimensional space e.g., operation menu, guidance, messages, etc.
  • information for notifying the status of the information processing device 111 e.g., setting information, remaining battery power, error display, etc.
  • the space control unit 223 generates a virtual object to be displayed in the XR space based on at least a part of the recognition result by the recognition unit 221, and performs various calculations required for constructing and displaying the XR space, such as the behavior of the virtual object.
  • the recognition result by the recognition unit 221 includes, for example, the operation content for the controller device 113a recognized by the recognition unit 221 based on a controller signal including an operation input signal from the controller device 113a.
  • the space control unit 223 generates display control information for controlling the display of the XR space based on the calculation result, and transmits it to the terminal device 112 via the communication unit 205, thereby controlling the display of the XR space by the terminal device 112.
  • the display control information may include, for example, information for using the XR space (for example, an operation menu, guidance, messages, etc.) and information for notifying the status of the XR system 101 (for example, setting information, remaining battery power, error display, etc.).
  • the spatial control unit 223 supplies information regarding two-dimensional space, three-dimensional space, and XR space to each part of the information processing device 111.
  • the audio control unit 224 controls the output of audio by the terminal device 112 based on at least one of the recognition results by the recognition unit 221 and information from the spatial control unit 223. For example, the spatial control unit 223 generates audio control information for outputting audio in the terminal device 112.
  • the audio control information includes, for example, information regarding at least one of the type, content, frequency, amplitude, and waveform of the sound to be output.
  • the audio control unit 224 controls the output of audio by the terminal device 112 by transmitting the audio control information to the terminal device 112 via the communication unit 205.
  • the tactile presentation control unit 225 controls the presentation of tactile stimuli to the user based on at least one of the recognition results by the recognition unit 221 and information from the spatial control unit 223. For example, the tactile presentation control unit 225 generates tactile control information for presenting tactile stimuli in the controller device 113.
  • the tactile control information includes, for example, information regarding at least one of the type, pattern, strength, and length of the tactile sensation to be presented.
  • the tactile presentation control unit 225 controls the presentation of tactile stimuli by the controller device 113 by transmitting the tactile control information to the controller device 113 via the communication unit 205 and the terminal device 112.
  • the learning unit 226 executes learning processing related to the processing of the XR system 101 based on at least one of the recognition results by the recognition unit 221 and learning data provided from the outside. For example, the learning unit 226 learns the preferences and behavioral patterns of the user, and adjusts various processes and parameters of the XR system 101 so as to appropriately respond to the preferences and behavioral patterns of the user based on the learning results. For example, the learning unit 226 learns the differences between the XR space and the real space, and adjusts the design data, etc., so as to bring the characteristics and behavior of virtual objects in the XR space closer to those of real objects based on the learning results.
  • the learning unit 226 stores, for example, information indicating the learning results (e.g., a learning model, etc.) in the memory unit 204.
  • the control unit 202 may execute other applications in addition to the XR app.
  • the memory unit 204 includes, for example, a ROM (Read Only Memory) that stores programs and calculation parameters used in the processing of the control unit 202, and a RAM (Random Access Memory) that temporarily stores parameters that change as appropriate.
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the communication unit 205 communicates with an external device and transmits and receives data.
  • the communication unit 205 communicates with the terminal device 112 and transmits and receives data.
  • the communication unit 205 transmits display control information, audio control information, and haptic control information to the terminal device 112.
  • the communication unit 205 receives sensing data and a controller signal from the terminal device 112.
  • the communication method of the communication unit 205 may be either wired or wireless, for example, a wired LAN, a wireless LAN, Wi-Fi, Bluetooth, etc. Also, the communication unit 205 may be compatible with two or more types of communication methods.
  • the terminal device 112 includes an operation input unit 251, a sensing unit 252, a control unit 253, a display unit 254, an audio output unit 255, and a learning unit 226.
  • the operation input unit 251 includes an operation input device such as a button.
  • the operation input unit 201 accepts operation input from the user and supplies an operation input signal indicating the content of the user's operation input to the control unit 253.
  • the operation input unit 251 accepts operation input by the user such as turning on or off the power of the terminal device 112 and adjusting the brightness of the display unit 254.
  • the sensing unit 252 includes various sensors for sensing the terminal device 112, the surroundings of the terminal device 112, and the state of the user.
  • the sensing unit 252 includes a camera or a depth sensor for capturing images of the surroundings of the terminal device 112.
  • the sensing unit 252 includes a camera or a depth sensor for capturing images of both eyes of the user.
  • the sensing unit 252 includes an IMU (Inertial Measurement Unit) for detecting the acceleration and angular velocity of the terminal device 112.
  • the sensing unit 252 includes a GNSS (Global Navigation Satellite System) receiver for detecting the current position of the terminal device 112 (user).
  • the sensing unit 252 supplies sensing data indicating the detection results of at least one of the sensors to the control unit 253.
  • the control unit 253 includes electronic circuits such as a CPU and a microprocessor.
  • the control unit 253 may also include a ROM for storing programs to be used, calculation parameters, etc., and a RAM for temporarily storing parameters that change as needed.
  • control unit 253 functions as an arithmetic processing device and a control device, and controls the overall operation of the terminal device 112 and executes various processes based on operation input signals from the operation input unit 251, sensing data from the sensing unit 252, display control information and audio control information from the information processing device 111, and controller signals from the controller device 113 in accordance with various programs.
  • the control unit 253 controls the display of an XR space, etc. by the display unit 254 based on the display control information.
  • the control unit 253 controls the output of audio by the audio output unit 255 based on the audio control information.
  • the display unit 254 includes various display devices.
  • the display unit 254 includes displays fixed to the left and right eyes of the user, respectively, and displays an image for the left eye and an image for the right eye.
  • the displays are, for example, display panels such as a liquid crystal display or an organic EL (Electro Luminescence) display, or laser scanning displays such as a retinal direct imaging display.
  • the display unit 254 may also include an imaging optical system that, for example, enlarges and projects the display screen to form an enlarged virtual image having a predetermined angle of view on the user's pupil.
  • the display unit 254 displays an XR space including virtual objects under the control of the control unit 253.
  • the audio output unit 255 includes an audio output device such as headphones, earphones, or a speaker.
  • the audio output unit 255 outputs audio under the control of the control unit 253.
  • the communication unit 256 communicates with external devices and transmits and receives data.
  • the communication unit 256 communicates with the terminal device 112 and the controller device 113 and transmits and receives data.
  • the communication unit 256 transmits sensing data and a controller signal to the information processing device 111.
  • the communication unit 256 receives display control information, audio control information, and haptic control information from the information processing device 111.
  • the communication unit 256 transmits haptic control information to the controller device 113.
  • the communication unit 256 receives a controller signal from the controller device 113.
  • the communication method of the communication unit 256 may be either wired or wireless, for example, a wired LAN, a wireless LAN, Wi-Fi, Bluetooth, etc.
  • the communication unit 256 may also be compatible with two or more types of communication methods.
  • the communication unit 256 may communicate between the information processing device 111 and the controller device 113 using different communication methods.
  • the following is an example of processing by the information processing device 111 using an XR app.
  • the communication unit 205 receives input information indicating at least one of the state of the terminal device 112, the state of the surroundings of the terminal device 112, the state of the user, the user's behavior, and the operation input to the input device 113 from the terminal device 112 or from the controller device 113 via the terminal device 112, and supplies the information to the control unit 221.
  • the control unit 221 executes an XR app based on this input information, generates output information that controls the display of a virtual object including CAD information related to CAD in the XR space, and outputs the output information to the terminal device 112.
  • the communication unit 205 transmits this output information to the terminal device 112.
  • control unit 221 executes the XR app and outputs output information indicating a change or abnormality in the state of the XR app to the terminal device 112 or the controller device 113.
  • the communication unit 205 transmits this output information to the terminal device 122, or to the controller device 113 via the terminal device 112.
  • the terminal device 112 notifies the user of a change or abnormality in the state of the XR app by using an image, a message, a sound, a vibration, or the like based on the output information.
  • the controller device 113 notifies the user of a change or abnormality in the state of the XR app by using a vibration, or the like based on the output information.
  • the description of the communication unit 205 may be omitted.
  • the spatial control unit 223 of the information processing device 111 communicates with the terminal device 112 via the communication unit 205, it may simply be described as the spatial control unit 223 of the information processing device 111 communicating with the terminal device 112.
  • the description of the communication unit 256 may be omitted.
  • the control unit 253 of the terminal device 112 communicates with the information processing device 111 via the communication unit 256, it may be simply described that the control unit 253 of the terminal device 112 communicates with the information processing device 111.
  • the spatial control unit 223 of the information processing device 111 generates display control information and transmits it to the terminal device 112 via the communication unit 205, and the control unit 253 of the terminal device 112 receives the display control information via the communication unit 256 and controls the display unit 254 based on the display control information.
  • the description of this series of processes will be simplified, and for example, it may be described as the spatial control unit 223 of the information processing device 111 controlling the display unit 254 of the terminal device 112.
  • the audio control unit 224 of the information processing device 111 generates audio control information and transmits it to the terminal device 112 via the communication unit 205, and the control unit 253 of the terminal device 112 receives the audio control information via the communication unit 256 and controls the audio output unit 255 based on the audio control information.
  • the description of this series of processes will be simplified, and for example, it may be described as "the audio control unit 224 of the information processing device 111 controls the audio output unit 255 of the terminal device 112.”
  • the haptic presentation control unit 225 of the information processing device 111 generates haptic control information and transmits it to the controller device 113 via the communication unit 205 and the terminal device 112, and the controller device 113 presents a haptic stimulus based on the haptic control information.
  • the description of this series of processes will be simplified, and for example, it may be described as the haptic presentation control unit 225 of the information processing device 111 controlling the controller device 113 via the terminal device 112.
  • FIG. 5 shows an example of the external configuration of the controller device 113a.
  • FIG. 5A is a left side view of the controller device 113a.
  • FIG. 5B is a front view of the controller device 113a.
  • FIG. 5C is a bottom view of the controller device 113a.
  • FIG. 5D is a perspective view of the controller device 113a seen diagonally from the front right.
  • the upward direction of A in Fig. 5 is the upward direction of the controller device 113a
  • the downward direction of A in Fig. 5 is the downward direction of the controller device 113a
  • the rightward direction of A in Fig. 5 is the forward direction of the controller device 113a
  • the leftward direction of A in Fig. 5 is the backward direction of the controller device 113a.
  • the controller device 113a has a symmetrical shape when viewed from the front, back, left, right, top, or bottom.
  • the shape of the front of the controller device 113a when viewed from the front is the same as the shape of the back when viewed from the back
  • the shape of the right side when viewed from the right is the same as the shape of the left side when viewed from the left.
  • the controller device 113a is broadly divided into three parts: a ring unit 301, an operation unit 302a, and a holding unit 302b.
  • ring portion 301 extends upward from near the center of gravity of left side surface 314b.
  • operation portion 302a and holding portion 302b have shapes that are symmetrical with respect to ring portion 301.
  • Operation portion 302a extends forward and diagonally downward from near the center of gravity of left side surface 314b (near the bottom end of ring portion 301).
  • Holding portion 302b extends backward and diagonally downward from near the center of gravity of left side surface 314b (near the bottom end of ring portion 301) symmetrically with operation portion 302a.
  • an isosceles triangle is formed with the tip of ring portion 301 as the apex.
  • the angle between the ring portion 301 and the operating portion 302a, the angle between the ring portion 301 and the holding portion 302b, and the angle between the operating portion 302a and the holding portion 302b are each approximately 120 degrees, and the above-mentioned isosceles triangle becomes a substantially equilateral triangle.
  • the tip of the side of ring portion 301 extends in a straight line and widens in a curved shape at its base.
  • the tip of the side of operating portion 302a extends in a straight line and widens in a curved shape at its base.
  • the tip of the side of holding portion 302b extends in a straight line and widens in a curved shape at its base.
  • the boundary between ring portion 301 and operating portion 302a, the boundary between ring portion 301 and holding portion 302b, and the boundary between operating portion 302a and holding portion 302b are all curved.
  • the ring portion 301 has a hole 301A formed therethrough in the front-to-rear direction.
  • the outer periphery of the ring portion 301 gradually widens toward the tip, which is curved.
  • the hole 301A gradually widens toward the tip, and the tip and end are curved.
  • the operating portion 302a gradually becomes thinner toward the tip, which is curved.
  • the upper surface 312a of the operating portion 302a is inclined diagonally downward and forward.
  • a shallow groove that curves laterally and extends in the front-to-rear direction is formed in the upper surface 312a of the operating portion 302a.
  • the tip of the upper surface 312a of the operating portion 302a is slightly recessed relative to the tip of the operating portion 302a.
  • the upper surface 312a of the operating portion 302a has a shape that makes it easy to place the inserted finger when the user inserts the finger into the hole 301A of the ring portion 301 from back to front.
  • the holding portion 302b has the same shape as the operating portion 302a, and is formed with an upper surface 312b (not shown) that has the same shape as the upper surface 312a.
  • the lower surface of the operating portion 302a and the lower surface of the holding portion 302b form a bottom surface 313 that curves in the front-rear direction.
  • a shallow groove that curves laterally and extends in the front-rear direction is formed in the bottom surface 313.
  • the inner circumferential surface 311, the top surface 312a, the top surface 312b, and the bottom surface 313 of the controller device 113a are made of a rubber-like material such as silicone or elastomer.
  • the other parts of the controller device 113a are made of, for example, an IR-transmitting resin.
  • Figures 6 to 8 show examples of how to hold the controller device 113a.
  • the index finger of the right hand is inserted from back to front into ring portion 301, and the tip of the index finger is placed near the tip of top surface 312a of operating portion 302a, allowing operation of operating portion 302a with the index finger.
  • the size of hole 301A in ring portion 301 is large enough for the thickness of the index finger, so that the index finger can be inserted easily.
  • the tip of the thumb of the right hand is lightly placed near the tip of the side of operating portion 302a, and holding portion 302b is lightly grasped and held by the palm of the right hand.
  • the tip of the operation unit 302a when the tip of the operation unit 302a is pressed downward with the index finger as shown by the arrow in A of FIG. 6, the tip of the holding unit 302b comes into contact with the palm of the hand as shown in B of FIG. 6, preventing the controller device 113a from rotating in the pressing direction.
  • the controller device 113a has the same shape when viewed from the front and from the back, and also when viewed from the right and from the left. Therefore, the user can hold the controller device 113a without worrying about the front or back. That is, the user can hold the controller device 113a with the operation unit 302a facing the fingertips and the right side surface 314a facing the thumb, as shown in FIG. 7A. The user can also hold the controller device 113b with the holding unit 302b facing the fingertips and the left side surface 314b facing the thumb, as shown in FIG. 7B.
  • holding the controller device 113a so that the operation portion 302a faces the fingertips as shown in FIG. 7A will be referred to as holding the controller device 113a forward.
  • holding the controller device 113a so that the holding portion 302b faces the fingertips as shown in FIG. 7B will be referred to as holding the controller device 113a backwards.
  • the holding unit 302b functions as an operation unit that can be operated by the index finger of the right hand
  • the operation unit 302a functions as a holding unit that is held by the palm of the right hand.
  • the ring portion 301 catches on the index finger, and the controller device 113a does not fall. This prevents the user from accidentally dropping the controller device 113a, even without providing a strap or the like.
  • Figure 9 shows an example of the arrangement of the operating members of the controller device 113a.
  • Figure 9A is an oblique view of the controller device 113a seen from diagonally above and to the right.
  • Figure 9B is an oblique view of the controller device 113a seen from diagonally above and to the left.
  • Figure 9C is an oblique view of the controller device 113a seen from diagonally below and to the rear.
  • Each operating member is arranged symmetrically around the ring portion 301 in the front-rear and left-right directions of the controller device 113a.
  • the operating member 331 is disposed at the lower end of the inner circumferential surface 311 (hole 301A) of the ring portion 301.
  • the user bends his/her index finger and operates the operating member 331 with the tip of the index finger.
  • Operation member 332a is disposed near the tip of upper surface 312a of operation unit 302a.
  • Operation member 332b is disposed near the tip of upper surface 312b of holding unit 302b.
  • the user operates operation member 332a or operation member 332b with the tip of the index finger.
  • Operating members 333a and 333b are disposed near the front and rear ends of bottom surface 313, respectively.
  • the user operates operating member 333a or operating member 333b with the tip of the ring finger or little finger.
  • the operating member 334 is located in the center of the bottom surface 313 in the front-to-rear direction. For example, the user operates the operating member 334 with the tip of the thumb, ring finger, or little finger.
  • Operating members 331, 332a, 332b, 333a, 333b, and 334 may be any type of operating member, such as a button, a touchpad, or a joystick. However, the same type of operating member is used for operating members 332a and 332b, which are positioned symmetrically around ring portion 301. Similarly, the same type of operating member is used for operating members 333a and 333b, which are positioned symmetrically around ring portion 301.
  • any function can be assigned to operating member 331, operating member 332a, operating member 332b, operating member 333a, operating member 333b, and operating member 334.
  • the same function is assigned to operating member 332a and operating member 332b, which are positioned symmetrically around ring portion 301.
  • the same function is assigned to operating member 333a and operating member 333b, which are positioned symmetrically around ring portion 301.
  • the operation member 331 is assigned a function to call up a main menu screen.
  • the operation members 332a and 332b are assigned a function to select a virtual object.
  • the operation members 333a and 333b are assigned a function other than the selection function of the operation members 332a and 332b.
  • the operation member 334 is assigned a function to call up a sub-menu screen.
  • different functions may be assigned to the operating members 332a and 332b, and the functions of the two may be switched depending on the direction in which the controller device 113a is held.
  • different functions may be assigned to the operating members 333a and 333b, and the functions of the two may be switched depending on the direction in which the controller device 113a is held.
  • index finger is inserted into the ring portion 301, but it is also possible to insert the middle finger or ring finger, for example.
  • the operating member 332 when there is no need to distinguish between the operating members 332a and 332b, they will simply be referred to as the operating member 332.
  • the operating member 333 when there is no need to distinguish between the operating members 333a and 333b, they will simply be referred to as the operating member 333.
  • a marker such as an IR light-emitting element may be provided on the controller device 113a.
  • the recognition unit 221 of the information processing device 111 may detect the marker on the controller device 113a based on an image or the like sensed by the sensing unit 252 of the terminal device 112, and recognize the relative position and attitude between the terminal device 112 and the controller device 113 based on the position of the detected marker.
  • FIG. 10 shows an example of the arrangement of markers 351 on the controller device 113a. Each marker 351 is indicated by a black circle.
  • the markers 351 are arranged vertically on the right side 314a and left side 314b so as to surround the outer circumference of the ring portion 301.
  • the markers 351 are arranged near the tips of both sides of the operating portion 302a and near the tips of both sides of the holding portion 302b.
  • the markers 351 are arranged near the front end and rear end of the bottom surface 313.
  • the terminal device 112 is equipped with multiple cameras 401.
  • Each camera 401 constitutes the sensing unit 252 (FIG. 4) of the terminal device 112.
  • Each camera 401 captures an image of the controller device 113a.
  • the terminal device 112 transmits sensing data including captured image data obtained by capturing images to the information processing device 111.
  • control unit 202 of the information processing device 111 receives the sensing data.
  • the recognition unit 221 of the control unit 202 recognizes the position and orientation of the controller device 113a relative to the terminal device 112 based on the light emission pattern of the marker 351 of the controller device 113a.
  • the markers 351 may be arranged in two rows in the horizontal direction so as to surround the outer periphery of the ring portion 301.
  • the markers 351 may be arranged in three rows in the horizontal direction so as to surround the outer periphery of the ring portion 301.
  • the controller device 113a can be made smaller.
  • the controller device 113a includes a haptic device 371, a haptic device 372a, a haptic device 372b, a circuit board 373, and a battery 374.
  • Haptic device 371, haptic device 372a, and haptic device 372b are composed of devices that present (transmit) tactile stimuli such as vibrations of, for example, an LRA (Linear Resonant Actuator), an ERM (Eccentric Rotating Mass), or a piezoelectric element.
  • LRA Linear Resonant Actuator
  • ERM Eccentric Rotating Mass
  • the tactile device 371 is disposed near the bottom end of the inner surface 311 of the ring portion 301 (near the operating member 331 ( Figure 9)) and presents a tactile stimulus near the bottom end of the inner surface 311.
  • the tactile device 372a is disposed near the tip of the operating unit 302a (near the operating member 332a ( Figure 9)) and transmits tactile stimulation to the tip of the operating unit 302a.
  • the tactile device 372b is disposed near the tip of the holding portion 302b (near the operating member 332b ( Figure 9)) and transmits tactile stimulation to the tip of the holding portion 302b.
  • the board 373 is a board for controlling the controller device 113a, and is located approximately in the center of the controller device 113a, below the haptic device 371.
  • the battery 374 is disposed below the circuit board 373 within the controller device 113a and supplies power to each part of the controller device 113a.
  • the haptic device 371 presents a tactile stimulus near the proximal part of the thumb.
  • the haptic device 372a presents a tactile stimulus near the tip of the thumb and the tip of the index finger.
  • the haptic device 372b presents a tactile stimulus near the base of the thumb and the palm.
  • haptic device 371, haptic device 372a, and haptic device 372b are arranged symmetrically around ring portion 301 in the front-to-rear direction of controller device 113a. Therefore, regardless of whether the user holds controller device 113a in the front-to-rear direction, the same tactile stimulation is presented to the user's hand.
  • This process is executed, for example, when the user picks up or switches to the controller device 113a.
  • step S1 the information processing device 111 performs hand recognition by hand tracking.
  • control unit 253 of the terminal device 112 transmits sensing data including captured image data representing images captured by each camera 401 to the information processing device 111.
  • the control unit 202 of the information processing device 111 receives the sensing data.
  • the recognition unit 221 of the control unit 202 executes hand recognition by hand tracking based on the captured image data included in the sensing data.
  • the recognition unit 221 tracks the hand of the user holding the controller device 113a based on the marker 351 provided on the controller device 113a.
  • step S2 the recognition unit 221 determines whether or not the hand holding the controller device 113a has been recognized based on the result of the processing in step S1. If it is determined that the hand holding the controller device 113a has not been recognized, the processing returns to step S1.
  • step S2 the processes of steps S1 and S2 are repeatedly executed until it is determined that the hand holding the controller device 113a has been recognized.
  • step S2 if it is determined in step S2 that a hand holding the controller device 113a has been recognized, the process proceeds to step S3.
  • step S3 the recognition unit 221 recognizes the light emission pattern of the controller device 113a based on the captured image data. That is, the recognition unit 221 recognizes the light emission pattern of the marker 351 that is not hidden by the user's hand in the controller device 113a.
  • step S4 the recognition unit 221 determines whether or not the holding direction of the controller device 113a has been recognized. Specifically, the recognition unit 221 attempts to recognize the holding direction of the controller device 113a based on the recognition result of the hand with which the user is holding the controller device 113a and the recognition result of the light emission pattern of the controller device 113a. Then, if it is determined that the holding direction of the controller device 113a has not been recognized, the process returns to step S3.
  • step S4 the processes of steps S3 and S4 are repeatedly executed until it is determined that the holding direction of the controller device 113a has been recognized.
  • step S4 determines whether the holding direction of the controller device 113a has been recognized. If it is determined in step S4 that the holding direction of the controller device 113a has been recognized, the process proceeds to step S5.
  • step S5 the operation control unit 222 disables the operation member on the palm side. For example, as shown in FIG. 16, when the controller device 113a is held facing forward, the operation member 332b on the palm side is disabled. After that, for example, the recognition unit 221 and the operation control unit 222 ignore the operation input signal of the operation member 332b.
  • the hand holding the controller device 113a and the holding direction are recognized, and the operability of the controller device 113a does not change regardless of the holding direction of the controller device 113a.
  • a user can hold and use the controller device 113a with their dominant hand, regardless of their dominant hand, without any special settings on the terminal device 112.
  • the user can also wear and use another controller device 113b, such as a ring-type device, on the non-dominant hand.
  • another controller device 113b such as a ring-type device
  • the user can use the controller device 113a by wearing it on both hands.
  • This process begins, for example, when the information processing device 111 is powered on and ends when it is powered off.
  • step S51 the information processing device 111 recognizes the state of the terminal device 112 and the surrounding area, etc.
  • the sensing unit 252 of the terminal device 112 senses the state of the terminal device 112 and the state of the surroundings of the terminal device 112, and supplies sensing data indicating the sensing results to the control unit 253.
  • the control unit 253 transmits the sensing data to the information processing device 111.
  • control unit 202 of the information processing device 111 receives the sensing data.
  • the controller device 113a transmits a controller signal including an operation input signal indicating the operation content for each operating member to the information processing device 111 via the terminal device 112.
  • control unit 202 of the information processing device 111 receives the controller signal.
  • the recognition unit 221 of the control unit 202 recognizes the state of the terminal device 112, the state of the surroundings of the terminal device 112, the state of the controller device 113, the state of the user, and user operations, etc., based on the sensing data and the controller signal. For example, the recognition unit 221 recognizes the position and attitude of the terminal device 112. For example, the recognition unit 221 recognizes the direction of the user's line of sight. For example, the recognition unit 221 recognizes the position and attitude of the controller device 113a relative to the terminal device 112. For example, the recognition unit 221 recognizes the content of operations performed on the controller device 113a.
  • the spatial control unit 223 of the information processing device 111 controls the XR space. Specifically, the spatial control unit 223 generates virtual objects to be displayed in the XR space based on at least a part of the recognition results by the recognition unit 221, and performs various calculations required for constructing and displaying the XR space, such as the behavior of the virtual objects. The spatial control unit 223 generates display control information for controlling the display of the XR space based on the calculation results, and transmits this to the terminal device 112 via the communication unit 205, thereby controlling the display of the XR space by the terminal device 112.
  • the recognition unit 221 recognizes the type, position, orientation, etc. of virtual objects around the terminal device 112 (user) based on information from the spatial control unit 223, etc.
  • step S53 the haptic feedback control unit 225 determines whether or not it is time to present haptic feedback based on at least one of the recognition result by the recognition unit 221 and the information from the spatial control unit 223. If it is determined that it is not time to present haptic feedback, the process returns to step S51.
  • steps S51 to S53 are repeatedly executed until it is determined in step S53 that it is time to present haptic feedback.
  • step S53 if it is determined in step S53 that it is time to present haptic feedback, processing proceeds to step S54.
  • step S54 the information processing device 111 controls the presentation of haptic feedback. Specifically, the haptic presentation control unit 225 generates haptic control information for causing the controller device 113a to present a haptic stimulus. The haptic presentation control unit 225 transmits a haptic control signal to the controller device 113a via the terminal device 112.
  • the controller device 113a receives the haptic control information.
  • Each haptic device of the controller device 113a presents a haptic stimulus based on the haptic control information.
  • the controller device 113a appropriately presents tactile stimulation to the user.
  • the operating member 332a (FIG. 9) near the tip of the operating unit 302a of the controller device 113a is configured as a touch pad and the operating member 332a is slid back and forth with the tip of the index finger as shown in FIG. 21A, a tactile stimulus is presented to the tip of the index finger by the tactile device 372a (FIG. 13) arranged near the operating member 332a.
  • a tactile stimulus is presented to the tip of the index finger by the haptic device 372a (FIG. 13).
  • the impact of the collision is expressed using each haptic device of the controller device 113a.
  • a in FIG. 22 shows an example where the tip of operation unit 302a of controller device 113a collides with virtual object 441 in XR space from above.
  • an upward vibration is presented by haptic device 372a (FIG. 13) near the tip of operation unit 302a
  • haptic device 372b FIG. 13
  • B in FIG. 22 shows an example where the tip of operation unit 302a of controller device 113a collides with virtual object 441 in XR space from below.
  • a downward vibration is presented by haptic device 372a (FIG. 13) near the tip of operation unit 302a
  • an upward vibration is presented by haptic device 372b (FIG. 13) near the tip of holding unit 302b.
  • FIG. 23 shows an example where the tip of the operation unit 302a of the controller device 113a collides head-on with a virtual object 441 in the XR space.
  • the haptic device 371 FIG. 13
  • the haptic device 371 near the center of the controller device 113a is vibrated to vibrate the entire controller device 113a. This makes it possible for the user to feel the reaction force from the virtual object 441 to the controller device 113a.
  • a design process for example, virtual objects are used to consider the placement of each object (e.g., line, workers, products, parts, tools, jigs, etc.).
  • the confirmation process for example, each virtual object is placed as designed, and the operability of product assembly, maintenance, etc. on the line is confirmed.
  • the behavior required of the virtual object in the XR space differs between the design process and the confirmation process.
  • a tool such as a screwdriver 1001 is suspended by a wire 1002, limiting the range of movement.
  • a screw 1003 is attracted to the tip of the screwdriver 1001 by magnetic force. Therefore, in the confirmation process, it is desirable to reproduce as many physical phenomena of the real world as possible so that operability as close to the real world as possible can be reproduced and confirmed.
  • the XR system 101 controls the physical laws applied to each virtual object in the XR space so that the virtual object behaves as desired by the user.
  • the physical laws applied to virtual objects are not all of the physical laws of the real world, but are limited to the range of physical laws that can be simulated in XR space, such as gravity, magnetic force, elasticity, friction, and interference between virtual objects.
  • This process begins, for example, when line design work using the XR system 101 is started, and ends when the line design work is completed.
  • step S101 the XR system 101 sets the conditions for applying physical laws to the virtual object.
  • the user may use the operation input unit 201 of the information processing device 111 to perform operations for setting conditions for applying physical laws to virtual objects in the XR space, or input information indicating the conditions for applying physical laws.
  • the spatial control unit 223 of the information processing device 111 sets the conditions for applying physical laws to virtual objects in the XR space based on the setting operations performed by the user and the information input by the user.
  • the space control unit 223 may acquire information used to set the conditions for applying physical laws to virtual objects in the XR space from an external source such as a server by downloading the information.
  • the spatial control unit 223 sets the conditions for switching behavior modes in the XR space.
  • the behavior mode is a mode used to control the behavior of a virtual object in the XR space.
  • the behavior mode includes two modes: a physics OFF mode and a physics ON mode.
  • Physics OFF mode is a mode in which the laws of physics are not applied to virtual objects in XR space.
  • Physics ON mode is a mode in which the laws of physics are applied to virtual objects in XR space.
  • Figure 27 shows an example comparing the functionality of the physics OFF mode and the physics ON mode.
  • virtual objects can be displayed transparently.
  • XR space it is possible to make virtual objects transparent and display what is behind them or inside them.
  • physics OFF mode the behavior of virtual objects does not have to follow the laws of physics.
  • virtual objects do not have to operate according to the laws of physics such as gravity and magnetic force.
  • the user can freely move virtual objects in XR space and freely change the position and orientation of the virtual objects.
  • physics ON mode the behavior of virtual objects follows the laws of physics.
  • virtual objects behave according to the laws of physics such as gravity and magnetic force.
  • a user can move virtual objects within the limits based on the laws of physics, and can change the position and orientation of virtual objects within the limits based on the laws of physics.
  • physics OFF mode it is possible to change the size of virtual objects.
  • the user can freely change the size of a virtual object while it is being displayed in XR space.
  • the size of a virtual object is fixed to a preset value, and the user cannot freely change the size of the virtual object in the XR space.
  • the size of a virtual object it is necessary to stop displaying the virtual object and change the setting value, etc.
  • physics ON mode physical laws do not necessarily have to be applied to all virtual objects.
  • the physics law ON mode it is not necessary that all physical laws are applied.
  • the laws of physics do not necessarily have to be applied at all times.
  • step S102 the spatial control unit 223 of the information processing device 111 sets the behavior mode to the default mode. That is, the spatial control unit 223 sets the behavior mode to the mode that is set as the default out of the physics law OFF mode and the physics law ON mode.
  • the recognition unit 221 of the information processing device 111 recognizes the state of elements related to XR.
  • the recognition unit 221 recognizes the state of the terminal device 112, the state of the surroundings of the terminal device 112, the state of the controller device 113, the state of the user, the user operation, the state of the XR space, etc., based on at least one of the operation input signal from the operation input unit 201, the sensing data transmitted from the terminal device 112, the controller signal transmitted from the controller device 113, the information from the operation control unit 222, and the information from the space control unit 223.
  • the state of the XR space includes the state of each virtual object in the XR space.
  • step S104 the spatial control unit 223 of the information processing device 111 determines whether or not the mode switching condition is met based on the recognition result of the state of the elements related to XR. If it is determined that the mode switching condition is met, the process proceeds to step S105.
  • step S105 the spatial control unit 223 of the information processing device 111 switches the behavior mode. For example, if the current behavior mode is physics law OFF mode, it is changed to physics law ON mode. For example, if the current behavior mode is physics law ON mode, it is changed to physics law OFF mode.
  • step S104 determines whether the mode switching conditions are met. If it is determined in step S104 that the mode switching conditions are not met, the process of step S105 is skipped and the process proceeds to step S106.
  • step S106 the spatial control unit 223 of the information processing device 111 controls the behavior of the virtual objects in the XR space in accordance with the applied physical laws.
  • the spatial control unit 223 controls the display unit 254 of the terminal device 112 to control the behavior of each virtual object in accordance with the physical laws applied to each virtual object in the XR space.
  • a virtual object can be moved or positioned to any position, regardless of whether or not it interferes with other virtual objects or real objects.
  • virtual products, jigs, tools e.g., screwdrivers, tweezers, hammers, etc.
  • parts e.g., screws, etc.
  • virtual products, jigs, tools, parts, etc. can be moved to any position in order to adjust their position or range of motion.
  • the virtual sticker and virtual tweezers can be moved to any position.
  • a virtual screw is not attracted to a virtual driver.
  • a virtual object moves within a range that does not interfere with other virtual objects or real objects.
  • a virtual driver moves only within a range that corresponds to the virtual spring it is suspended from.
  • the positions of the virtual product and the jig are fixed.
  • a virtual screw is attracted to a virtual screwdriver by magnetic force.
  • a virtual screw can only be inserted in the correct orientation into a virtual assembly object.
  • the adhesive strength makes it difficult to fine-tune the position.
  • the spatial control unit 223 controls the behavior of the virtual object based on, for example, the results of recognizing the state of the XR space (the state of the virtual space and the real area). For example, when applying gravity to a virtual object, the spatial control unit 223 recognizes the position and range of the floor based on the state of the XR space, and controls the behavior of the virtual object so that it falls onto the floor based on the recognition result.
  • the behavior mode is switched based on at least one of the state of the XR space and the state of the user using the XR space.
  • the state of the XR space includes, for example, at least one of the state and attributes of a virtual object in the XR space.
  • the state of the virtual object includes, for example, at least one of the operation method for the virtual object and the position of the virtual object in the XR space.
  • the operation method for the virtual object includes, for example, at least one of the type, attribute, and usage method (e.g., how to hold) of a real or virtual tool used to operate the virtual object.
  • the behavior mode may be switched based on the tool used to operate the virtual object.
  • the behavior mode may be switched based on the way the controller device 113 is used, or more specifically, the way the controller device 113 is held.
  • the behavior mode may be set to the physics OFF mode.
  • a ray that is a virtual light beam may be output from the tip of the controller device 113, and a virtual object may be operated using the ray.
  • the virtual object will be manipulated using an input device that mimics a real tool such as a screwdriver or tweezers.
  • the behavior mode may be set to the physics ON mode.
  • the behavior mode may be set to the physics ON mode.
  • FIG. 31 shows an example of the arrangement of capacitive touch sensors and buttons on the controller device 113a.
  • a touch sensor is located at position P1a near the center in the front-to-rear direction on the right side of the operating unit 302a.
  • a touch sensor and a button are located at position P1b (only the reference symbol is shown) near the center in the front-to-rear direction on the left side of the operating unit 302a, opposite position P1a.
  • a touch sensor and a button are located at position P2 near the center in the front-to-rear direction on the top surface 312a of the operating unit 302a.
  • a touch sensor is located near the center in the front-to-rear direction on the right side of the holding unit 302b.
  • the recognition unit 221 of the information processing device 111 recognizes that the controller device 113a is being held as if holding tweezers, as shown in FIG. 32. In other words, it recognizes that the controller device 113a is being held with the side of the operation unit 302 pinched between the thumb and index finger of the right hand, without inserting fingers into the ring portion 301. In this case, the behavior mode is set to the physics OFF mode. Furthermore, the operation control unit 222 of the information processing device 111 assigns the decision function to the button at position P1b, and the decision function is operated by the index finger.
  • the recognition unit 221 recognizes that the controller device 113a is held in a normal manner, as shown in FIG. 33. That is, in a manner similar to that described above with reference to FIG. 6, it recognizes that the controller device 113a is held facing forward in the right hand. In this case, the behavior mode is set to the physics ON mode.
  • the operation control unit 222 also assigns the decision function to the button at position P2, and the decision function is operated with the index finger.
  • the recognition unit 221 recognizes that the controller device 113a is being held as if holding a screwdriver, as shown in FIG. 34. In other words, it recognizes that the controller device 113a is being held as if gripping the holding portion 302b with the right hand. In this case, the behavior mode is set to the physics ON mode.
  • the recognition unit 221 recognizes that the controller device 113a is not being held.
  • Figure 35 shows an example of the arrangement of capacitive touch sensors and buttons on the controller device 113c.
  • a touch sensor is disposed at position P11 near the end of the upper side (top surface) of the side of the controller device 113c.
  • a touch sensor is disposed at position P2 at the tip of the controller device 113c.
  • a touch sensor and a button are disposed at position P13 near the tip on the left side (left surface) of the side of the controller device 113c.
  • the recognition unit 221 of the information processing device 111 recognizes that the controller device 113c is being held as if holding a screwdriver. In other words, it is assumed that the controller device 113c will only be gripped close to its end when held like a screwdriver. In this case, the behavior mode is set to the physics ON mode.
  • the recognition unit 221 recognizes that the controller device 113c is being held as if holding a laser pointer. In this case, the behavior mode is set to the physics OFF mode.
  • the recognition unit 221 recognizes that the controller device 113c is being held as if holding tweezers. In this case, the behavior mode is set to the physics ON mode.
  • the behavior mode may be switched based on the attributes (e.g., shape, type, etc.) of the tool used to manipulate the virtual object.
  • attributes e.g., shape, type, etc.
  • the behavior mode may be switched based on the shape of the controller device 113. For example, if the shape of the controller device 113 becomes similar to a shape of a real tool, the behavior mode may be set to the physics ON mode. Specifically, for example, if the controller device 113 becomes shaped like tweezers, the behavior mode may be set to the physics ON mode. For example, if the controller device 113 stretches like a pointer, the behavior mode may be set to the physics OFF mode.
  • the behavior mode may be switched based on the shape of the virtual tool.
  • the physics ON mode may be set.
  • a marker may be provided on the tool and information about the marker may be registered in the information processing device 111 so that the recognition unit 221 of the information processing device 111 can recognize the presence, position, and orientation of the real tool based on the marker.
  • the behavior mode may be switched based on the state of the user.
  • CAD design may be performed using the XR system 101, the information processing device 111 may be used alone, the operation input unit 201 of the information processing device 111 and the terminal device 112 may be used, or the terminal device 112 and the controller device 113 may be used.
  • hand tracking may be utilized to switch behavior modes based on the user's gestures.
  • the physics OFF mode may be set. For example, when a virtual screw 1101 is moved with a ray 1102, the virtual screw 1101 continues to float in the air after it is released.
  • the physics ON mode may be set. For example, when a virtual screw 1101 is moved by hand, after the virtual screw 1101 is released, the virtual screw 1101 falls just like in the real world.
  • the behavior mode may be switched based on the user's actions. For example, when a user performs an action such as assembling a product on a real production line, the behavior mode may be set to the physical characteristics ON mode. Specifically, for example, when a user stands up from a chair or crouches on the floor, the behavior mode may be set to the physical characteristics ON mode.
  • the behavior mode may be switched based on whether or not the user is operating with their dominant hand. For example, when the conditions for setting the physics ON mode are met, if the user is operating with their non-dominant hand due to injury or the like, the behavior mode may be set to the physics OFF mode, taking into account the operability of the user.
  • the user may set the dominant hand in advance, or the learning unit 226 of the information processing device 111 may learn the hand that the user frequently uses and automatically recognize the dominant hand.
  • the behavior mode may be switched based on the position where the user is using the XR.
  • the behavior mode when the XR is used in a place where the user is expected to perform a design process (e.g., an office, etc.), the behavior mode may be set to the physics ON mode.
  • the behavior mode when the XR is used in a place where the user is expected to perform a confirmation process (e.g., a factory line, an aircraft hangar, etc.), the behavior mode may be set to the physics OFF mode.
  • the behavior mode may be switched based on the state of a virtual object in the XR space.
  • the behavior mode may be switched based on the position where the virtual design object is placed in the XR space.
  • the behavior mode may be set to physics ON mode.
  • the behavior mode may be set to the physics ON mode.
  • Example of switching behavior modes based on XR (VR) background For example, when a user uses VR, the behavior mode may be switched based on the VR background (virtual background).
  • the behavior mode may be set to the physics ON mode.
  • the VR background is a place where a user is expected to perform a design process (e.g., an office, etc.)
  • the behavior mode may be set to the physics OFF mode.
  • the behavior mode may be set by the user.
  • the spatial control unit 223 of the information processing device 111 may be set to the physical law ON mode at predetermined intervals. This makes it possible to prompt the user to perform the confirmation process rather than just performing the design process.
  • the spatial control unit 223 may suggest to the user to switch the behavior mode rather than automatically switching the behavior mode. For example, the spatial control unit 223 may display a window for selecting whether or not to change the behavior mode, a button for changing the behavior mode, etc. in the XR space, and suggest to the user to switch the behavior mode. For example, the spatial control unit 223 may suggest to the user to switch the behavior mode by a voice message.
  • the spatial control unit 223 may then control the switching of the behavior mode in accordance with the user's selection. For example, the spatial control unit 223 may switch the behavior mode if the user selects to switch the behavior mode, and may continue the current behavior mode if the user does not select to switch the behavior mode.
  • the spatial control unit 223 may be able to set the timing for switching the behavior mode, rather than switching the behavior mode immediately. For example, the spatial control unit 223 may be able to set the time until the behavior mode is switched (e.g., how many minutes from now) or the time at which the behavior mode is switched.
  • the spatial control unit 223 may suggest to the user to switch the behavior mode, rather than automatically switching the behavior mode, for a predetermined period of time (e.g., one month) after the behavior mode switching function is enabled. And, for example, the spatial control unit 223 may automatically switch the behavior mode when the probability of following the behavior mode suggestion is equal to or greater than a predetermined threshold value when the predetermined period has elapsed.
  • a predetermined period of time e.g., one month
  • automatic and manual switching of the behavior mode may be switched depending on conditions. For example, if a preset condition is met, the behavior mode may be automatically switched, and if the preset condition is not met, the behavior mode may not be automatically switched.
  • the application of physical laws to each virtual object is controlled based on at least one of the state of the XR space and the state of the user using the XR space.
  • Example of controlling the application of physical laws based on the attributes of virtual objects For example, the type of physical law to be applied may be controlled based on the attributes of the virtual object (for example, type, material, shape, size, friction coefficient, etc.).
  • a magnetic force may be applied, and if the virtual object is not made of metal, a magnetic force may not be applied.
  • a magnetic force may be applied, and if the virtual screw is not made of metal, a magnetic force may not be applied.
  • the application of magnetic force or gravity may be switched on or off based on the size of the virtual object. For example, if the size of the virtual screw is less than a predetermined threshold, magnetic force may be applied, and if the size of the virtual screw is equal to or greater than the predetermined threshold, magnetic force may not be applied. For example, if the size of the virtual object is equal to or greater than a predetermined threshold (e.g., one side is 1 m or longer), gravity may be applied, and if the size of the virtual object is less than the predetermined threshold, gravity may not be applied.
  • a predetermined threshold e.g., one side is 1 m or longer
  • the application of physical laws may be switched on or off based on the display size of a virtual object in the XR space. For example, if the difference in size between the display size of a virtual object and the size of the corresponding real-world object is within a predetermined range, physical laws may be applied to the virtual object. On the other hand, if the difference in size between the display size of a virtual object and the size of the corresponding real-world object exceeds a predetermined range, physical laws may not be applied to the virtual object.
  • Example of controlling application of physical laws based on operation method for virtual object For example, application of physical laws may be switched on or off based on the user's operation method for a virtual object.
  • the laws of physics may be applied to that virtual object.
  • the laws of physics may not be applied to that virtual object.
  • the application of physical laws to a virtual object may be switched on or off based on a user's gesture with respect to the virtual object. For example, when a user makes a gesture such as picking up a virtual object or a gesture such as gripping a doorknob, physical laws may be applied to the virtual object.
  • the space control unit 223 of the information processing device 111 may distinguish between a display mode of a virtual object to which physical laws are applied and a display mode of a virtual object to which physical laws are not applied in the XR space.
  • the space control unit 223 may change the transparency of a virtual object to which physical laws are applied and a virtual object to which physical laws are not applied.
  • a virtual screw 1121 to which physical laws are not applied may rotate slowly in the air.
  • the space control unit 223 may change the display mode of virtual objects to which physical laws can be applied and virtual objects to which physical laws cannot be applied in the XR space.
  • the space control unit 223 may change the transparency of virtual objects to which physical laws can be applied and virtual objects to which physical laws cannot be applied.
  • an area A1 may be displayed in the XR space in which virtual tools such as a virtual screwdriver 1122 and virtual tweezers 1123 are placed. Then, for example, when a user holds a virtual tool in area A1, physical laws according to the tool held by the user (the tool used by the user) may be applied to virtual objects in the XR space.
  • virtual tools such as a virtual screwdriver 1122 and virtual tweezers 1123 are placed.
  • the virtual screw 1121 when a user holds a virtual screwdriver 1122 and operates the device, the virtual screw 1121 is attracted toward the screwdriver 1122 by magnetic force, but when a user holds a virtual tweezers 1123 and operates the device, the virtual screw 1121 may not be attracted toward the tweezers 1123.
  • the learning unit 226 of the information processing device 111 may learn the conditions for applying physical laws to a virtual object based on the user's usage history or the like.
  • the learning unit 226 may learn the user's preferences for the physical laws to be applied to the virtual tool based on the user's usage history of the virtual tool.
  • the learning unit 226 learns that the user prefers non-magnetic drivers. Then, for example, the spatial control unit 223 prevents magnetic force from being applied to the virtual driver for that user based on the learning result. This improves operability for users who prefer non-magnetic drivers.
  • the spatial control unit 223 may apply the learning results regarding the application of physical laws to a certain virtual tool to other virtual tools. For example, if the learning unit 226 learns that gravity should not be applied to a virtual driver, the spatial control unit 223 may also not apply gravity to other tools (e.g., tweezers, etc.).
  • other tools e.g., tweezers, etc.
  • the learning unit 226 may learn the physical laws to be applied to the virtual tool on a group basis rather than on a user-by-user basis.
  • the method of classifying groups is not particularly limited.
  • groups may be classified by workplace, department, school, or class. It is also assumed that groups are formed via a network, for example.
  • the laws of physics are applied to the virtual tools used by the new user based on the learning results within the group. For example, if the group has a setting that does not apply magnetic force to virtual drivers, that setting will also be applied to the new user.
  • Example of application of physical laws when multiple users share an XR space For example, when multiple users share an XR space and operate the same virtual object, if the physical laws applied to the virtual object are different for each user, the behavior of the virtual object will be different for each user. As a result, for example, a phenomenon may occur in which different images are seen by different users in the same XR space. For example, a situation may occur in which a virtual object falls to the floor according to the physical laws for one user, but the virtual object floats in the air without following the physical laws for another user.
  • the physical laws applied to that virtual object may be common among the users. For example, when a switching condition is met for all users, the application of a physical law or the type of physical law to be applied may be changed. For example, only a specific user may be able to set the application of a physical law or the type of physical law to be applied, and other users may follow the settings of that user. For example, user priorities may be set, and users with lower priority may follow the settings of users with higher priority.
  • the operating part 302a and the holding part 302b do not necessarily have to be symmetrical about the ring part 301, and for example, the operating part 302a and the holding part 302b may have different shapes. Also, it is possible to delete the operating member 332b and the operating member 333b of the holding part 302b.
  • materials other than resin such as metal, can be used for the controller device 113a.
  • ⁇ Modifications regarding sharing of processing> For example, a part of the processing of the information processing device 111 may be executed by the terminal device 112 .
  • the terminal device 112 may execute all or part of the processing of the information processing unit 211 of the information processing device 111.
  • the terminal device 112 may present the XR space independently of the control of the information processing device 111.
  • the information processing device 111 and the terminal device 112 may independently share and execute processing such as constructing the XR space.
  • the physics-law ON mode may be classified into two or more modes, and the type of physics law applied or the type of virtual object to which the physics law is applied may be switched for each mode.
  • the spatial control unit 223 of the information processing device 111 may control the physical laws to be applied for each virtual object or for each type of virtual object.
  • the behavior mode may be switched between the design process where the product is designed and the verification process where the product's ease of assembly and maintenance is verified, in the same way as in the case of line design described above.
  • Figure 38 shows a schematic diagram of the development of a product 1201 (in this example, a chair) using 3D CAD in an XR space.
  • a virtual part 1202 to be combined with a virtual product 1201 is displayed floating in the air without being subjected to gravity. This enables the user to quickly combine the product 1201 and the part 1202, making the design work more efficient.
  • the virtual object behavior control process can be applied to applications in which, for example, in an XR space, there is a mixture of scenes that need to follow the laws of physics and scenes that do not, or there is a mixture of spaces that need to follow the laws of physics and spaces that do not.
  • the virtual object behavior control process may be used in a simulation of surgery using XR.
  • an area A11 where physical laws do not apply is provided next to user U1, who is the surgeon in the XR space.
  • a virtual surgical tool such as an electric scalpel or forceps is placed in area A11, the virtual surgical tool may float in the air or its wiring may no longer be drawn.
  • Area A11 is designed to represent a nurse preparing surgical instruments. For example, in the real world, it is assumed that a nurse preparing surgical instruments would follow instructions from user U1 and hand surgical instruments to user U1, or return surgical instruments received from user U1 to their designated positions.
  • the spatial control unit 223 of the information processing device 111 may store the order in which surgical tools are to be used according to the procedure of the surgery, and when a simulation of the surgery is performed, the virtual surgical tools may be placed in area A11 according to the stored order depending on the progress of the surgery.
  • the controller device 113a can be used not only for operations in XR space, but also for operations in two-dimensional and three-dimensional spaces such as games.
  • FIG. 40 is a block diagram showing an example of the hardware configuration of a computer that executes the above-mentioned series of processes using a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • an input/output interface 2005 Further connected to the bus 2004 is an input/output interface 2005. Connected to the input/output interface 2005 are an input unit 2006, an output unit 2007, a storage unit 2008, a communication unit 2009, and a drive 2010.
  • the input unit 2006 includes input switches, buttons, a microphone, an image sensor, etc.
  • the output unit 2007 includes a display, a speaker, etc.
  • the storage unit 2008 includes a hard disk, a non-volatile memory, etc.
  • the communication unit 2009 includes a network interface, etc.
  • the drive 2010 drives removable media 2011 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 2001 loads a program recorded in the storage unit 2008, for example, into the RAM 2003 via the input/output interface 2005 and the bus 2004, and executes the program, thereby performing the above-mentioned series of processes.
  • the program executed by computer 2000 can be provided by being recorded on removable medium 2011 such as a package medium, for example.
  • the program can also be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be installed in storage unit 2008 via input/output interface 2005 by inserting removable media 2011 into drive 2010.
  • the program can also be received by communication unit 2009 via a wired or wireless transmission medium and installed in storage unit 2008.
  • the program can be pre-installed in ROM 2002 or storage unit 2008.
  • the program executed by the computer may be a program in which processing is performed chronologically in the order described in this specification, or a program in which processing is performed in parallel or at the required timing, such as when called.
  • a system refers to a collection of multiple components (devices, modules (parts), etc.), regardless of whether all the components are in the same housing. Therefore, multiple devices housed in separate housings and connected via a network, and a single device in which multiple modules are housed in a single housing, are both systems.
  • this technology can be configured as cloud computing, in which a single function is shared and processed collaboratively by multiple devices over a network.
  • each step described in the above flowchart can be executed by a single device, or can be shared and executed by multiple devices.
  • one step includes multiple processes
  • the multiple processes included in that one step can be executed by one device, or can be shared and executed by multiple devices.
  • a recognition unit that recognizes the state of an element related to XR (cross reality); and a space control unit that controls a physical law to be applied to a virtual object in an XR space based on a state of an element related to the XR.
  • the state of the XR-related element includes at least one of a state of the XR space and a state of a user using the XR space;
  • the information processing device according to (1), wherein the spatial control unit controls a physical law to be applied to the virtual object based on at least one of a state of the XR space and a state of the user.
  • the state of the XR space includes at least one of a state and an attribute of the virtual object in the XR space and a virtual background in the XR space;
  • the state of the virtual object includes at least one of an operation method for the virtual object and a position of the virtual object in the XR space;
  • the operation method for the virtual object includes at least one of a type, an attribute, and a usage method of a tool used to operate the virtual object;
  • the tool is a real tool or a virtual tool.
  • the real tool includes a real input device; the method of using the tool includes holding the input device;
  • the input device is A ring portion into which a finger is inserted; an operation unit operable by the finger inserted in the ring portion;
  • the state of the user includes at least one of a position, an action, and a gesture of the user;
  • the information processing device according to any one of (2) to (10), wherein the spatial control unit controls a physical law to be applied to the virtual object based on at least one of a position, an action, and a gesture of the user.
  • the spatial control unit switches between a mode in which a physical law is applied to the virtual object and a mode in which a physical law is not applied to the virtual object, based on a state of an element related to the XR.
  • the information processing device wherein, when a condition for switching the mode is satisfied, the spatial control unit suggests switching of the mode to a user, and controls the switching of the mode in accordance with a selection by the user.
  • the space control unit distinguishes, in the XR space, a display mode of the virtual object to which a physical law is applied and a display mode of the virtual object to which a physical law is not applied.
  • the space control unit does not apply at least a part of physical laws to the virtual object in a predetermined area of the XR space.
  • 101 XR system 111 information processing device, 112 terminal device, 113, 113a, 113b controller device, 202 control unit, 203 display unit, 211 information processing unit, 221 recognition unit, 222 operation control unit, 223 spatial control unit, 224 audio control unit, 225 tactile presentation control unit, 226 learning unit, 252 sensing unit, 253 control unit, 254 display unit, 255 audio output unit, 301 ring unit, 301A hole, 302a operation unit, 302b holding unit, 312a, 312b top surface, 313 bottom surface, 331 to 334 operation members, 351 marker, 371 to 372b tactile device, 401 camera

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本技術は、XR(クロスリアリティ)空間での作業性を向上させるようにする情報処理装置及び情報処理方法に関する。 情報処理装置は、XRに関連する要素の状態を認識する認識部と、前記XRに関連する要素の状態に基づいて、XR空間で仮想オブジェクトに適用する物理法則を制御する空間制御部とを備える。本技術は、例えば、XRシステムに適用できる。

Description

情報処理装置及び情報処理方法
 本技術は、情報処理装置及び情報処理方法に関し、特に、XR(クロスリアリティ)空間での作業性を向上させるようにした情報処理装置及び情報処理方法に関する。
 従来、現実空間の重力方向を検出し、検出された重力方向を仮想空間に反映させる技術が提案されている(例えば、特許文献1参照)。
特開2011-197777公報
 例えば、3次元CADを用いて工場のライン設計を行う場合に、ユーザは、仮想のオブジェクトである部品の配置を検討するために、仮想の部品を仮想空間の任意の位置(例えば、空中等)に置いておきたいときがある。これに対して、特許文献1に記載の発明では、仮想空間に重力方向が反映されるため、かえってユーザの作業性が低下するおそれがある。
 本技術は、このような状況に鑑みてなされたものであり、XR空間での作業性を向上させるようにするものである。
 本技術の一側面の情報処理装置は、XRに関連する要素の状態を認識する認識部と、前記XRに関連する要素の状態に基づいて、XR空間で仮想オブジェクトに適用する物理法則を制御する空間制御部とを備える。
 本技術の一側面の動作制御方法は、情報処理装置が、XRに関連する要素の状態を認識し、前記XRに関連する要素の状態に基づいて、XR空間で仮想オブジェクトに適用する物理法則を制御する。
 本技術の一側面においては、XRに関連する要素の状態が認識され、前記XRに関連する要素の状態に基づいて、XR空間で仮想オブジェクトに適用する物理法則が制御される。
本技術を適用したXRシステムの一実施の形態を示す図である。 XRシステムの表示例を示す図である。 XRシステムの表示例を示す図である。 情報処理装置及び端末装置の構成例を示すブロック図である。 コントローラデバイスの構成例を示す外観図である。 コントローラデバイスの把持方法を示す図である。 コントローラデバイスの把持方法を示す図である。 コントローラデバイスの把持方法を示す図である。 コントローラデバイスの操作部材の配置例を示す図である。 コントローラデバイスのマーカの配置例を示す図である。 コントローラデバイスのマーカの見え方の例を示す図である。 コントローラデバイスの位置及び姿勢の認識方法を説明するための図である。 コントローラデバイスの内部構成の例を示す図である。 コントローラデバイスの触覚デバイスの配置例を示す図である。 XRシステムにより実行される操作部材制御処理を説明するためのフローチャートである。 XRシステムにより実行される操作部材制御処理を説明するための図である。 コントローラデバイスの把持方法の例を示す図である。 コントローラデバイスの把持方法の例を示す図である。 コントローラデバイスの把持方法の例を示す図である。 XRシステムにより実行される触覚フィードバック制御処理を説明するためのフローチャートである。 触覚フィードバックの例を説明するための図である。 触覚フィードバックの例を説明するための図である。 触覚フィードバックの例を説明するための図である。 現実世界のラインの現場の模式図である。 XR空間での仮想オブジェクトの挙動の例を示す図である。 XRシステムにより実行される仮想オブジェクト挙動制御処理を説明するためのフローチャートである。 物理法則OFFモードと物理法則ONモードの機能を比較する表である。 コントローラデバイスの持ち方の例を示す図である。 コントローラデバイスの持ち方の例を示す図である。 コントローラデバイスの持ち方の例を示す図である。 コントローラデバイスのタッチセンサとボタンの配置例を示す図である。 コントローラデバイスの持ち方の例を示す図である。 コントローラデバイスの持ち方の例を示す図である。 コントローラデバイスの持ち方の例を示す図である。 ペン型のコントローラデバイスのタッチセンサとボタンの配置例を示す図である。 挙動モードの切替方法の例を説明するための図である。 仮想オブジェクトの提示方法の例を示す図である。 本技術を製品設計に適用する例を説明するための図である。 本技術を手術のシミュレーションに適用する例を説明するための図である。 コンピュータの構成例を示すブロック図である。
 以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
 1.実施の形態
 2.適用例
 3.変形例
 4.その他
<<1.実施の形態>>
 図1乃至図23を参照して、本技術の実施の形態について説明する。
 <XRシステム101の構成例>
 図1は、本技術を適用した情報処理システムの一実施の形態であるXR(クロスリアリティ)システム101の構成例を示している。
 XRシステム101は、VR(仮想現実)、AR(拡張現実)、MR(複合現実)、SR(代替現実)等の現実世界と仮想世界を融合させる技術であるXRを実現するシステムである。XRシステム101は、現実空間と仮想空間とを融合した空間(以下、XR空間と称する)を、ユーザに提示するシステムである。XRシステム101は、例えば、CAD(Computer Aided Design)により作成されたモデル(以下、CADモデルと称する)等の現実にはない仮想のオブジェクト(以下、仮想オブジェクト又は仮想物体と称する)を、あたかもその場にあるかのようにユーザに提示することができる。
 XRシステム101は、情報処理装置111、端末装置112、及び、コントローラデバイス113を備える。
 情報処理装置111と端末装置112は、無線又は有線により通信可能であり、互いにデータを送受信する。端末装置112とコントローラデバイス113は、無線又は有線により通信可能であり、互いにデータを送受信する。情報処理装置111とコントローラデバイス113は、端末装置112を介して通信を行い、互いにデータを送受信する。
 情報処理装置111は、例えば、単独で、ユーザによる操作を受け付け、視覚情報及び聴覚情報等の各種の情報をユーザに提示することが可能である。
 また、情報処理装置111は、例えば、所定のアプリケーション(以下、XRアプリと称する)を実行することにより、端末装置112を制御し、端末装置112によるユーザへのXR空間の提示を制御する。例えば、情報処理装置111は、XRアプリを実行することにより、端末装置112における視覚情報及び聴覚情報等の各種の情報の出力を制御し、端末装置112により提示されるXR空間を構築する。
 図1では、情報処理装置111が、マウス及びキーボードを含む操作入力部を備えるPC(Personal Computer)により構成される例が示されている。例えば、情報処理装置111は、スマートフォン、タブレット端末等の他の情報処理装置により構成されてもよい。例えば、情報処理装置111は、複数の情報処理装置により構成されてもよい。例えば、情報処理装置111は、ネットワークを介してクラウドコンピューティングにより構築されるシステムにより構成されてもよい。
 端末装置112は、ユーザにXR空間を提示する装置である。
 図1では、端末装置112が、ユーザの頭部に装着可能な頭部装着型表示装置であって、ユーザにXR空間を提示する装置であるHMD(Head Mounted Display)により構成される例が示されている。より具体的には、端末装置112が、ユーザの視界を覆う非透過型のHMDである例が示されている。
 例えば、端末装置112は、ユーザの視点に基づいて現実空間を撮像可能な撮像機能を備え、現実空間を撮像した現実画像とコンピュータグラフィックス(CG)等の仮想空間の画像(以下、仮想画像と称する)とを合成した合成画像をユーザに提示可能なビデオシースルー型HMDにより構成される。
 例えば、端末装置112は、ユーザの左右の眼にそれぞれ対応する左右の撮像部、及び、ユーザの左右の眼にそれぞれ対応する左右の表示部を備える。
 例えば、左右の撮像部は、ステレオカメラを構成し、ユーザの左右の眼に対応する複数の視点からユーザの視線方向の画像(以下、視野画像と称する)をそれぞれ撮像する。すなわち、左右の撮像部は、ユーザの視点から見える現実空間のオブジェクト(以下、現実オブジェクト又は現実物体と称する)の画像をそれぞれ撮像する。
 左右の表示部は、左右の眼にそれぞれ異なる画像を表示することが可能であり、左右の眼に対して視差のある画像を表示することで、3次元の仮想オブジェクトを提示することが可能である。例えば、左右の表示部は、左右の撮像部により撮像された左右の視野画像をそれぞれ表示する。
 なお、端末装置112は、例えば、ARグラス、ゴーグルにセットして使用されるスマートフォン等の他のXR用の端末装置により構成されてもよい。また、例えば、端末装置112の代わりに、空間再現ディスプレイ等の表示装置が用いられてもよい。
 コントローラデバイス113は、端末装置112によりユーザに提示されるXR空間に対する操作及び入力(以下、操作入力と称する)に用いられる。例えば、ユーザは、コントローラデバイス113を用いて、端末装置112により表示される仮想オブジェクトに対して、各種の操作を行うことが可能である。
 例えば、コントローラデバイス113は、ボタン等の操作部材及びセンサのうち少なくとも1つにより、ユーザによる操作入力及びユーザの挙動(例えば、ジェスチャ)のうち少なくとも1つを検出する。コントローラデバイス113は、ユーザの操作入力を示す操作入力信号、及び、ユーザの挙動を示す挙動信号のうち少なくとも1つを含む信号(以下、コントローラ信号と称する)を、端末装置112を介して情報処理装置111に送信する。
 また、例えば、コントローラデバイス113aは、振動等の触覚刺激を提示する触覚デバイスを備え、情報処理装置111又は端末装置112の制御の下に、ユーザに触覚刺激を提示する。
 コントローラデバイス113は、例えば、コントローラ、リング型入力デバイス、ポインティングデバイス、及び、6DoF(6自由度)入力装置のうち1種類以上の入力デバイスを備える。
 コントローラは、例えば、ユーザの手に把持される入力デバイスである。コントローラは、例えば、ユーザが操作可能なボタン等の操作部材を備えてもよい。例えば、ユーザは、コントローラのボタンの押下によって、端末装置112に表示される仮想オブジェクトに対して、選択操作、決定操作、スクロール操作等を行い得る。また、コントローラは、例えば、タッチセンサ及びモーションセンサを備えてもよい。
 なお、コントローラは、ユーザの手に把持されることに限定されず、例えば、肘、腕、膝、足首、太もも等のユーザの身体の一部に装着されるものであってもよい。
 指輪型デバイスは、ユーザの指に装着される指輪型の入力デバイスである。指輪型デバイスは、例えば、ユーザが操作可能なボタン等の操作部材を備えてもよい。例えば、ユーザは、指輪型デバイスを操作することにより、XR空間内の仮想オブジェクト(例えば、3次元モデル)の位置及び姿勢を6DoF(6自由度)で変化させることができる。
 ポインティングデバイスは、XR空間内の任意の位置を指示することが可能な入力デバイスである。例えば、輝点トラッキング方式、磁器トラッキング方式、超音波トラッキング方式等のトラッキング方式により、端末装置112を介して情報処理装置111により、ポインティングデバイスの6DoFの位置及び姿勢が認識される。
 6DoF入力装置は、例えば、6DoFの操作が可能な入力デバイスである。
 ユーザは、例えば、情報処理装置111又は端末装置112に表示される様々なオブジェクト(表示オブジェクト)を見ながら、コントローラデバイス113で操作入力を行い得る。
 なお、コントローラデバイス113の種類及び数は、特に限定されない。例えば、コントローラデバイス113には、上述した種類以外の入力デバイスが用いられてもよいし、複数の種類の入力デバイスを組み合わせた入力デバイスが用いられてもよい。
 例えば、XRシステム101は、製造分野、医療分野等の様々な分野への適用が可能である。
 例えば、XRシステム101は、製造分野において、製品の設計支援や組立て支援を行うことが可能である。例えば、ユーザは、製品の設計段階において、XRシステム101を用いて、仮想オブジェクトである立体物を自由に編集したり、現実世界と比較することにより、設計結果やデザインを試作前に事前に把握したりすることが可能である。
 例えば、XRシステム101は、医療分野において、手術や教育の支援を行うことが可能である。例えば、ユーザは、XRシステム101を用いて、患者の体表面に体内の様子を表示して、事前に手術箇所を把握したり、訓練を行ったりすることができる。
 なお、例えば、複数のユーザによりXR空間が共有される場合、例えば、XRシステム101において、端末装置112及びコントローラデバイス113が、ユーザ毎に設けられる。
 <XRシステム101の表示例>
 ここで、図2及び図3を参照して、XRシステム101における表示オブジェクトの表示例について説明する。
 図2及び図3は、CADモデルを作成する場合のXRシステム101における表示オブジェクトの表示例を示している。
 例えば、図2のAに示されるように、情報処理装置111により2次元のCADモデルが表示され、ユーザは、2次元のCADモデルの編集を行うことが可能である。
 例えば、図2のBに示されるように、端末装置112により3次元のCADモデルが表示され、ユーザは、3次元のCADモデルの編集を行うことが可能である。
 例えば、図2のCに示されるように、端末装置112により設計図又は仕様書等の2次元のオブジェクトが表示され、ユーザは、設計図又は仕様書等を確認することが可能である。
 図3は、端末装置112によるXR空間の表示例を示している。
 情報処理装置111のディスプレイ151、キーボード152、及び、マウス153、並びに、机154は、現実空間を撮像した現実画像によるビデオシースルーとして表示される。一方、ディスプレイ151には、端末装置112による2次元画像がバーチャルモニタとして重畳される。バーチャルモニタには、例えば、設計対象である2次元のCADモデルが表示される。バーチャルモニタにより表示される2次元のCADモデルは、例えば、位置検出の精度の高さ、及び、位置保持の容易性から、キーボード152及びマウス153による操作が好適である。
 また、この例では、端末装置112により、設計対象である3次元のCADモデル155が、ディスプレイ151の前方に表示されている。
 CADモデル155は、例えば、ユーザの利き手(この例では、右手)に把持されているコントローラデバイス113a、及び、ユーザの非利き手(この例では、左手)の人差し指に装着されている指輪型デバイスであるコントローラデバイス113bにより操作される。
 例えば、情報処理装置111は、端末装置112が備える撮像部により撮像された画像に基づいてハンドトラッキングを実行することにより、コントローラデバイス113aを把持した手、及び、コントローラデバイス113bを装着したユーザの手の位置、姿勢、及び、挙動を認識する。また、例えば、情報処理装置111は、端末装置112を介して、コントローラデバイス113a及びコントローラデバイス113bからコントローラ信号を受信し、コントローラ信号に基づいて、コントローラデバイス113a及びコントローラデバイス113bによるCADモデル155に対する操作を認識する。
 例えば、ユーザは、コントローラデバイス113a又はコントローラデバイス113bを用いて、CADモデル155を掴んだり、離したり、6DoFで移動及び回転させたりすることができる。
 なお、例えば、コントローラデバイス113a又はコントローラデバイス113bが装着された手を、CADモデル155を摘まない状態で動かした場合に、CADモデル155が動かないようにしてもよいし、仮想点を動かすようにCADモデル155が動くようにしてもよい。
 例えば、ユーザは、コントローラデバイス113aを用いて、レイ(仮想の光線)等により、CADモデル155の任意の点、線、面等をポインティングすることができる。例えば、ユーザは、コントローラデバイス113aを用いて、CADモデル155に線を描く線描画を行うことができる。
 例えば、ユーザは、コントローラデバイス113a又はコントローラデバイス113bを用いて、CADモデル155の編集(例えば、モデリング、配線、分解等)を行うことができる。
 <情報処理装置111及び端末装置112の構成例>
 図4は、XRシステム101の情報処理装置111及び端末装置112の機能の構成例を示すブロック図である。
 情報処理装置111は、操作入力部201、制御部202、表示部203、記憶部204、及び、通信部205を備える。
 操作入力部201は、例えば、キーボード、マウス等の入力デバイスを備える。操作入力部201は、ユーザの操作入力を受け付け、ユーザの操作入力の内容を示す操作入力信号を制御部202に供給する。
 制御部202は、例えば、CPU、マイクロプロセッサ等の電子回路を備える。また、制御部202は、使用するプログラムや演算パラメータ等を記憶するROM、及び、適宜変化するパラメータ等を一時記憶するRAMを備えていてもよい。
 例えば、制御部202は、演算処理装置及び制御装置として機能し、各種プログラムに従って、情報処理装置111全般の動作を制御したり、各種の処理を実行したりする。
 例えば、制御部202は、情報処理装置111及びXR空間でのユーザ体験及び仮想オブジェクトの編集が可能なXRアプリを実行することにより、情報処理部211を実現する。情報処理部211は、認識部221、操作制御部222、空間制御部223、音声制御部224、触覚提示制御部225、及び、学習部226を備える。すなわち、認識部221、操作制御部222、空間制御部223、音声制御部224、触覚提示制御部225、及び、学習部226は、制御部202がXRアプリを実行することにより実現される。また、情報処理部211の各部、すなわち、認識部221、操作制御部222、空間制御部223、音声制御部224、触覚提示制御部225、及び、学習部226の入出力は、XRアプリを介して実行される。
 認識部221は、操作入力部201からの操作入力信号、制御部202からの情報、表示部203からの情報、通信部205の情報、端末装置112から送信されるセンシングデータ、コントローラデバイス113から送信されるコントローラ信号、操作制御部222からの情報、及び、空間制御部223からの情報のうち少なくとも1つに基づいて、情報処理装置111の状態、端末装置112の状態、端末装置112の周囲の状態、コントローラデバイス113の状態、ユーザの状態、ユーザ操作、及び、XR空間の状態等を認識する。
 認識対象となる情報処理装置111の状態は、例えば、情報処理装置111の各部の状態、XRアプリ等の各アプリケーションの状態、情報処理装置111と他の装置との間の通信状態、及び、各種の設定情報(例えば、各種の設定項目の設定値等)のうち少なくとも1つを含む。情報処理装置111の各部の状態は、例えば、各部の動作状態、異常の有無、及び、異常の内容のうち少なくとも1つを含む。各アプリケーションの状態は、例えば、各アプリケーションの起動、終了、動作状態、異常の有無、及び、異常の内容のうち少なくとも1つを含む。情報処理装置111と他の装置との間の通信状態は、例えば、端末装置112との間の通信状態、及び、端末装置112を介したコントローラデバイス113との通信状態を含む。
 認識対象となる端末装置112の状態は、例えば、端末装置112の位置、姿勢、挙動、及び、各種の設定情報(例えば、各種の設定項目の設定値等)のうち少なくとも1つを含む。なお、例えば、端末装置112がユーザに装着されている場合、端末装置112の位置、姿勢、及び、挙動は、端末装置112が装着されているユーザの部位の位置、姿勢、及び、挙動を間接的に表す。
 認識対象となる端末装置112の周囲の状態は、例えば、端末装置112(ユーザ)の周囲の現実オブジェクトの種類、位置、姿勢、挙動、大きさ、形状、外観、及び、特徴量のうち少なくとも1つを含む。
 認識対象となるコントローラデバイス113の状態は、例えば、コントローラデバイス113の位置、姿勢、挙動、及び、各種の設定情報(例えば、各種の設定項目の設定値等)のうち少なくとも1つを含む。
 認識対象となるユーザの状態は、例えば、ユーザの位置、姿勢、全体の挙動、体の部位の挙動、及び、視線方向のうち少なくとも1つを含む。
 認識対象となるユーザ操作は、例えば、操作入力部201による操作入力、コントローラデバイス113による操作入力、ユーザのジェスチャによる操作入力、及び、XR空間における仮想のツール等による操作入力のうち少なくとも1つを含む。
 認識対象となるXR空間の状態は、例えば、XR空間内の仮想オブジェクトの種類、位置、姿勢、挙動、大きさ、形状、外観、及び、特徴量のうち少なくとも1つを含む。
 認識部221は、認識結果に関する情報を情報処理装置111の各部に供給する。
 また、認識部221は、認識結果に関する情報を、通信部205を介して端末装置112に送信したり、通信部205及び端末装置112を介してコントローラデバイス113に送信したりする。例えば、認識部221は、端末装置112又は入力デバイス113の状態の変化又は異常を検知した場合に、検知した内容を示す情報を、通信部205を介して端末装置112に送信したり、通信部205及び端末装置112を介してコントローラデバイス113に送信したりする。例えば、認識部221は、XRアプリ等のアプリケーションの状態の変化(例えば、起動、停止等)又は異常を検知した場合に、検知した内容を示す情報を、通信部205を介して端末装置112に送信したり、通信部205及び端末装置112を介してコントローラデバイス113に送信したりする。
 なお、認識部221による各種の認識対象の認識処理には、例えば、画像認識、物体認識等の任意の手法を用いることが可能である。
 また、例えば、複数のユーザによりXR空間が共有される場合、例えば、認識部221は、各ユーザについて認識処理を実行する。例えば、認識部221は、各ユーザの端末装置112の状態、各ユーザの端末装置112の周囲の状態、各ユーザのコントローラデバイス113の状態、各ユーザの状態、及び、各ユーザのユーザ操作を認識する。各ユーザについての認識処理の結果は、例えば、各ユーザの端末装置112又はコントローラデバイス113に送信されることにより、ユーザ間で共有されてもよい。
 操作制御部222は、認識部221による認識結果、及び、コントローラデバイス113から送信されるコントローラ信号のうち少なくとも1つに基づいて、コントローラデバイス113による操作処理を制御する。
 例えば、操作制御部222は、コントローラデバイス113の位置及び姿勢、並びに、コントローラ信号のうち少なくとも1つに基づいて、コントローラデバイス113による操作処理を制御する。例えば、操作制御部222は、コントローラデバイス113の装着方法、把持方法、使用方法等に基づいて、コントローラデバイス113が備える各操作部材の有効化又は無効化、各操作部材に割り当てる機能、各操作部材に割り当てられた機能の操作方法等を制御する。
 操作制御部222は、コントローラデバイス113による操作処理の制御に関する情報を情報処理装置111の各部に供給する。
 空間制御部223は、認識部221による認識結果のうちの少なくとも一部に基づいて、表示部203による2次元空間又は3次元空間の提示、並びに、端末装置112によるXR空間の提示を制御する。
 例えば、空間制御部223は、認識部221による認識結果のうちの少なくとも一部に基づいて、2次元空間又は3次元空間内に表示する表示オブジェクトを生成し、表示オブジェクトの挙動等の2次元空間又は3次元空間の構築及び表示等に必要な各種の演算を行う。空間制御部223は、演算結果に基づいて、2次元空間又は3次元空間の表示を制御するための表示制御情報を生成し、表示部203に供給することにより、表示部203による2次元空間又は3次元空間の表示を制御する。なお、表示制御情報は、例えば、2次元空間又は3次元空間を使用するための情報(例えば、操作メニュー、ガイダンス、メッセージ等)や、情報処理装置111の状態を通知するための情報(例えば、設定情報、バッテリ残量、エラー表示等)を含んでいてもよい。
 例えば、空間制御部223は、認識部221による認識結果のうちの少なくとも一部に基づいて、XR空間内に表示する仮想オブジェクトを生成し、仮想オブジェクトの挙動等のXR空間の構築及び表示等に必要な各種の演算を行う。この認識部221による認識結果には、例えば、コントローラデバイス113aからの操作入力信号を含むコントローラ信号等に基づいて認識部221により認識されたコントローラデバイス113aに対する操作内容が含まれる。空間制御部223は、演算結果に基づいて、XR空間の表示を制御するための表示制御情報を生成し、通信部205を介して、端末装置112に送信することにより、端末装置112によるXR空間の表示を制御する。なお、表示制御情報は、例えば、XR空間を使用するための情報(例えば、操作メニュー、ガイダンス、メッセージ等)や、XRシステム101の状態を通知するための情報(例えば、設定情報、バッテリ残量、エラー表示等)を含んでいてもよい。
 空間制御部223は、2次元空間、3次元空間、XR空間に関する情報を情報処理装置111の各部に供給する。
 音声制御部224は、認識部221による認識結果、及び、空間制御部223からの情報のうち少なくとも1つに基づいて、端末装置112による音声の出力を制御する。例えば、空間制御部223は、端末装置112において音声を出力するための音声制御情報を生成する。音声制御情報は、例えば、出力する音の種類、内容、周波数、振幅、及び、波形のうち少なくとも1つに関する情報を含む。音声制御部224は、通信部205を介して、音声制御情報を端末装置112に送信することにより、端末装置112による音声の出力を制御する。
 触覚提示制御部225は、認識部221による認識結果、及び、空間制御部223からの情報のうち少なくとも1つに基づいて、ユーザへの触覚刺激の提示を制御する。例えば、触覚提示制御部225は、コントローラデバイス113において触覚刺激を提示するための触覚制御情報を生成する。触覚制御情報は、例えば、提示する触覚の種類、パターン、強さ、及び、長さのうち少なくとも1つに関する情報を含む。触覚提示制御部225は、通信部205及び端末装置112を介して、触覚制御情報をコントローラデバイス113に送信することにより、コントローラデバイス113による触覚刺激の提示を制御する。
 学習部226は、認識部221による認識結果、及び、外部から与えられる学習データのうち少なくとも1つに基づいて、XRシステム101の処理に関する学習処理を実行する。例えば、学習部226は、ユーザの嗜好及び行動パターン等を学習し、学習結果に基づいて、ユーザの嗜好及び行動パターン等に適切に対応できるように、XRシステム101の各種の処理やパラメータを調整する。例えば、学習部226は、XR空間と現実空間との違いを学習し、学習結果に基づいて、XR空間内の仮想オブジェクトの特性や挙動等を現実オブジェクトに近づけるように、設計用データ等を調整する。
 学習部226は、例えば、学習結果を示す情報(例えば、学習モデル等)等を記憶部204に記憶させる。
 なお、制御部202は、XRアプリだけでなく、他のアプリケーションを実行してもよい。
 記憶部204は、例えば、制御部202の処理に用いられるプログラムや演算パラメータ等を記憶するROM(Read Only Memory)、及び、適宜変化するパラメータ等を一時記憶するRAM(Random Access Memory)を備える。
 通信部205は、外部の装置と通信を行い、データの送受信を行う。例えば、通信部205は、端末装置112と通信を行い、データの送受信を行う。例えば、通信部205は、表示制御情報、音声制御情報、及び、触覚制御情報を端末装置112に送信する。例えば、通信部205は、センシングデータ、及び、コントローラ信号を端末装置112から受信する。
 通信部205の通信方式は、有線又は無線のいずれでもよく、例えば、有線LAN、無線LAN、Wi-Fi、Bluetooth等が用いられる。また、通信部205が、2種類以上の通信方式に対応してもよい。
 端末装置112は、操作入力部251、センシング部252、制御部253、表示部254、音声出力部255、及び、学習部226を備える。
 操作入力部251は、例えば、ボタン等の操作入力デバイスを備える。操作入力部201は、ユーザの操作入力を受け付け、ユーザの操作入力の内容を示す操作入力信号を制御部253に供給する。例えば、操作入力部251は、ユーザによる端末装置112の電源のオン又はオフ、及び、表示部254の明るさの調整等の操作入力を受け付ける。
 センシング部252は、端末装置112、端末装置112の周囲、及び、ユーザの状態をセンシングするための各種のセンサを備える。例えば、センシング部252は、端末装置112の周囲を撮像するためのカメラ又はデプスセンサを備える。例えば、センシング部252は、ユーザの両眼を撮像するためのカメラ又はデプスセンサを備える。例えば、センシング部252は、端末装置112の加速度及び角速度等を検出ためのIMU(Inertial Measurement Unit)を備える。例えば、センシング部252は、端末装置112(ユーザ)の現在位置を検出するためのGNSS(Global Navigation Satellite System)受信機を備える。センシング部252は、各センサのうちの少なくとも1つ以上の検出結果を示すセンシングデータを制御部253に供給する。
 制御部253は、例えば、CPU、マイクロプロセッサ等の電子回路を備える。また、制御部253は、使用するプログラムや演算パラメータ等を記憶するROM、および適宜変化するパラメータ等を一時記憶するRAMを備えていてもよい。
 例えば、制御部253は、演算処理装置及び制御装置として機能し、各種プログラムに従って、操作入力部251からの操作入力信号、センシング部252からのセンシングデータ、情報処理装置111からの表示制御情報及び音声制御情報、並びに、コントローラデバイス113からのコントローラ信号等に基づいて、端末装置112全般の動作を制御したり、各種の処理を実行したりする。例えば、制御部253は、表示制御情報に基づいて、表示部254によるXR空間等の表示を制御する。例えば、制御部253は、音声制御情報に基づいて、音声出力部255による音声の出力を制御する。
 表示部254は、各種の表示デバイスを備える。例えば、表示部254は、端末装置112がHMDである場合、ユーザの左右の眼に対してそれぞれ固定されたディスプレイを備え、左眼用画像及び右眼用画像を表示する。当該ディスプレイは、例えば、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ等の表示パネル、又は、網膜直描ディスプレイ等のレーザ走査方式ディスプレイにより構成される。また、表示部254は、例えば、表示画面を拡大投影して、ユーザの瞳に所定の画角からなる拡大虚像を結像する結像光学系を備えてもよい。例えば、表示部254は、制御部253の制御の下に、仮想オブジェクトを含むXR空間を表示する。
 音声出力部255は、例えば、ヘッドフォン、イヤフォン、スピーカ等の音声出力デバイスを備える。音声出力部255は、制御部253の制御の下に、音声を出力する。
 通信部256は、外部の装置と通信を行い、データの送受信を行う。例えば、通信部256は、端末装置112及びコントローラデバイス113と通信を行い、データの送受信を行う。例えば、通信部256は、センシングデータ、及び、コントローラ信号を情報処理装置111に送信する。例えば、通信部256は、表示制御情報、音声制御情報、及び、触覚制御情報を情報処理装置111から受信する。例えば、通信部256は、触覚制御情報をコントローラデバイス113に送信する。例えば、通信部256は、コントローラ信号をコントローラデバイス113から受信する。
 通信部256の通信方式は、有線又は無線のいずれでもよく、例えば、有線LAN、無線LAN、Wi-Fi、Bluetooth等が用いられる。また、通信部256が、2種類以上の通信方式に対応してもよい。さらに、通信部256が、情報処理装置111とコントローラデバイス113との間で異なる通信方式で通信を行ってもよい。
 以下は、XRアプリを用いた情報処理装置111の処理の一例である。
 例えば、通信部205は、端末装置112の状態、端末装置112の周囲の状態、ユーザの状態、ユーザの挙動、及び、入力デバイス113に対する操作入力のうちの少なくとも1つを示す入力情報を、端末装置112、又は、端末装置112を介してコントローラデバイス113から受信し、制御部221に供給する。制御部221は、この入力情報に基づいて、XRアプリを実行し、XR空間においてCADに関するCAD情報を含む仮想オブジェクトの表示を制御する出力情報を生成し、端末装置112に対して出力する。通信部205は、この出力情報を端末装置112に送信する。
 また、例えば、制御部221は、XRアプリを実行し、XRアプリの状態の変化又は異常を示す出力情報を、端末装置112又はコントローラデバイス113に対して出力する。通信部205は、この出力情報を、端末装置122に送信したり、端末装置112を介して、コントローラデバイス113に送信したりする。
 これに対して、例えば、端末装置112は、出力情報に基づいて、XRアプリの状態の変化又は異常を、画像、メッセージ、音声、振動等により通知する。例えば、コントローラデバイス113は、出力情報に基づいて、XRアプリの状態の変化又は異常を、振動等により通知する。
 なお、以下、情報処理装置111の各部が、通信部205を介して外部と通信を行う場合、通信部205の記載を省略する場合がある。例えば、情報処理装置111の空間制御部223が、通信部205を介して端末装置112と通信を行う場合、単に、情報処理装置111の空間制御部223が、端末装置112と通信を行うと記載する場合がある。
 以下、端末装置112の各部が、通信部256を介して外部と通信を行う場合、通信部256の記載を省略する場合がある。例えば、端末装置112の制御部253が、通信部256を介して情報処理装置111と通信を行う場合、単に、端末装置112の制御部253が、情報処理装置111と通信を行うと記載する場合がある。
 例えば、XRシステム101においては、情報処理装置111の空間制御部223が、表示制御情報を生成し、通信部205を介して、端末装置112に送信し、端末装置112の制御部253が、通信部256を介して、表示制御情報を受信し、表示制御情報に基づいて、表示部254を制御する。以下、この一連の処理の記載を簡略化し、例えば、情報処理装置111の空間制御部223が、端末装置112の表示部254を制御するといったような記載を行う場合がある。
 例えば、XRシステム101においては、情報処理装置111の音声制御部224が、音声制御情報を生成し、通信部205を介して、端末装置112に送信し、端末装置112の制御部253が、通信部256を介して、音声制御情報を受信し、音声制御情報に基づいて、音声出力部255を制御する。以下、この一連の処理の記載を簡略化し、例えば、情報処理装置111の音声制御部224が、端末装置112の音声出力部255を制御するといったような記載を行う場合がある。
 例えば、XRシステム101においては、情報処理装置111の触覚提示制御部225が、触覚制御情報を生成し、通信部205及び端末装置112を介して、コントローラデバイス113に送信し、コントローラデバイス113が、触覚制御情報に基づいて、触覚刺激を提示する。以下、この一連の処理の記載を簡略化し、例えば、情報処理装置111の触覚提示制御部225が、端末装置112を介して、コントローラデバイス113を制御するといったような記載を行う場合がある。
 <コントローラデバイス113aの構成例>
 次に、図5乃至図14を参照して、図3のコントローラデバイス113aの構成例について説明する。
 図5は、コントローラデバイス113aの外観の構成例を示している。図5のAは、コントローラデバイス113aの左側面図である。図5のBは、コントローラデバイス113aの正面図である。図5のCは、コントローラデバイス113aの底面図である。図5のDは、コントローラデバイス113aを右斜め前方から見た斜視図である。
 なお、以下、図5のAの上方向を、コントローラデバイス113aの上方向とし、図5のAの下方向を、コントローラデバイス113aの下方向とする。図5のAの右方向を、コントローラデバイス113aの前方向とし、図5のAの左方向を、コントローラデバイス113aの後ろ方向とする。
 コントローラデバイス113aは、前、後ろ、左、右、上、及び、下のいずれの方向から見ても、左右対称の形状を有している。また、コントローラデバイス113aは、前方から見た前面の形状と後方から見た背面の形状が同様であり、右方向から見た右側面の形状と左方向から見た左側面の形状が同様である。
 コントローラデバイス113aは、リング部301、操作部302a、及び、保持部302bの3つの部分に大きく分かれる。
 図5のAに示されるように、リング部301は、左側面314bの重心付近から上方向に伸びている。操作部302aと保持部302bは、リング部301の側面(例えば、コントローラデバイス113aの左側面314b)の方向から見て、リング部301を中心にして対称な形状を備えている。操作部302aは、左側面314bの重心付近(リング部301の下端付近)から前方かつ斜め下方向に伸びている。保持部302bは、操作部302aとは対称に、左側面314bの重心付近(リング部301の下端付近)から後方かつ斜め下方向に伸びている。リング部301の先端、操作部302aの先端、及び、保持部302bの先端を結ぶと、リング部301の先端を頂点とする二等辺三角形が形成される。リング部301と操作部302aとの間の角度、リング部301と保持部302bとの間の角度、及び、操作部302aと保持部302bとの間の角度は、それぞれ約120度であり、上述した二等辺三角形は、略正三角形になる。
 リング部301の側面の先端は、直線状に延びており、根元が湾曲状に広がっている。操作部302aの側面の先端は、直線状に延びており、根元が湾曲状に広がっている。保持部302bの側面の先端は、直線状に延びており、根元が湾曲状に広がっている。リング部301と操作部302aとの境界部、リング部301と保持部302bとの境界部、及び、操作部302aと保持部302bとの境界部は、それぞれ湾曲状になっている。
 図5のBに示されるように、リング部301には、前後方向に貫通する孔301Aが形成されている。リング部301の外周は、先端に向けて緩やかに広がっており、先端が曲線状になっている。孔301Aも同様に、先端に向けて緩やかに広がっており、先端及び末端が曲線状になっている。
 図5のBに示されるように、操作部302aは、先端に向けて徐々に細くなり、先端が曲線状になっている。操作部302aの上面312aは、前方かつ斜め下方向に傾斜している。操作部302aの上面312aには、横方向に湾曲し、前後方向に伸びる浅い溝が形成されている。操作部302aの上面312aの先端は、操作部302aの先端に対して少し窪んでいる。これにより、操作部302aの上面312aは、ユーザの指を後ろから前方向にリング部301の孔301Aに挿入した場合に、挿入した指を置きやすい形状になっている。
 保持部302bは、操作部302aと同様の形状であり、上面312aと同様の形状の上面312b(不図示)が形成されている。
 図5のCに示されるように、操作部302aの下面と保持部302bの下面とにより、前後方向に湾曲する底面313が形成されている。底面313には、横方向に湾曲し、前後方向に伸びる浅い溝が形成されている。
 コントローラデバイス113aの内周面311、上面312a、上面312b、及び、底面313には、例えば、シリコン、エストラマ等のゴムライク素材が用いられる。コントローラデバイス113aのその他の部分には、例えば、IR透過樹脂が用いられる。
 図6乃至図8は、コントローラデバイス113aの把持方法の例を示している。
 例えば、図6のAに示されるように、右手の人差し指が後ろから前方向にリング部301に挿入され、人差し指の先端が操作部302aの上面312aの先端付近に置かれ、人差し指により操作部302aが操作可能になる。リング部301の孔301Aの大きさは、人差し指の太さに対して余裕があるため、人差し指が楽に挿入される。右手の親指の先端が、操作部302aの側面の先端付近に軽く添えられ、保持部302bが、右手の手のひらにより軽く握られ、保持される。
 例えば、図6のAの矢印で示されるように、人差し指により操作部302aの先端付近が下方向に押下された場合、図6のBに示されるように、保持部302bの先端が手のひらに当接することにより、コントローラデバイス113aが押下方向に回転することが防止される。これにより、操作部302aの先端付近が空間内でぶれることが防止され、ユーザは、操作部302aの先端の向きが安定した状態で、操作部302aの先端付近を確実に押下することが可能になる。
 また、上述したように、コントローラデバイス113aは、前方から見た形状と後方から見た形状が同様であり、右方向から見た形状と左方向から見た形状が同様である。従って、ユーザは、コントローラデバイス113aの前後を気にせずに持つことができる。すなわち、ユーザは、図7のAに示されるように、操作部302aが指先の方向を向き、右側面314aが親指の方向を向くようにコントローラデバイス113aを持つことができる。また、ユーザは、図7のBに示されるように、保持部302bが指先の方向を向き、左側面314bが親指の方向を向くようにコントローラデバイス113bを持つこともできる。
 なお、以下、図7のAに示されるように、操作部302aが指先の方向を向くようにコントローラデバイス113aを把持することを、コントローラデバイス113aを前向きに把持するという。以下、図7のBに示されるように、保持部302bが指先の方向を向くようにコントローラデバイス113aを把持することを、コントローラデバイス113aを後ろ向きに把持するという。
 コントローラデバイス113aが後ろ向きに把持された場合、操作部302aと保持部302bの役割が入れ替わる。すなわち、保持部302bが、右手の人差し指により操作可能な操作部として機能し、操作部302aが、右手の手のひらにより保持される保持部として機能する。
 また、図8に示されるように、ユーザがコントローラデバイス113aから手を離しても、リング部301が人差し指に引っ掛かり、コントローラデバイス113aが落下しない。これにより、ストラップ等を設けなくても、ユーザが、不意にコントローラデバイス113aを落とすことが防止される。
 図9は、コントローラデバイス113aの操作部材の配置例を示している。図9のAは、コントローラデバイス113aを右斜め上方向から見た斜視図である。図9のBは、コントローラデバイス113aを左斜め上方向から見た斜視図である。図9のCは、コントローラデバイス113aを後方斜め下方向から見た斜視図である。
 各操作部材は、コントローラデバイス113aの前後方向及び左右方向において、リング部301を中心にして対称になるように配置される。
 例えば、リング部301の内周面311(孔301A)の下端部に、操作部材331が配置される。例えば、ユーザは、人差し指を折り曲げ、人差し指の指先により操作部材331を操作する。
 操作部302aの上面312aの先端付近に、操作部材332aが配置される。保持部302bの上面312bの先端付近に、操作部材332bが配置される。例えば、ユーザは、人差し指の指先により操作部材332a又は操作部材332bを操作する。
 底面313の前端付近及び後端付近に、操作部材333a及び操作部材333bがそれぞれ配置される。例えば、ユーザは、薬指又は小指の指先により操作部材333a又は操作部材333bを操作する。
 底面313の前後方向の中央に操作部材334が配置される。例えば、ユーザは、親指、薬指、又は、小指の指先により操作部材334を操作する。
 操作部材331、操作部材332a、操作部材332b、操作部材333a、操作部材333b、及び、操作部材334には、例えば、ボタン、タッチパッド、ジョイスティック等の任意の種類の操作部材を用いることが可能である。ただし、リング部301を中心にして対称な位置に配置されている操作部材332aと操作部材332bとには、同じ種類の操作部材が用いられる。同様に、リング部301を中心にして対称な位置に配置されている操作部材333aと操作部材333bとには、同じ種類の操作部材が用いられる。
 操作部材331、操作部材332a、操作部材332b、操作部材333a、操作部材333b、及び、操作部材334には、例えば、任意の機能を割り当てることができる。ただし、リング部301を中心にして対称な位置に配置されている操作部材332aと操作部材332bとには、同様の機能が割り当てられる。同様に、リング部301を中心にして対称な位置に配置されている操作部材333aと操作部材333bとには、同様の機能が割り当てられる。
 具体的には、例えば、操作部材331には、主メニュー画面を呼び出す機能が割り当てられる。例えば、操作部材332a及び操作部材332bには、仮想オブジェクトを選択する機能が割り当てられる。例えば、操作部材333a及び操作部材333bには、操作部材332a及び操作部材332bの選択機能以外の機能が割り当てられる。例えば、操作部材334には、副メニュー画面を呼び出す機能が割り当てられる。
 なお、例えば、操作部材332aと操作部材332bとに異なる機能が割り当てられ、コントローラデバイス113aを持つ方向により、両者の機能が入れ替わるようにしてもよい。同様に、例えば、操作部材333aと操作部材333bとに異なる機能が割り当てられ、コントローラデバイス113aを持つ方向により、両者の機能が入れ替わるようにしてもよい。
 以上のようにして、ユーザは、コントローラデバイス113aを前向き又は後ろ向きのいずれの方向から把持しても、同様の操作を行うことができる。
 なお、リング部301には、人差し指が挿入されることが想定されているが、例えば、中指又は薬指を挿入して使用することも可能である。
 なお、以下、操作部材332a及び操作部材332bを個々に区別する必要がない場合、単に、操作部材332と称する。以下、操作部材333a及び操作部材333bを個々に区別する必要がない場合、単に、操作部材333と称する。
 <マーカの配置例>
 例えば、IR発光素子等のマーカが、コントローラデバイス113aに設けられてもよい。そして、情報処理装置111の認識部221が、端末装置112のセンシング部252によりセンシングされた画像等に基づいて、コントローラデバイス113aのマーカを検出し、検出したマーカの位置に基づいて、端末装置112とコントローラデバイス113との間の相対的な位置及び姿勢を認識するようにしてもよい。
 図10は、コントローラデバイス113aのマーカ351の配置例を示している。各マーカ351は、黒丸により示されている。
 例えば、図10のAに示されるように、マーカ351が、右側面314a及び左側面314bにおいて、リング部301の外周を囲むように、上下方向に並べられる。例えば、マーカ351が、操作部302aの両側面の先端付近及び保持部302bの両側面の先端付近に配置される。例えば、マーカ351が、底面313の前端付近及び後端付近に配置される。
 これにより、図11のA乃至Dに示されるように、あらゆるコントローラデバイス113aの姿勢において、マーカ351の少なくとも一部がユーザの手により覆われずに視認可能になる。
 一方、例えば、図12に示されるように、端末装置112は、複数のカメラ401を備えているものとする。各カメラ401は、端末装置112のセンシング部252(図4)を構成する。各カメラ401は、コントローラデバイス113aを撮像する。端末装置112は、撮像により得られた撮像画像データを含むセンシングデータを、情報処理装置111に送信する。
 これに対して、情報処理装置111の制御部202は、センシングデータを受信する。制御部202の認識部221は、コントローラデバイス113aのマーカ351の発光パターンに基づいて、端末装置112に対するコントローラデバイス113aの位置及び姿勢を認識する。
 なお、例えば、図10のBに示されるように、マーカ351が、リング部301の外周を囲むように、横方向に2列に配置されてもよい。また、例えば、図10のCに示されるように、マーカ351が、リング部301の外周を囲むように、横方向に3列に配置されてもよい。
 このように、リング部301の外周にマーカ351を配置することにより、コントローラデバイス113aを小型化することができる。
 <コントローラデバイス113aの内部構造の例>
 次に、図13を参照して、コントローラデバイス113aの内部構造の例について説明する。
 コントローラデバイス113aの内部には、触覚デバイス371、触覚デバイス372a、触覚デバイス372b、基板373、及び、バッテリ374が内蔵されている。
 触覚デバイス371、触覚デバイス372a、及び、触覚デバイス372bは、例えば、LRA(Linear Resonant Actuator)、ERM(Eccentric Rotating Mass)、ピエゾ素子等の振動等の触覚刺激を提示(伝達)するデバイスにより構成される。
 触覚デバイス371は、リング部301の内周面311の下端付近(操作部材331(図9)の近傍)に配置され、内周面311の下端付近に触覚刺激を提示する。
 触覚デバイス372aは、操作部302a内の先端付近(操作部材332a(図9)の近傍)に配置され、操作部302aの先端付近に触覚刺激を伝達する。
 触覚デバイス372bは、保持部302b内の先端付近(操作部材332b(図9)の近傍)に配置され、保持部302bの先端付近に触覚刺激を伝達する。
 基板373は、コントローラデバイス113aの制御用の基板であり、コントローラデバイス113a内の略中央であって、触覚デバイス371の下方に配置される。
 バッテリ374は、コントローラデバイス113a内において、基板373の下方に配置され、コントローラデバイス113aの各部に電力を供給する。
 例えば、図14に示されるように、ユーザの右手によりコントローラデバイス113aが前向きに把持されている場合、触覚デバイス371により、親指の基節部付近に触覚刺激が提示される。触覚デバイス372aにより、親指の指先付近及び人差し指の指先付近に触覚刺激が提示される。触覚デバイス372bにより、親指の付け根及び手のひら付近に触覚刺激が提示される。
 なお、触覚デバイス371、触覚デバイス372a、及び、触覚デバイス372bが、コントローラデバイス113aの前後方向において、リング部301を中心にして対称な位置に配置されている。従って、ユーザがコントローラデバイス113aを前後のいずれの方向に持っても、同様の触覚刺激がユーザの手に提示されるようになる。
 <XRシステム101の処理>
 次に、図15乃至図23を参照して、XRシステム101の処理について説明する。
  <操作部材制御処理>
 まず、図15のフローチャートを参照して、XRシステム101により実行される操作部材制御処理について説明する。
 この処理は、例えば、ユーザがコントローラデバイス113aを持ったり、持ち替えたりしたときに実行される。
 ステップS1において、情報処理装置111は、ハンドトラッキングにより手認識を実行する。
 例えば、端末装置112の制御部253は、各カメラ401により撮像された画像を示す撮像画像データを含むセンシングデータを、情報処理装置111に送信する。
 これに対して、情報処理装置111の制御部202は、センシングデータを受信する。制御部202の認識部221は、センシングデータに含まれる撮像画像データに基づいて、ハンドトラッキングによる手認識を実行する。これにより、例えば、認識部221は、コントローラデバイス113aに設けられているマーカ351に基づいて、コントローラデバイス113aを把持しているユーザの手をトラッキングする。
 ステップS2において、認識部221は、ステップS1の処理の結果に基づいて、コントローラデバイス113aを把持している手を認識したか否かを判定する。コントローラデバイス113aを把持している手を認識していないと判定された場合、処理はステップS1に戻る。
 その後、ステップS2において、コントローラデバイス113aを把持している手を認識したと判定されるまで、ステップS1及びステップS2の処理が繰り返し実行される。
 一方、ステップS2において、コントローラデバイス113aを把持している手を認識したと判定された場合、処理はステップS3に進む。
 ステップS3において、認識部221は、撮像画像データに基づいて、コントローラデバイス113aの発光パターンを認識する。すなわち、認識部221は、コントローラデバイス113aにおいてユーザの手により隠されていないマーカ351による発光パターンを認識する。
 ステップS4において、認識部221は、コントローラデバイス113aの把持方向を認識したか否かを判定する。具体的には、認識部221は、ユーザがコントローラデバイス113aを把持している手の認識結果、及び、コントローラデバイス113aの発光パターンの認識結果に基づいて、コントローラデバイス113aの把持方向の認識を試みる。そして、コントローラデバイス113aの把持方向を認識できていないと判定された場合、処理はステップS3に戻る。
 その後、ステップS4において、コントローラデバイス113aの把持方向を認識したと判定されるまで、ステップS3及びステップS4の処理が繰り返し実行される。
 一方、ステップS4において、コントローラデバイス113aの把持方向を認識したと判定された場合、処理はステップS5に進む。
 ステップS5において、操作制御部222は、手のひら側の操作部材を無効化する。例えば、図16に示されるように、コントローラデバイス113aが前向きに把持されている場合、手のひら側の操作部材332bが無効化される。その後、例えば、認識部221及び操作制御部222は、操作部材332bの操作入力信号を無視する。
 一方、例えば、コントローラデバイス113aが後ろ向きに把持されている場合、手のひら側の操作部材332aが無効化される。
 その後、操作部材制御処理は終了する。
これにより、ユーザの手のひらにより、操作部材332が誤操作されることが防止される。
 以上のように、コントローラデバイス113aを把持した手及び把持方向が認識されるとともに、コントローラデバイス113aの把持方向に関わらず、コントローラデバイス113aの操作性が変わらなくなる。
 従って、例えば、図17のA及びBに示されるように、端末装置112側に特別な設定をしなくても、ユーザは、ユーザの利き手がいずれであっても、利き手でコントローラデバイス113aを把持して使用することが可能になる。
 なお、例えば、図18のA及びBに示されるように、ユーザは、非利き手側にリング型デバイス等の他のコントローラデバイス113bを装着して使用することも可能である。
 また、例えば、図19に示されるように、ユーザは、両手にコントローラデバイス113aを装着して使用することも可能である。
  <触覚フィードバック制御処理>
 次に、図20のフローチャートを参照して、XRシステム101により実行される触覚フィードバック制御処理について説明する。
 この処理は、例えば、情報処理装置111の電源がオンされたとき開始され、オフされたとき終了する。
 ステップS51において、情報処理装置111は、端末装置112及び周囲の状態等を認識する。
 具体的には、端末装置112のセンシング部252は、端末装置112の状態、及び、端末装置112の周囲の状態をセンシングし、センシング結果を示すセンシングデータを制御部253に供給する。制御部253は、センシングデータを情報処理装置111に送信する。
 これに対して、情報処理装置111の制御部202は、センシングデータを受信する。
 コントローラデバイス113aは、端末装置112を介して、各操作部材に対する操作内容を示す操作入力信号を含むコントローラ信号を情報処理装置111に送信する。
 これに対して、情報処理装置111の制御部202は、コントローラ信号を受信する。
 制御部202の認識部221は、センシングデータ及びコントローラ信号に基づいて、端末装置112の状態、端末装置112の周囲の状態、コントローラデバイス113の状態、ユーザの状態、及び、ユーザ操作等を認識する。例えば、認識部221は、端末装置112の位置及び姿勢を認識する。例えば、認識部221は、ユーザの視線方向を認識する。例えば、認識部221は、端末装置112に対するコントローラデバイス113aの位置及び姿勢を認識する。例えば、認識部221は、コントローラデバイス113aに対する操作内容を認識する。
 ステップS52において、情報処理装置111の空間制御部223は、XR空間の制御を行う。具体的には、空間制御部223は、認識部221による認識結果のうちの少なくとも一部に基づいて、XR空間内に表示する仮想オブジェクトを生成し、仮想オブジェクトの挙動等のXR空間の構築及び表示等に必要な各種の演算を行う。空間制御部223は、演算結果に基づいて、XR空間の表示を制御するための表示制御情報を生成し、通信部205を介して、端末装置112に送信することにより、端末装置112によるXR空間の表示を制御する。
 認識部221は、空間制御部223からの情報等に基づいて、端末装置112(ユーザ)の周囲の仮想オブジェクトの種類、位置、姿勢等を認識する。
 ステップS53において、触覚提示制御部225は、認識部221による認識結果、及び、空間制御部223からの情報のうち少なくとも1つに基づいて、触覚フィードバックを提示するタイミングであるか否かを判定する。触覚フィードバックを提示するタイミングでないと判定された場合、処理はステップS51に戻る。
 その後、ステップS53において、触覚フィードバックを提示するタイミングであると判定されるまで、ステップS51乃至ステップS53の処理が繰り返し実行される。
 一方、ステップS53において、触覚フィードバックを提示するタイミングであると判定された場合、処理はステップS54に進む。
 ステップS54において、情報処理装置111は、触覚フィードバックの提示を制御する。具体的には、触覚提示制御部225は、コントローラデバイス113aに触覚刺激を提示させるための触覚制御情報を生成する。触覚提示制御部225は、端末装置112を介して、触覚制御信号をコントローラデバイス113aに送信する。
 これに対して、コントローラデバイス113aは、触覚制御情報を受信する。コントローラデバイス113aの各触覚デバイスは、触覚制御情報に基づいて、触覚刺激を提示する。
 その後、処理はステップS51に戻り、ステップS51以降の処理が実行される。
 以上のようにして、コントローラデバイス113aによりユーザに触覚刺激が適切に提示される。
 ここで、図21乃至図23を参照して、コントローラデバイス113aの触覚フィードバックの提示方法の例について説明する。
 例えば、コントローラデバイス113aの操作部302aの先端付近の操作部材332a(図9)がタッチパッドにより構成され、図21のAに示されるように、人差し指の指先で操作部材332aが前後方向にスライドされた場合、操作部材332aの近傍に配置されている触覚デバイス372a(図13)により人差し指の指先に触覚刺激が提示される。
 例えば、図21のBに示されるように、ユーザがXR空間内のボタン431をコントローラデバイス113aの操作部302aの先端で触れた場合、触覚デバイス372a(図13)により人差し指の指先に触覚刺激が提示される。
 例えば、コントローラデバイス113a又はコントローラデバイス113aを把持した手がXR空間内の仮想オブジェクトと衝突した場合、コントローラデバイス113aの各触覚デバイスを用いて、衝突による衝撃が表現される。
 例えば、図22のAは、コントローラデバイス113aの操作部302aの先端が、XR空間内の仮想オブジェクト441に上方向から衝突した場合の例を示している。この場合、例えば、操作部302aの先端近傍の触覚デバイス372a(図13)により上方向の振動が提示され、保持部302bの先端近傍の触覚デバイス372b(図13)により下方向の振動が提示される。これにより、コントローラデバイス113aに対する上方向の回転力(モーメント)を、ユーザに感じさせることが可能になる。
 例えば、図22のBは、コントローラデバイス113aの操作部302aの先端が、XR空間内の仮想オブジェクト441に下方向から衝突した場合の例を示している。この場合、例えば、操作部302aの先端近傍の触覚デバイス372a(図13)により下方向の振動が提示され、保持部302bの先端近傍の触覚デバイス372b(図13)により上方向の振動が提示される。これにより、コントローラデバイス113aに対する下方向の回転力(モーメント)を、ユーザに感じさせることが可能になる。
 例えば、図23は、コントローラデバイス113aの操作部302aの先端が、XR空間内の仮想オブジェクト441に正面から衝突した場合の例を示している。この場合、例えば、コントローラデバイス113aの中央近傍の触覚デバイス371(図13)を振動させることにより、コントローラデバイス113a全体を振動させる。これにより、コントローラデバイス113aに対する仮想オブジェクト441からの反力を、ユーザに感じさせることが可能になる。
 以上のようにして、コントローラデバイス113aの操作性を向上させることができる。その結果、XR空間に対する操作性が向上する。
<<2.適用例>>
 次に、図24乃至図37を参照して、本技術の適用例について説明する。具体的には、XRシステム101を用いて、3次元CAD等により工場のライン設計を行う例について説明する。
 XRを用いた工場のライン設計では、例えば、設計工程と確認工程の2つの工程が繰り返し実行される。設計工程では、例えば、仮想オブジェクトを用いて、各オブジェクト(例えば、ライン、作業者、製品、部品、ツール、治具等)の配置等の検討が行われる。確認工程では、例えば、設計通りに各仮想オブジェクトを配置して、ラインにおける製品の組み立てやメンテナンス等の作業性の確認等が行われる。
 ここで、設計工程と確認工程とでは、XR空間内の仮想オブジェクトに求められる挙動が異なる。
 例えば、確認工程では、仮想オブジェクトが、現実世界でのライン作業時と同様の挙動を示すことが望まれる。
 例えば、図24に模式的に示されるように、現実世界のラインの現場では、ドライバ1001等の工具がワイヤ1002で吊るされており、可動範囲が制限される。また、ネジ1003が、磁力によりドライバ1001の先端に引き寄せられる。従って、確認工程では、できるだけ現実世界に近い作業性を再現し、確認できるように、現実世界の物理現象ができる限り再現されることが望ましい。
 一方、設計工程では、XR空間内で各仮想オブジェクトの配置等が頻繁に変更されるため、仮想オブジェクトが、現実世界の物理現象と異なる挙動をすることが望まれる場合がある。
 例えば、図25に示されるように、仮想の製品1021の組み立てに用いる仮想のドライバ1022等の工具や、仮想のネジ1023等の部品を、空中等の任意の場所に動かしたり、配置したりできるようにすることが望まれる。
 これに対して、XRシステム101は、例えば、設計工程及び確認工程で、XR空間内の各仮想オブジェクトが、ユーザの望むような挙動を示すように、各仮想オブジェクトに適用する物理法則を制御する。
 なお、仮想オブジェクトに適用する物理法則は、現実世界の全ての物理法則ではなく、例えば、重力、磁力、弾力、摩擦力、仮想オブジェクト間の干渉等、XR空間で模擬的に再現が可能な物理法則の範囲内に限定される。
 <仮想オブジェクト挙動制御処理>
 ここで、図26のフローチャートを参照して、XRシステム101においてライン設計を行う場合に実行される仮想オブジェクト挙動制御処理について説明する。
 この処理は、例えば、XRシステム101を用いたライン設計作業が開始されたとき開始され、ライン設計作業が終了したとき終了する。
 ステップS101において、XRシステム101は、仮想オブジェクトに対する物理法則の適用条件を設定する。
 例えば、ユーザは、情報処理装置111の操作入力部201を介して、XR空間の仮想オブジェクトに対する物理法則の適用条件の設定操作を行ったり、物理法則の適用条件を示す情報を入力したりする。
 情報処理装置111の空間制御部223は、ユーザによる設定操作、及び、ユーザにより入力された情報に基づいて、XR空間の仮想オブジェクトに対する物理法則の適用条件を設定する。
 なお、例えば、空間制御部223は、XR空間の仮想オブジェクトに対する物理法則の適用条件の設定に用いる情報を、サーバ等からダウンロードして外部から取得するようにしてもよい。
 例えば、空間制御部223は、XR空間の挙動モードの切替条件を設定する。
 ここで、挙動モードとは、XR空間の仮想オブジェクトの挙動の制御に用いられるモードである。例えば、挙動モードは、物理法則OFFモード及び物理法則ONモードの2つのモードを含む。
 物理法則OFFモードは、XR空間内の仮想オブジェクトに物理法則を適用しないモードである。物理法則ONモードは、XR空間内の仮想オブジェクトに物理法則を適用するモードである。
 図27は、物理法則OFFモードと物理法則ONモードの機能を比較した例を示している。
 物理法則OFFモードでは、仮想オブジェクトの透過表示が可能である。例えば、XR空間において、仮想オブジェジェクトを透過させ、背後や内部を表示することが可能である。
 物理法則OFFモードでは、仮想オブジェクトの透過表示が不可能である。
 物理法則OFFモードでは、仮想オブジェクトの挙動が物理法則に従わなくてもよい。例えば、XR空間において、仮想オブジェクトが、重力や磁力等の物理法則に従って動作しなくてもよい。例えば、ユーザは、XR空間において、仮想オブジェクトを自由に動かすことができ、仮想オブジェクトの位置や姿勢を自由に変えることができる。
 物理法則ONモードでは、仮想オブジェクトの挙動が物理法則に従う。例えば、XR空間において、仮想オブジェクトが、重力や磁力等の物理法則に従って動作する。例えば、ユーザは、XR空間において、物理法則に基づく制限の範囲内で仮想オブジェクトを動かすことができ、物理法則に基づく制限の範囲内で仮想オブジェクトの位置や姿勢を変えることができる。
 物理法則OFFモードでは、見えていない仮想オブジェクトの選択が可能である。例えば、ユーザは、XR空間において、他の仮想オブジェクトの陰に隠れる等により見えていない仮想オブジェクトを選択することが可能である。
 物理法則ONモードでは、見えていない仮想オブジェクトの選択が不可能である。例えば、ユーザは、XR空間において、他の仮想オブジェクトの陰に隠れる等により見えていない仮想オブジェクトを選択することができない。
 物理法則OFFモードでは、仮想オブジェクトのサイズ変更が可能である。例えば、ユーザは、XR空間において、仮想オブジェクトの表示中に、サイズを自由に変更することが可能である。
 物理法則ONモードでは、仮想オブジェクトのサイズ変更が不可能である。例えば、仮想オブジェクトのサイズが事前に設定されている値に固定され、ユーザは、XR空間において、仮想オブジェクトのサイズを自由に変更することができない。例えば、仮想オブジェクトのサイズを変更するためには、仮想オブジェクトの表示を停止し、設定値を変更する等の操作が必要である。
 なお、物理法則ONモードにおいて、必ずしも全ての仮想オブジェクトに物理法則が適用されなくてもよい。例えば、物理法則ONモードにおいて、物理法則を適用する仮想オブジェクトを設定できるようにしてもよい。この場合、例えば、物理法則を適用する仮想オブジェクトを個別に設定できるようにしてもよいし、仮想オブジェクトの種類毎に設定できるようにしてもよい。
 また、物理法則ONモードにおいて、必ずしも全ての物理法則が適用されなくてもよい。例えば、物理法則ONモードにおいて適用する物理法則の種類を設定できるようにしてもよい。この場合、例えば、個々の仮想オブジェクト毎に適用する物理法則の種類を設定できるようにしてもよいし、仮想オブジェクトの種類毎に適用する物理法則の種類を設定できるようにしてもよい。
 さらに、物理法則ONモードにおいて、必ずしも常に物理法則が適用されなくてもよい。例えば、物理法則ONモードにおいて、物理法則を適用する条件を設定できるようにしてもよい。この場合、個々の仮想オブジェクト毎に物理法則を適用する条件を設定できるようにしてもよいし、仮想オブジェクトの種類毎に物理法則を適用する条件を設定できるようにしてもよい。
 ステップS102において、情報処理装置111の空間制御部223は、挙動モードをデフォルトのモードに設定する。すなわち、空間制御部223は、物理法則OFFモード及び物理法則ONモードのうちデフォルトに設定されているモードに挙動モードを設定する。
 ステップS103において、情報処理装置111の認識部221は、XRに関連する要素の状態を認識する。例えば、認識部221は、操作入力部201からの操作入力信号、端末装置112から送信されるセンシングデータ、コントローラデバイス113から送信されるコントローラ信号、操作制御部222からの情報、及び、空間制御部223からの情報のうち少なくとも1つに基づいて、端末装置112の状態、端末装置112の周囲の状態、コントローラデバイス113の状態、ユーザの状態、ユーザ操作、及び、XR空間の状態等を認識する。XR空間の状態は、XR空間内の各仮想オブジェクトの状態を含む。
 ステップS104において、情報処理装置111の空間制御部223は、XRに関連する要素の状態の認識結果に基づいて、モード切替条件を満たしているか否かを判定する。モード切替条件を満たしていると判定された場合、処理はステップS105に進む。
 ステップS105において、情報処理装置111の空間制御部223は、挙動モードを切り替える。例えば、現在の挙動モードが物理法則OFFモードである場合、物理法則ONモードに変更される。例えば、現在の挙動モードが物理法則ONモードである場合、物理法則OFFモードに変更される。
 その後、処理はステップS106に進む。
 一方、ステップS104において、モード切替条件を満たしていないと判定された場合、ステップS105の処理はスキップされ、処理はステップS106に進む。
 ステップS106において、情報処理装置111の空間制御部223は、適用する物理法則に従って、XR空間内の仮想オブジェクトの挙動を制御する。例えば、空間制御部223は、端末装置112の表示部254を制御して、XR空間内の各仮想オブジェクトに適用する物理法則に従って、各仮想オブジェクトの挙動を制御する。
 以下は、物理法則OFFモードに設定されている場合のXR空間内の仮想オブジェクトの挙動の例である。
 例えば、仮想オブジェクトが、他の仮想オブジェクトや現実オブジェクトとの干渉の有無等に関わらず、任意の位置に移動したり、定位したりすることができる。具体的には、例えば、仮想の製品、治具、ツール(例えば、ドライバ、ピンセット、ハンマー等)、部品(例えば、ネジ等)等が、重力に従わず、空中に定位することができる。例えば、仮想の製品、治具、ツール、部品等が、位置や可動範囲を調整するために、任意の位置に移動できる。例えば、仮想のシールの貼付位置や仮想のピンセットの置き場所の検討中に、仮想のシール及び仮想のピンセットを任意の位置に移動できる。
 例えば、仮想のネジが、仮想のドライバに引き寄せられない。
 例えば、検討に使用しない仮想オブジェクトを非表示にすることができる。
 これにより、ユーザは、現実の物理法則の適用が不要なライン設計に適した環境で、設計作業を行うことができる。
 以下は、物理法則ONモードに設定されている場合のXR空間内の仮想オブジェクトの挙動の例である。
 例えば、仮想オブジェクトが、他の仮想オブジェクトや現実オブジェクトと干渉しない範囲で移動する。例えば、仮想のドライバが、吊るされている仮想のバネに応じた範囲内でのみ移動する。
 例えば、仮想の製品と治具の位置が固定される。
 例えば、仮想オブジェクトが、重力に従って、落ちたり転がったりする。
 例えば、仮想のネジが、磁力により仮想のドライバに引き寄せられる。
 例えば、仮想のネジが、仮想の組立て対象に対して適切な向きでしか挿入できない。
 例えば、仮想の組立て対象にシールを貼る場合、貼り付けを開始した後、粘着力により位置の微調整が難しくなる。
 これらの物理法則の適用により、ユーザは、現実世界に近い環境で、組み立て性やメンテナンス性の確認等の作業を行うことができる。
 なお、空間制御部223は、例えば、XR空間の状態(仮想空間及び現実区間の状態)の認識結果に基づいて、仮想オブジェクトの挙動を制御する。例えば、空間制御部223は、仮想オブジェクトに重力を適用する場合、XR空間の状態に基づいて床の位置や範囲を認識し、認識した結果に基づいて、床の上に落下するように仮想オブジェクトの挙動を制御する。
 その後、処理はステップS103に戻り、ステップS103乃至ステップS106の処理が繰り返し実行される。
 <仮想オブジェクト挙動制御処理の具体例>
 次に、図26のフローチャートを参照して上述した仮想オブジェクト挙動制御処理の各処理の具体例について説明する。
  <モード切替条件の具体例>
 まず、挙動モードの切替条件の具体例について説明する。
 例えば、XR空間の状態、及び、XR空間を使用するユーザの状態のうち少なくとも1つに基づいて、挙動モードが切り替えられる。XR空間の状態は、例えば、XR空間内の仮想オブジェクトの状態及び属性のうち少なくとも1つを含む。仮想オブジェクトの状態は、例えば、仮想オブジェクトに対する操作方法、及び、XR空間内の仮想オブジェクトの位置のうち少なくとも1つを含む。仮想オブジェクトに対する操作方法は、例えば、仮想オブジェクトの操作に用いる現実又は仮想のツールの種類、属性、及び、使用方法(例えば、持ち方)のうち少なくとも1つを含む。
   <仮想オブジェクトの操作に用いるツールに基づいて挙動モードを切り替える例>
 具体的には、例えば、仮想オブジェクトの操作に用いるツールに基づいて、挙動モードが切り替えられるようにしてもよい。
 例えば、図28乃至図30に模式的に示されるように、コントローラデバイス113の使用方法、より具体的には、コントローラデバイス113の持ち方に基づいて、挙動モードが切り替えられるようにしてもよい。
 例えば、設計工程においては、レーザポインタ等のポインティングデバイスを用いて、仮想オブジェクトが操作されることが想定される。
 これに対して、例えば、図28に示されるように、レーザポインタを模した持ち方でコントローラデバイス113が把持された場合、換言すれば、レーザポインタを持つようにコントローラデバイス113が把持された場合、挙動モードが物理法則OFFモードに設定されるようにしてもよい。この場合、例えば、コントローラデバイス113の先端から仮想の光線であるレイが出力され、レイを用いて仮想オブジェクトが操作されるようにしてもよい。
 例えば、確認工程においては、ドライバやピンセットと等の現実のツールを模した入力デバイスを用いて、仮想オブジェクトが操作されることが想定される。
 これに対して、例えば、現実のツールを模した持ち方でコントローラデバイス113が把持された場合、換言すれば、現実のツールを持つようにコントローラデバイス113が把持された場合、挙動モードが物理法則ONモードに設定されるようにしてもよい。例えば、図29のようにドライバを持つようにコントローラデバイス113cが把持されたり、図30のようにピンセットを持つようにコントローラデバイス113cが把持されたりした場合、挙動モードが物理法則ONモードに設定されるようにしてもよい。
 次に、より具体的なコントローラデバイス113を例に挙げて、挙動モードの切替条件の具体例について説明する。
 まず、図31乃至図34を参照して、図5等を参照して上述したコントローラデバイス113aを用いる場合の挙動モードの切替条件の例について説明する。
 図31は、コントローラデバイス113aの静電容量式のタッチセンサ及びボタンの配置例を示している。
 例えば、操作部302aの右側面の前後方向の中央付近の位置P1aに、タッチセンサが配置されている。位置P1aと反対側の、操作部302aの左側面の前後方向の中央付近の位置P1b(符号のみ図示)に、タッチセンサとボタンが配置されている。操作部302aの上面312aの前後方向の中央付近の位置P2に、タッチセンサとボタンが配置されている。保持部302bの右側面の前後方向の中央付近に、タッチセンサが配置されている。
 例えば、情報処理装置111の認識部221は、位置P1bのタッチセンサが反応している場合、図32に示されるように、コントローラデバイス113aが、ピンセットを持つように把持されていると認識する。すなわち、リング部に301に指を挿入せずに、右手の親指と人差し指で操作部302の側面を挟むように、コントローラデバイス113aが把持されていると認識する。この場合、挙動モードが物理法則OFFモードに設定される。また、情報処理装置111の操作制御部222は、位置P1bのボタンに決定機能を割り当て、人差し指により決定機能が操作される。
 例えば、認識部221は、位置P1aのタッチセンサが反応し、かつ、位置P1bのタッチセンサが反応していない場合、図33に示されるように、コントローラデバイス113aが、通常の持ち方で把持されていると認識する。すなわち、図6を参照して上述したのと同様の方法で、コントローラデバイス113aが右手で前向きに把持されていると認識する。この場合、挙動モードが物理法則ONモードに設定される。また、操作制御部222は、位置P2のボタンに決定機能を割り当て、人差し指により決定機能が操作される。
 例えば、認識部221は、位置P3のタッチセンサが反応し、かつ、位置P1a及び位置P1bのタッチセンサが反応していない場合、図34に示されるように、コントローラデバイス113aが、ドライバを持つように把持されていると認識する。すなわち、右手で保持部302bを掴むようにコントローラデバイス113aが把持されていると認識する。この場合、挙動モードが物理法則ONモードに設定される。
 例えば、認識部221は、位置P1a、位置P1b、及び、位置P3のタッチセンサが反応していない場合、コントローラデバイス113aが把持されていないと認識する。
 次に、図35を参照して、ペン型の入力デバイスであるコントローラデバイス113cを用いる場合の挙動モードの切替条件の例について説明する。
 図35は、コントローラデバイス113cの静電容量式のタッチセンサ及びボタンの配置例を示している。
 例えば、コントローラデバイス113cの側面の上側(上面)の末端付近の位置P11に、タッチセンサが配置されている。例えば、コントローラデバイス113cの先端に位置P2に、タッチセンサが配置されている。例えば、コントローラデバイス113cの側面の左側(左側面)の先端付近の位置P13に、タッチセンサ及びボタンが配置されている。
 例えば、情報処理装置111の認識部221は、位置P11のタッチセンサが反応している場合、コントローラデバイス113cがドライバを持つように把持されていると認識する。すなわち、コントローラデバイス113cの末端付近まで握り込むのは、ドライバのように持つ場合のみと想定される。この場合、挙動モードが物理法則ONモードに設定される。
 例えば、認識部221は、位置P12及び位置P13のタッチセンサが反応し、かつ、位置P11のタッチセンサが反応していない場合、コントローラデバイス113cがレーザポインタを持つように把持されていると認識する。この場合、挙動モードが物理法則OFFモードに設定される。
 例えば、認識部221は、位置P13のタッチセンサが反応し、かつ、位置P11及び位置P12のタッチセンサが反応していない場合、コントローラデバイス113cがピンセットを持つように把持されていると認識する。この場合、挙動モードが物理法則ONモードに設定される。
 例えば、仮想オブジェクトの操作に用いるツールの属性(例えば、形状、種類等)に基づいて、挙動モードが切り替えられるようにしてもよい。
 例えば、コントローラデバイス113が変形可能である場合、コントローラデバイス113の形状に基づいて、挙動モードが切り替えられるようにしてもよい。例えば、コントローラデバイス113の形状が、現実のツールに近い形状になった場合、挙動モードが物理法則ONモードに設定されるようにしてもよい。具体的には、例えば、コントローラデバイス113がピンセットのような形状になった場合、挙動モードが物理法則ONモードに設定される。例えば、コントローラデバイス113が指し棒のように伸びた場合、挙動モードが物理法則OFFモードに設定されるようにしてもよい。
 なお、コントローラデバイス113の代わりに仮想のツールが用いられた場合も同様に、仮想のツールの形状に基づいて、挙動モードが切り替えられるようにしてもよい。
 例えば、現実の工具(例えば、ドライバ、ピンセット、ハンマー等)により仮想オブジェクトが操作される場合、物理法則ONモードに設定されるようにしてもよい。
 なお、例えば、現実のツールが用いられる場合、ツールにマーカを設け、マーカに関する情報を情報処理装置111に登録することにより、情報処理装置111の認識部221が、マーカに基づいて、現実のツールの存在、位置、及び、姿勢を認識するようにしてもよい。
   <ユーザの状態に基づいて挙動モードを切り替える例>
 例えば、ユーザの状態に基づいて、挙動モードが切り替えられるようにしてもよい。
 具体的には、例えば、XRシステム101を用いてCAD設計が行われる場合、情報処理装置111を単体で用いる場合、情報処理装置111の操作入力部201及び端末装置112を用いる場合、並びに、端末装置112及びコントローラデバイス113を用いる場合が想定される。
 これに対して、例えば、情報処理装置111の操作入力部201及び端末装置112を用いたCAD設計において、ハンドトラッキングを活用して、ユーザのジェスチャに基づいて、挙動モードが切り替えられるようにしてもよい。
 例えば、図36のAに示されるように、レイを用いて仮想オブジェクトが操作されている場合、物理法則OFFモードに設定されるようにしてもよい。例えば、仮想のネジ1101をレイ1102で移動させた場合、仮想のネジ1101を離した後、仮想のネジ1101が空中に浮かび続ける。
 例えば、図36のBに示されるように、ユーザの手で仮想オブジェクトが直接操作されている場合、物理法則ONモードに設定されるようにしてもよい。例えば、仮想のネジ1101を手で移動させた場合、仮想のネジ1101を離した後、仮想のネジ1101が現実世界と同様に落下する。
 例えば、ユーザの動作に基づいて、挙動モードが切り替えられるようにしてもよい。例えば、ユーザが現実のライン上で製品を組み立てるような動作を行った場合、挙動モードが物理特性ONモードに設定されるようにしてもよい。具体的には、例えば、ユーザが、椅子から立ち上がったり、床にしゃがみ込んだりした場合、挙動モードが物理特性ONモードに設定されるようにしてもよい。
 例えば、ユーザが利き手で操作しているか否かに基づいて、挙動モードが切り替えられるようにしてもよい。例えば、物理法則ONモードに設定される条件が満たされている場合に、ユーザが怪我などにより利き手と反対の手で操作を行っている場合、ユーザの操作性を考慮して、挙動モードが物理法則OFFモードに設定されるようにしてもよい。
 なお、例えば、ユーザが事前に利き手の設定を行うようにしてもよいし、情報処理装置111の学習部226が、ユーザがよく使用する手を学習し、自動で利き手を認識するようにしてもよい。
 例えば、ユーザがXRを使用する位置に基づいて、挙動モードが切り替えられるようにしてもよい。
 例えば、ユーザが設計工程を行うと想定される場所(例えば、オフィス等)でXRを使用する場合、挙動モードが物理法則ONモードに設定されるようにしてもよい。一方、例えば、ユーザが確認工程を行うと想定される場所(例えば、工場のライン、航空機格納庫等)でXRを使用する場合、挙動モードが物理法則OFFモードに設定されるようにしてもよい。
   <仮想オブジェクトの状態に基づいて挙動モードを切り替える例>
 例えば、XR空間内の仮想オブジェクトの状態に基づいて、挙動モードが切り替えられるようにしてもよい。
 具体的には、例えば、XR空間において仮想の設計対象物が置かれている位置に基づいて、挙動モードが切り替えられるようにしてもよい。
 例えば、設計中の仮想のカメラがテーブルに置かれている場合、ユーザがカメラの組み立て性を確認しているものと推定されるため、挙動モードが物理法則ONモードに設定されるようにしてもよい。
 例えば、設計中の仮想の車両が床に置かれ、ユーザが運転席又は助手席にいる場合、ユーザが車両の組み立て性を確認しているものと推定されるため、挙動モードが物理法則ONモードに設定されるようにしてもよい。
   <XR(VR)の背景に基づいて挙動モードを切り替える例>
 例えば、ユーザがVRを使用する場合、VRの背景(仮想の背景)に基づいて、挙動モードが切り替えられるようにしてもよい。
 例えば、VRの背景が、ユーザが設計工程を行うと想定される場所(例えば、オフィス等)である場合、挙動モードが物理法則ONモードに設定されるようにしてもよい。一方、例えば、VRの背景が、ユーザが確認工程を行うと想定される場所(例えば、工場のライン、航空機格納庫等)である場合、挙動モードが物理法則OFFモードに設定されるようにしてもよい。
   <挙動モードをマニュアル設定する例>
 例えば、挙動モードの設定をユーザが行うようにしてもよい。
 なお、この場合、例えば、情報処理装置111の空間制御部223は、所定の期間毎に物理法則ONモードに設定するようにしてもよい。これにより、例えば、ユーザに、設計工程ばかりを実行せずに、確認工程を実行するように促すことができる。
 例えば、空間制御部223は、挙動モードの切替条件が満たされた場合、挙動モードを自動的に切り替えずに、挙動モードの切替をユーザに提案するようにしてもよい。例えば、空間制御部223は、挙動モードの変更の可否を選択するウインドウ、挙動モードを変更するボタン等をXR空間内に表示させ、挙動モードの切替をユーザに提案するようにしてもよい。例えば、空間制御部223は、音声メッセージにより挙動モードの切替をユーザに提案するようにしてもよい。
 そして、空間制御部223は、ユーザの選択に従って、挙動モードの切替を制御するようにしてもよい。例えば、空間制御部223は、ユーザが挙動モードの切替を選択した場合、挙動モードを切り替え、ユーザが挙動モードの切替を選択しなかった場合、現在の挙動モードを継続するようにしてもよい。
 例えば、空間制御部223は、挙動モードの切替を提案する場合、挙動モードをすぐに切り替えずに、挙動モードを切り替えるタイミングを設定できるようにしてもよい。例えば、空間制御部223は、挙動モードを切り替えるまでの時間(例えば、今から何分後等)や、挙動モードを切り替える時刻を設定できるようにしてもよい。
 例えば、空間制御部223は、挙動モード切替機能が有効化されてから所定の期間(例えば、1カ月間)は、挙動モードを自動的に切り替えずに、挙動モードの切替をユーザに提案するようにしてもよい。そして、例えば、空間制御部223は、所定の期間が経過した時点で、挙動モードの提案に従う確率が所定の閾値以上である場合、挙動モードを自動的に切り替えるようにしてもよい。
 例えば、挙動モードの自動切替及びマニュアル切替が、条件により切り替えられるようにしてもよい。例えば、予め設定した条件が満たされている場合、挙動モードが自動的に切り替えられるようにして、予め設定した条件が満たされていない場合、挙動モードが自動的に切り替えられないようにしてもよい。
  <物理法則の適用条件に関する具体例>
 次に、物理法則ONモードにおいて、仮想オブジェクト毎に物理法則の適用を制御する例について説明する。
 例えば、上述した挙動モードを切り替える場合と同様に、XR空間の状態、及び、XR空間を使用するユーザの状態のうち少なくとも1つに基づいて、仮想オブジェクト毎に物理法則の適用が制御される。
   <仮想オブジェクトの属性に基づいて物理法則の適用を制御する例>
 例えば、仮想オブジェクトの属性(例えば、種類、材質、形状、大きさ、摩擦係数等)に基づいて、適用される物理法則の種類が制御されるようにしてもよい。
 例えば、仮想オブジェクトが金属製である場合、磁力が適用され、仮想オブジェクトが金属製でない場合、磁力が適用されないようにしてもよい。具体的には、例えば、仮想のネジが金属製である場合、磁力が適用され、仮想のネジが金属製でない場合、磁力が適用されないようにしてもよい。
 例えば、仮想オブジェクトのサイズに基づいて、磁力や重力の適用の有無が切り替えられるようにしてもよい。例えば、仮想のネジのサイズが所定の閾値未満である場合、磁力が適用され、仮想のネジのサイズが所定の閾値以上である場合、磁力が適用されないようにしてもよい。例えば、仮想オブジェクトのサイズが所定の閾値以上(例えば、1辺1m以上)である場合、重力が適用され、仮想オブジェクトのサイズが所定の閾値未満である場合、重力が適用されないようにしてもよい。
 例えば、XR空間内の仮想オブジェクトの表示サイズに基づいて、物理法則の適用の有無が切り替えられるようにしてもよい。例えば、仮想オブジェクトの表示サイズと、対応する現実のオブジェクトとのサイズの差が所定の範囲内である場合、仮想オブジェクトに対して物理法則が適用されるようにしてもよい。一方、例えば、仮想オブジェクトの表示サイズと、対応する現実のオブジェクトとのサイズの差が所定の範囲を超えている場合、仮想オブジェクトに対して物理法則が適用されないようにしてもよい。
   <仮想オブジェクトに対する操作方法に基づいて物理法則の適用を制御する例>
 例えば、ユーザの仮想オブジェクトに対する操作方法に基づいて、物理法則の適用の有無が切り替えられるようにしてもよい。
 例えば、ユーザが仮想オブジェクトを丁寧に取り扱ったら(例えば、静かに机の上等に置いたら)、当該仮想オブジェクトに対して物理法則が適用されるようにしてもよい。一方、例えば、ユーザが仮想オブジェクトを雑に取り扱ったら(例えば、放り投げたら)、当該仮想オブジェクトに対して物理法則が適用されないようにしてもよい。
 これは、例えば、ユーザが、設計工程において仮想オブジェクトを横に避けておきたい場合、仮想オブジェクトを素早く動かすことが想定されるためである。
 例えば、仮想オブジェクトに対するユーザのジェスチャに基づいて、仮想オブジェクトに対する物理法則の適用の有無が切り替えられるようにしてもよい。例えば、ユーザが仮想オブジェクトに対して、摘むようなジェスチャやドアノブを握るようなジェスチャを行った場合、当該仮想オブジェクトに対して物理法則が適用されるようにしてもよい。
  <仮想オブジェクトの表示例>
 例えば、情報処理装置111の空間制御部223は、XR空間において、物理法則が適用されている仮想オブジェクトの表示態様と、物理法則が適用されていない仮想オブジェクトの表示態様とを区別するようにしてもよい。例えば、空間制御部223は、物理法則が適用されている仮想オブジェクトの透明度と、物理法則が適用されていない仮想オブジェクトとの透明度とを変えるようにしてもよい。例えば、図37に示されるように、物理法則が適用されていない仮想のネジ1121が、空中でゆっくり回転するようにしてもよい。
 これにより、ユーザは、物理法則が適用されていない仮想オブジェクトと適用されていない仮想オブジェクトを容易に区別することができ、操作性が向上する。
 例えば、空間制御部223は、物理法則OFFモードにおいて、XR空間において、物理法則を適用可能な仮想オブジェクトの表示態様と、物理法則を適用できない仮想オブジェクトの表示態様とを変えるようにしてもよい。例えば、空間制御部223は、物理法則を適用可能な仮想オブジェクトの透明度と、物理法則を適用できない仮想オブジェクトとの透明度とを変えるようにしてもよい。
 これにより、ユーザは、物理法則ONモードに設定する前に、物理法則を適用可能な仮想オブジェクトと適用できない仮想オブジェクトを容易に区別することができ、挙動モードの切替の判断等に用いることができる。
 例えば、図37に示されるように、XR空間内に仮想のドライバ1122及び仮想のピンセット1123等の仮想のツールを置くエリアA1を表示するようにしてもよい。そして、例えば、ユーザが、エリアA1内の仮想のツールを持つと、XR空間内の仮想オブジェクトに対して、ユーザの持ったツール(ユーザが使用するツール)に応じた物理法則が適用されるようにしてもよい。
 例えば、ユーザが、仮想のドライバ1122を持って操作した場合、仮想のネジ1121が磁力によりドライバ1122の方向に引き寄せられるが、仮想のピンセット1123を持って操作した場合、仮想のネジ1121がピンセット1123の方向に引き寄せられないようにしてもよい。
 <物理法則の適用条件の学習処理>
 例えば、情報処理装置111の学習部226は、ユーザの使用履歴等に基づいて、仮想オブジェクトに対する物理法則の適用条件を学習するようにしてもよい。
 例えば、学習部226は、ユーザの仮想のツールの使用履歴に基づいて、仮想のツールに適用する物理法則に対するユーザの嗜好を学習するようにしてもよい。
 例えば、仮想のドライバに対して磁力がデフォルトで適用されたり、仮想のドライバに対して磁力を適用することがデフォルトで提案されたりする場合に、ユーザが、所定の回数以上、又は、所定の閾値以上の確率で、仮想のドライバに対して磁力を適用しない選択を行った場合、学習部226は、ユーザが非磁性のドライバを好むことを学習する。そして、例えば、空間制御部223は、学習結果に基づいて、当該ユーザに対して仮想のドライバに磁力を適用しないようにする。これにより、非磁性のドライバを好むユーザに対する操作性が向上する。
 例えば、空間制御部223は、ある仮想のツールに対する物理法則の適用に関する学習結果を、他の仮想のツールに適用するようにしてもよい。例えば、学習部226が、仮想のドライバに対して重力を適用しないことを学習した場合、空間制御部223は、他のツール(例えば、ピンセット等)に対しても重力を適用しないようにしてもよい。
 例えば、学習部226は、仮想のツールに対して適用する物理法則を、ユーザ毎でなくグループ単位で学習するようにしてもよい。
 なお、グループの分類方法は、特に限定されない。例えば、職場単位、部署単位、学校単位、クラス単位で、グループが分類される。また、例えば、ネットワークを介してグループが構成されることが想定される。
 この場合、新規ユーザがグループに加わる場合、新規ユーザが使用する仮想のツールに対して、グループ内の学習結果に基づいて物理法則が適用される。例えば、グループ内で仮想のドライバに対して磁力を適用しない設定になっている場合、新規ユーザに対しても、その設定が適用される。
 <複数のユーザでXR空間を共有する場合の物理法則の適用例>
 例えば、複数のユーザがXR空間を共有し、同じ仮想オブジェクトを操作する場合、当該仮想オブジェクトに対して適用する物理法則がユーザ毎に異なると、ユーザ毎に当該仮想オブジェクトの挙動が異なるようになる。その結果、例えば、同じXR空間内においてユーザ間で異なる映像が見えるような現象が発生するおそれがある。例えば、あるユーザからは仮想オブジェクトが物理法則に従って床に落ちるが、別のユーザからは、当該仮想オブジェクトが物理法則に従わずに空中に浮かぶような状況が発生しうる。
 これに対して、複数のユーザが同じ仮想オブジェクトを操作する場合、当該仮想オブジェクトに対して適用する物理法則を、ユーザ間で共通にするようにしてもよい。例えば、全てのユーザについて切り替え条件を満たした場合に、物理法則の適用の有無や適用する物理法則の種類が変更されるようにしてもよい。例えば、特定のユーザのみが、物理法則の適用の有無や適用する物理法則の種類を設定することができ、他のユーザは、そのユーザの設定に従うようにしてもよい。例えば、ユーザの優先度を設定し、優先度の高いユーザの設定に、優先度の低いユーザが従うようにしてもよい。
 以上のようにして、XR空間の各仮想オブジェクトに対して適切なタイミングで適切な物理法則が適用されるようになる。例えば、ユーザが設計工程を実行する意図が推定されるシーンにおいて、仮想オブジェクトに物理法則が適用されず、ユーザが確認工程を実行する意図が推定されるシーンにおいて、仮想オブジェクトに物理法則が適用されるようになる。また、設計工程と確認工程との間で、物理法則の適用がシームレスに切り替わり、その結果、仮想オブジェクトの挙動がシームレスに切り替わる。これにより、ユーザの操作性が向上する。
<<3.変形例>>
 以下、上述した本技術の実施の形態の変形例について説明する。
 <コントローラデバイス113aに関する変形例>
 以上の説明では、コントローラデバイス113aを前後いずれの方向にも把持できるようにする例を示したが、例えば、前向きにのみ把持できるようにすることも可能である。
 この場合、操作部302aと保持部302bは、必ずしもリング部301を中心にして対称な形状である必要はなく、例えば、操作部302aと保持部302bが異なる形状であってもよい。また、保持部302bの操作部材332b及び操作部材333bを削除することが可能である。
 例えば、金属等の樹脂以外の素材をコントローラデバイス113aに用いることが可能である。
 <処理の分担に関する変形例>
 例えば、情報処理装置111の一部の処理を端末装置112が実行するようにしてもよい。
 例えば、端末装置112が、情報処理装置111の情報処理部211の全て又は一部の処理を実行するようにしてもよい。例えば、端末装置112が、情報処理装置111の制御によらずに、単独でXR空間を提示するようにしてもよい。例えば、情報処理装置111と端末装置112が、単独でXR空間の構築等の処理を分担して実行するようにしてもよい。
 <仮想オブジェクト挙動制御処理に関する変形例>
 例えば、物理法則ONモードを2つ以上に分類し、モード毎に適用される物理法則の種類や、物理法則が適用される仮想オブジェクトの種類が切り替えられるようにしてもよい。
 例えば、挙動モードを設けずに、情報処理装置111の空間制御部223が、仮想オブジェクト毎、又は、仮想オブジェクトの種類毎に、適用する物理法則を制御するようにしてもよい。
 以上の説明では、図26を参照して上述した仮想オブジェクト挙動制御処理を、3次元CADを用いたライン設計に適用する例を示したが、3次元CADを用いた他の用途に適用することも可能である。
 例えば、3次元CADを用いて製品の開発を行う場合に、製品の設計を行う設計工程と、製品の組み立て性やメンテナンス性を確認する確認工程とで、上述したライン設計の場合と同様に、挙動モードが切り替えられるようにしてもよい。
 例えば、図38は、XR空間において、3次元CADを用いて製品1201(この例の場合、イス)の開発を行う場合を模式的に示している。
 例えば、設計工程においては、仮想の製品1201と組み合わされる仮想の部品1202が、重力に従わずに、空中に浮いて表示される。これにより、ユーザは、製品1201と部品1202とを素早く組み合わせることが可能になり、設計作業が効率化される。
 一方、例えば、確認工程においては、仮想の製品1201と組み合わされる仮想の部品1203乃至部品1206が、重力に従わず地面に落下する。これにより、ユーザは、製品1201の組み立て時に部品を見失う等の現実に発生する問題を発見しやすくなる。
 また、仮想オブジェクト挙動制御処理は、例えば、XR空間において、物理法則に従う必要があるシーンと必要がないシーンとが混在するアプリケーションや、物理法則に従う必要がある空間と必要がない空間とが混在するアプリケーションに適用することが可能である。
 例えば、図39に示されるように、仮想オブジェクト挙動制御処理が、XRを用いた手術のシミュレーションに用いられてもよい。
 例えば、XR空間内の執刀医であるユーザU1の横に、物理法則を適用しないエリアA11が設けられる。例えば、電気メスや鉗子等の仮想の手術道具がエリアA11に置かれた場合、仮想の手術道具は、宙に浮いたり、配線が描画されなくなったりする。
 エリアA11は、器械出しの看護師をイメージして設けられている。例えば、現実世界では、器械出しの看護師が、ユーザU1の指示に従って、ユーザU1に手術道具を手渡したり、ユーザU1から受け取った手術道具を所定の位置に戻したりすることが想定される。
 これに対して、例えば、情報処理装置111の空間制御部223は、手術の手順に従って使用する手術道具の順番を記憶しておき、手術のシミュレーションの実行時に、手術の進捗状況に応じて、記憶した順番に従って、仮想の手術道具をエリアA11に配置するようにしてもよい。
 エリアA11以外の領域では、仮想の手術道具に物理法則が適用されたり、配線が考慮されたりする。これにより、ユーザU1は、現実世界での手術と同様に、手術道具のサイズ、姿勢、配線等を考慮して、手術道具を想定通りに患者に挿入できるか等の確認を行うことができる。
 なお、例えば、エリアA11において、物理法則の一部のみ適用されないようにしてもよい。
 <その他の変形例>
 例えば、コントローラデバイス113aは、XR空間だけでなく、ゲーム等の2次元空間及び3次元空間の操作に用いることも可能である。
<<4.その他>>
 <コンピュータの構成例>
 上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
 図40は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 コンピュータ2000において、CPU(Central Processing Unit)2001,ROM(Read Only Memory)2002,RAM(Random Access Memory)2003は、バス2004により相互に接続されている。
 バス2004には、さらに、入出力インタフェース2005が接続されている。入出力インタフェース2005には、入力部2006、出力部2007、記憶部2008、通信部2009、及びドライブ2010が接続されている。
 入力部2006は、入力スイッチ、ボタン、マイクロフォン、撮像素子などよりなる。出力部2007は、ディスプレイ、スピーカなどよりなる。記憶部2008は、ハードディスクや不揮発性のメモリなどよりなる。通信部2009は、ネットワークインタフェースなどよりなる。ドライブ2010は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア2011を駆動する。
 以上のように構成されるコンピュータ2000では、CPU2001が、例えば、記憶部2008に記録されているプログラムを、入出力インタフェース2005及びバス2004を介して、RAM2003にロードして実行することにより、上述した一連の処理が行われる。
 コンピュータ2000(CPU2001)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア2011に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
 コンピュータ2000では、プログラムは、リムーバブルメディア2011をドライブ2010に装着することにより、入出力インタフェース2005を介して、記憶部2008にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部2009で受信し、記憶部2008にインストールすることができる。その他、プログラムは、ROM2002や記憶部2008に、あらかじめインストールしておくことができる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 さらに、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 <構成の組み合わせ例>
 本技術は、以下のような構成をとることもできる。
(1)
 XR(クロスリアリティ)に関連する要素の状態を認識する認識部と、
 前記XRに関連する要素の状態に基づいて、XR空間で仮想オブジェクトに適用する物理法則を制御する空間制御部と
 を備える情報処理装置。
(2)
 前記XRに関連する要素の状態は、前記XR空間の状態、及び、前記XR空間を使用するユーザの状態のうち少なくとも1つを含み、
 前記空間制御部は、前記XR空間の状態、及び、前記ユーザの状態のうち少なくとも1つに基づいて、前記仮想オブジェクトに適用する物理法則を制御する
 前記(1)に記載の情報処理装置。
(3)
 前記XR空間の状態は、前記XR空間内の前記仮想オブジェクトの状態及び属性、並びに、前記XR空間における仮想の背景のうち少なくとも1つを含み、
 前記空間制御部は、前記XR空間内の前記仮想オブジェクトの状態及び属性、並びに、前記仮想の背景のうち少なくとも1つに基づいて、前記仮想オブジェクトに適用する物理法則を制御する
 前記(2)に記載の情報処理装置。
(4)
 前記仮想オブジェクトの状態は、前記仮想オブジェクトに対する操作方法、及び、前記XR空間内の前記仮想オブジェクトの位置のうち少なくとも1つを含み、
 前記空間制御部は、前記仮想オブジェクトに対する操作方法、及び、前記XR空間内の前記仮想オブジェクトの位置のうち少なくとも1つに基づいて、前記仮想オブジェクトに適用する物理法則を制御する
 前記(3)に記載の情報処理装置。
(5)
 前記仮想オブジェクトに対する操作方法は、前記仮想オブジェクトの操作に用いるツールの種類、属性、及び、使用方法のうち少なくとも1つを含み、
 前記空間制御部は、前記ツールの種類、属性、及び、使用方法のうち少なくとも1つに基づいて、前記仮想オブジェクトに適用する物理法則を制御する
 前記(4)に記載の情報処理装置。
(6)
 前記ツールは、現実のツール又は仮想のツールである
 前記(5)に記載の情報処理装置。
(7)
 前記現実のツールは、現実の入力デバイスを含み、
 前記ツールの使用方法は、前記入力デバイスの持ち方を含み、
 前記空間制御部は、前記入力デバイスの持ち方に基づいて、前記仮想オブジェクトに適用する物理法則を制御する
 前記(6)に記載の情報処理装置。
(8)
 前記入力デバイスは、
  指が挿入されるリング部と、
  前記リング部に挿入された前記指により操作可能な操作部と、
  前記指により前記操作部を操作する場合に手のひらにより保持される保持部と
 を備える
 前記(7)に記載の情報処理装置。
(9)
 前記空間制御部は、前記仮想のツールに応じた物理法則を前記仮想オブジェクトに適用する
 前記(6)乃至(8)のいずれかに記載の情報処理装置。
(10)
 前記仮想のツールに対するユーザの使用履歴に基づいて、前記ユーザに対して前記仮想のツールに適用する物理法則を学習する学習部を
 さらに備える前記(6)乃至(9)のいずれかに記載の情報処理装置。
(11)
 前記ユーザの状態は、前記ユーザの位置、動作、及び、ジェスチャのうち少なくとも1つを含み、
 前記空間制御部は、前記ユーザの位置、動作、及び、ジェスチャのうち少なくとも1つに基づいて、前記仮想オブジェクトに適用する物理法則を制御する
 前記(2)乃至(10)のいずれかに記載の情報処理装置。
(12)
 前記空間制御部は、前記XRに関連する要素の状態に基づいて、前記仮想オブジェクトに物理法則を適用するモードと前記仮想オブジェクトに物理法則を適用しないモードとを切り替える
 前記(1)乃至(11)のいずれかに記載の情報処理装置。
(13)
 前記空間制御部は、前記モードを切り替える条件が満たされた場合、前記モードの切替をユーザに提案し、前記ユーザの選択に従って、前記モードの切替を制御する
 前記(12)に記載の情報処理装置。
(14)
 前記空間制御部は、前記XR空間において、物理法則を適用する前記仮想オブジェクトの表示態様と、物理法則を適用しない前記仮想オブジェクトの表示態様とを区別する
 前記(1)乃至(13)のいずれかに記載の情報処理装置。
(15)
 前記空間制御部は、前記XR空間の所定のエリアにおいて、前記仮想オブジェクトに物理法則の少なくとも一部を適用しない
 前記(1)乃至(14)のいずれかに記載の情報処理装置。
(16)
 前記空間制御部は、複数のユーザにより前記XR空間が共有される場合、前記仮想オブジェクトに対して適用する物理法則を前記ユーザ間で共通にする
 前記(1)乃至(15)のいずれかに記載の情報処理装置。
(17)
 前記空間制御部は、前記仮想オブジェクト毎又は前記仮想オブジェクトの種類毎に、物理法則の適用の有無、適用する物理法則の種類、又は、物理法則を適用する条件を設定する
 前記(1)乃至(16)のいずれかに記載の情報処理装置。
(18)
 前記空間制御部は、前記XR空間において、適用する物理法則に基づいて、前記仮想オブジェクトの挙動を制御する
 前記(1)乃至(17)のいずれかに記載の情報処理装置。
(19)
 情報処理装置が、
 XRに関連する要素の状態を認識し、
 前記XRに関連する要素の状態に基づいて、XR空間で仮想オブジェクトに適用する物理法則を制御する
 情報処理方法。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
 101 XRシステム, 111 情報処理装置, 112 端末装置, 113,113a,113b コントローラデバイス, 202 制御部, 203 表示部, 211 情報処理部, 221 認識部, 222 操作制御部, 223 空間制御部, 224 音声制御部, 225 触覚提示制御部, 226 学習部, 252 センシング部, 253 制御部, 254 表示部, 255 音声出力部, 301 リング部, 301A 孔, 302a 操作部, 302b 保持部, 312a,312b 上面, 313 底面, 331乃至334 操作部材, 351 マーカ, 371乃至372b 触覚デバイス, 401 カメラ

Claims (19)

  1.  XR(クロスリアリティ)に関連する要素の状態を認識する認識部と、
     前記XRに関連する要素の状態に基づいて、XR空間で仮想オブジェクトに適用する物理法則を制御する空間制御部と
     を備える情報処理装置。
  2.  前記XRに関連する要素の状態は、前記XR空間の状態、及び、前記XR空間を使用するユーザの状態のうち少なくとも1つを含み、
     前記空間制御部は、前記XR空間の状態、及び、前記ユーザの状態のうち少なくとも1つに基づいて、前記仮想オブジェクトに適用する物理法則を制御する
     請求項1に記載の情報処理装置。
  3.  前記XR空間の状態は、前記XR空間内の前記仮想オブジェクトの状態及び属性、並びに、前記XR空間における仮想の背景のうち少なくとも1つを含み、
     前記空間制御部は、前記XR空間内の前記仮想オブジェクトの状態及び属性、並びに、前記仮想の背景のうち少なくとも1つに基づいて、前記仮想オブジェクトに適用する物理法則を制御する
     請求項2に記載の情報処理装置。
  4.  前記仮想オブジェクトの状態は、前記仮想オブジェクトに対する操作方法、及び、前記XR空間内の前記仮想オブジェクトの位置のうち少なくとも1つを含み、
     前記空間制御部は、前記仮想オブジェクトに対する操作方法、及び、前記XR空間内の前記仮想オブジェクトの位置のうち少なくとも1つに基づいて、前記仮想オブジェクトに適用する物理法則を制御する
     請求項3に記載の情報処理装置。
  5.  前記仮想オブジェクトに対する操作方法は、前記仮想オブジェクトの操作に用いるツールの種類、属性、及び、使用方法のうち少なくとも1つを含み、
     前記空間制御部は、前記ツールの種類、属性、及び、使用方法のうち少なくとも1つに基づいて、前記仮想オブジェクトに適用する物理法則を制御する
     請求項4に記載の情報処理装置。
  6.  前記ツールは、現実のツール又は仮想のツールである
     請求項5に記載の情報処理装置。
  7.  前記現実のツールは、現実の入力デバイスを含み、
     前記ツールの使用方法は、前記入力デバイスの持ち方を含み、
     前記空間制御部は、前記入力デバイスの持ち方に基づいて、前記仮想オブジェクトに適用する物理法則を制御する
     請求項6に記載の情報処理装置。
  8.  前記入力デバイスは、
      指が挿入されるリング部と、
      前記リング部に挿入された前記指により操作可能な操作部と、
      前記指により前記操作部を操作する場合に手のひらにより保持される保持部と
     を備える
     請求項7に記載の情報処理装置。
  9.  前記空間制御部は、前記仮想のツールに応じた物理法則を前記仮想オブジェクトに適用する
     請求項6に記載の情報処理装置。
  10.  前記仮想のツールに対するユーザの使用履歴に基づいて、前記ユーザに対して前記仮想のツールに適用する物理法則を学習する学習部を
     さらに備える請求項6に記載の情報処理装置。
  11.  前記ユーザの状態は、前記ユーザの位置、動作、及び、ジェスチャのうち少なくとも1つを含み、
     前記空間制御部は、前記ユーザの位置、動作、及び、ジェスチャのうち少なくとも1つに基づいて、前記仮想オブジェクトに適用する物理法則を制御する
     請求項2に記載の情報処理装置。
  12.  前記空間制御部は、前記XRに関連する要素の状態に基づいて、前記仮想オブジェクトに物理法則を適用するモードと前記仮想オブジェクトに物理法則を適用しないモードとを切り替える
     請求項1に記載の情報処理装置。
  13.  前記空間制御部は、前記モードを切り替える条件が満たされた場合、前記モードの切替をユーザに提案し、前記ユーザの選択に従って、前記モードの切替を制御する
     請求項12に記載の情報処理装置。
  14.  前記空間制御部は、前記XR空間において、物理法則を適用する前記仮想オブジェクトの表示態様と、物理法則を適用しない前記仮想オブジェクトの表示態様とを区別する
     請求項1に記載の情報処理装置。
  15.  前記空間制御部は、前記XR空間の所定のエリアにおいて、前記仮想オブジェクトに物理法則の少なくとも一部を適用しない
     請求項1に記載の情報処理装置。
  16.  前記空間制御部は、複数のユーザにより前記XR空間が共有される場合、前記仮想オブジェクトに対して適用する物理法則を前記ユーザ間で共通にする
     請求項1に記載の情報処理装置。
  17.  前記空間制御部は、前記仮想オブジェクト毎又は前記仮想オブジェクトの種類毎に、物理法則の適用の有無、適用する物理法則の種類、又は、物理法則を適用する条件を設定する
     請求項1に記載の情報処理装置。
  18.  前記空間制御部は、前記XR空間において、適用する物理法則に基づいて、前記仮想オブジェクトの挙動を制御する
     請求項1に記載の情報処理装置。
  19.  情報処理装置が、
     XRに関連する要素の状態を認識し、
     前記XRに関連する要素の状態に基づいて、XR空間で仮想オブジェクトに適用する物理法則を制御する
     情報処理方法。
PCT/JP2023/037689 2022-10-24 2023-10-18 情報処理装置及び情報処理方法 WO2024090303A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202263418768P 2022-10-24 2022-10-24
US63/418,768 2022-10-24

Publications (1)

Publication Number Publication Date
WO2024090303A1 true WO2024090303A1 (ja) 2024-05-02

Family

ID=90830787

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/037689 WO2024090303A1 (ja) 2022-10-24 2023-10-18 情報処理装置及び情報処理方法

Country Status (1)

Country Link
WO (1) WO2024090303A1 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017043400A1 (ja) * 2015-09-08 2017-03-16 ソニー株式会社 情報処理装置、方法およびコンピュータプログラム
JP2017163560A (ja) * 2017-04-06 2017-09-14 京セラ株式会社 表示装置、システムおよび表示方法
WO2019082853A1 (ja) * 2017-10-26 2019-05-02 株式会社ソニー・インタラクティブエンタテインメント 画像処理装置、画像処理方法およびプログラム
JP2019083028A (ja) * 2018-12-25 2019-05-30 株式会社コロプラ 情報処理方法、プログラム及びコンピュータ
WO2022055822A1 (en) * 2020-09-11 2022-03-17 Sterling Labs Llc Method of interacting with objects in an environment
JP2022093785A (ja) * 2020-12-14 2022-06-24 グリー株式会社 情報処理システム、情報処理方法、情報処理プログラム
JP2022119767A (ja) * 2017-06-29 2022-08-17 バーブ サージカル インコーポレイテッド ロボット外科システムにおける仮想現実訓練、模擬、及び協働

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017043400A1 (ja) * 2015-09-08 2017-03-16 ソニー株式会社 情報処理装置、方法およびコンピュータプログラム
JP2017163560A (ja) * 2017-04-06 2017-09-14 京セラ株式会社 表示装置、システムおよび表示方法
JP2022119767A (ja) * 2017-06-29 2022-08-17 バーブ サージカル インコーポレイテッド ロボット外科システムにおける仮想現実訓練、模擬、及び協働
WO2019082853A1 (ja) * 2017-10-26 2019-05-02 株式会社ソニー・インタラクティブエンタテインメント 画像処理装置、画像処理方法およびプログラム
JP2019083028A (ja) * 2018-12-25 2019-05-30 株式会社コロプラ 情報処理方法、プログラム及びコンピュータ
WO2022055822A1 (en) * 2020-09-11 2022-03-17 Sterling Labs Llc Method of interacting with objects in an environment
JP2022093785A (ja) * 2020-12-14 2022-06-24 グリー株式会社 情報処理システム、情報処理方法、情報処理プログラム

Similar Documents

Publication Publication Date Title
JP7411133B2 (ja) 仮想現実ディスプレイシステム、拡張現実ディスプレイシステム、および複合現実ディスプレイシステムのためのキーボード
US11481031B1 (en) Devices, systems, and methods for controlling computing devices via neuromuscular signals of users
US10509468B2 (en) Providing fingertip tactile feedback from virtual objects
CN110832439B (zh) 发光用户输入设备
US10564730B2 (en) Non-collocated haptic cues in immersive environments
EP3425481B1 (en) Control device
JP7118007B2 (ja) 視野周辺の視覚的背光
US10055019B2 (en) Electromagnet-laden glove for haptic pressure feedback
US11231791B1 (en) Handheld controllers for artificial reality and related methods
US11132058B1 (en) Spatially offset haptic feedback
KR20190059726A (ko) 가상현실 환경에서의 사용자와 객체 간 상호 작용 처리 방법
JPWO2021059359A1 (ja) アニメーション制作システム
EP3931668B1 (en) Virtual reality controller
WO2024090303A1 (ja) 情報処理装置及び情報処理方法
JP6278546B1 (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
WO2024090299A1 (ja) 情報処理装置及び情報処理方法
WO2021176861A1 (ja) 情報処理装置及び情報処理方法、コンピュータプログラム、並びに拡張現実感システム
WO2024090304A1 (ja) 入力デバイス、制御装置、制御方法、情報処理装置、及び、情報処理方法
JP2022153476A (ja) アニメーション制作システム
WO2024090300A1 (ja) 情報処理装置及び情報処理方法
WO2024090298A1 (ja) 情報処理装置、情報処理方法、及び、入力デバイス
JP2019020836A (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
WO2021059367A1 (ja) アニメーション制作システム
JP2018206353A (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
WO2022065120A1 (ja) 情報処理装置、情報処理方法、及び、プログラム