The present technology relates to an information processing apparatus, an information processing method, and a program that are applicable to haptic presentation.
In recent years, a technology for presenting various haptic perceptions to a user has been developed. For example, a haptic perception corresponding to a vibration pattern is presented to the user by vibrating an apparatus with a predetermined vibration pattern.
Patent Literature 1 describes a haptic device configured to be wearable on the body of a user. A moveable body configured to be capable of vibrating in a plane by an X actuator and a Y actuator is provided to the haptic device. The movable body is vibrated on the basis of a vibration waveform using, for example, a detection threshold value of a human haptic receptor. This vibration waveform is set to include amplitude and frequency ranges that are detectable or undetectable by a person. As a result, it is possible to present a variety of haptic perceptions such as frictional force to a user (paragraphs [0019], [0021], and [0030] to [0033] and FIGS. 1 and 3 of Patent Literature 1, etc.).
Patent Literature 1: WO 2016/031118
In the future, the technology for presenting a haptic perception to a user is expected to be applied to various apparatuses such as amusement machines, portable apparatuses, and wearable apparatuses, and a technology capable of presenting a desired haptic perception is desired.
In view of the circumstances as described above, it is an object of the present technology to provide an information processing apparatus, an information processing method, and a program that are capable of presenting a desired haptic perception.
In order to achieve the above-mentioned object, an information processing apparatus according to an embodiment of the present technology includes: a haptic control unit.
The haptic control unit controls, on the basis of a haptic presentation signal according to haptic content to be presented to a haptic presentation apparatus and contact body information relating to a contact body that is in contact with the haptic presentation apparatus, a haptic output signal to be output to the haptic presentation apparatus.
In this information processing apparatus, a haptic output signal that is an output to the haptic presentation apparatus is controlled. The control of the haptic output signal is executed on the basis of the haptic presentation signal according to the haptic content for the haptic presentation apparatus and the contact body information relating to the contact body that is in contact with the haptic presentation apparatus. As a result, it is possible to control the haptic output signal in accordance with the contact body, and present a desired haptic perception.
The haptic control unit may control the haptic output signal on the basis of correction information and the haptic presentation signal, the correction information being used for correcting the haptic presentation signal on the basis of the contact body information.
This makes it possible to correct the operation of haptic presentation apparatus in accordance with the contact body. As a result, it is possible to present a desired haptic perception with high accuracy.
The haptic presentation signal may be a signal that represents an amplitude and a frequency component of a vibrating device for exciting the haptic presentation apparatus. In this case, the haptic control unit may generate, on the basis of the contact body information, the correction information regarding at least one of the amplitude and the frequency component represented by the haptic presentation signal.
This makes it possible to correct the haptic presentation signal in detail. As a result, it is possible to present a desired haptic perception with high accuracy
The contact body may include an attachment to be mounted on the haptic presentation apparatus. In this case, the haptic control unit may acquire, as the contact body information, mass information regarding mass of the attachment.
As a result, even in the case where the attachment is mounted, it is possible to appropriately vibrate the haptic presentation apparatus and exhibit excellent haptic effects.
The haptic control unit may calculate, on the basis of the mass information, a rate of change in acceleration along with mounting of the attachment, the acceleration being generated in the haptic presentation apparatus due to vibration of the vibrating device.
Thus, the ratio of the change in the acceleration before and after mounting the attachment is calculated. As a result, it is possible to appropriately correct the change in the haptic perception, or the like along with the mounting of the attachment.
The haptic control unit may correct the amplitude of the haptic presentation signal on the basis of the rate of change in the acceleration.
As a result, it is possible to correct the intensity of the vibration with high accuracy, and present haptic content at desired strength.
The haptic control unit may calculate, on the basis of the mass information, a shift amount of a resonant frequency of a vibration system including the vibrating device along with mounting of the attachment.
Thus, the amount of change in the resonant frequency before and after the mounting of the attachment is calculated. As a result, it is possible to appropriately correct the change in the haptic perception along with the mounting of the attachment.
The haptic control unit may correct, on the basis of the shift amount of the resonant frequency, the frequency component of the haptic presentation signal.
This makes it possible to perform haptic presentation using the resonant frequency after the mounting of the attachment, for example. As a result, it is possible to present haptic content at sufficient strength.
The attachment may be capable of supplying device information of the attachment. In this case, the haptic control unit may acquire the mass information on the basis of the device information of the attachment.
As a result, it is possible to acquire the mass of the attachment easily with high accuracy, and easily present a desired haptic perception even in the case where the attachment is mounted.
The haptic control unit may acquire the mass information on the basis of input information input by a user.
As a result, it is possible to correct the haptic presentation signal regardless of the type of the attachment or the like.
The haptic presentation apparatus may include an acceleration sensor for detecting acceleration of the haptic presentation apparatus. In this case, the haptic control unit may calculate the mass information on the basis of a detection result of the acceleration sensor.
As a result, for example, it is possible to calculate the mass or the like of an arbitrary attachment, and appropriately correct the haptic presentation signal.
The acceleration sensor may detect first acceleration generated, in accordance with a predetermined vibration signal, in the haptic presentation apparatus on which the attachment has been mounted. In this case, the haptic control unit may acquire second acceleration generated, in accordance with the predetermined vibration signal, in the haptic presentation apparatus on which the attachment has not been mounted, and calculate the mass information on the basis of the first acceleration and the second acceleration.
This makes it possible to calculate the mass or the like of an arbitrary attachment with high accuracy. As a result, it is possible to present a desired haptic perception with high accuracy.
The haptic control unit may calculate the mass information on the basis of a temporal change in the acceleration detected by the acceleration sensor.
As a result, for example, in the case where the use status of the haptic presentation apparatus changes, it is possible to appropriately calculate the mass or the like of the attachment.
The vibrating device may be supported by a casing of the haptic presentation apparatus. In this case, the haptic control unit may correct the haptic presentation signal on the basis of an interference condition regarding a mechanical interference between the vibrating device and the casing.
This avoid situations where the vibrating device interferes with the casing. As a result, it is possible to suppress abnormal sounds and the like and appropriately present a desired haptic perception.
The vibrating device may be a linear vibrating actuator.
As a result, it is possible to easily present a variety of haptic perceptions.
The linear vibrating actuator may be a voice coil motor.
As a result, it is possible to easily present a variety of haptic perceptions at sufficient strength.
The contact body may include a hand of a user gripping the haptic presentation apparatus. In this case, the haptic control unit may acquire, as the contact body information, gripping-force information regarding a gripping force of the user gripping the haptic presentation apparatus.
As a result, even in the case where the force of the like by which the user grips the haptic presentation apparatus changes, it is possible to appropriately vibrate the haptic presentation apparatus and exhibit excellent haptic effects.
The haptic presentation apparatus may include an acceleration sensor for detecting acceleration of the haptic presentation apparatus. In this case, the haptic control unit may calculate the gripping-force information on the basis of a detection result of the acceleration sensor.
This makes it possible to easily detect the change or the like of the gripping force of the user. As a result, it is possible to appropriately correct the change in the haptic perception, or the like due to the change in the gripping force.
An information processing method according to an embodiment of the present technology is an information processing method executed by a computer system, including: controlling, on the basis of a haptic presentation signal according to haptic content to be presented to a haptic presentation apparatus and contact body information relating to a contact body that is in contact with the haptic presentation apparatus, a haptic output signal to be output to the haptic presentation apparatus.
A program according to an embodiment of the present technology causes a computer system to execute the following step of:
controlling, on the basis of a haptic presentation signal according to haptic content to be presented to a haptic presentation apparatus and contact body information relating to a contact body that is in contact with the haptic presentation apparatus, a haptic output signal to be output to the haptic presentation apparatus.
As described above, in accordance with the present technology, it is possible to present a desired haptic perception. Note that the effect described here is not necessarily limitative, and any of the effects described in the present disclosure may be provided.
Hereinafter, embodiments according to the present technology will be described with reference to the drawings.
[Configuration of Haptic Presentation System]
The haptic presentation system 100 includes a game controller 10, an attachment 20, a game console body 30, an imaging unit 50, and a display unit 51. In the example shown in
For example, an image of game content generated by the game console body 30 is displayed on the display unit 51. The user 1 is capable of proceeding with the game content by performing an input operation using the composite controller 21 (the game controller 10 and the attachment 20) in accordance with the displayed content of the display unit 51. Note that the attachment 20 can be attached/detached to/from the game controller 10 as appropriate during activation of the game console body 30.
Further, in the haptic presentation system 100, for example, the game controller 10 vibrates to present predetermined haptic content to the user 1. More specifically, the vibration of the game controller 10 is transmitted to the user 1 via the attachment 20, whereby a haptic presentation (Haptics presentation) corresponding to the vibration waveform (haptic content) is realized.
Note that, in the present disclosure, the haptic perception (Haptics) is a perception generated by touching an object by a person, for example. For example, the haptic perception includes a feeling when touching an object, a force sense (haptic) received from an object, and the like. Further, the haptic content is content representing the above-mentioned haptic perception, and for example, waveforms, intensity, duration, and the like of vibration are set as parameters of the haptic content. For example, in a game, vibration representing the impact when firing a gun, vibration representing being damaged, or the like becomes haptic content. In addition, the present technology is applicable to arbitrary haptic content.
Hereinafter, a haptic perception presented by using vibration will be mainly described. Further, the haptic content will be referred to simply as the haptic in some cases. In this embodiment, the game controller 10 corresponds to the haptic presentation apparatus. Further, the attachment 20 is an example of a contact body that is in contact with the haptic presentation apparatus.
The grip portion 11 is a rod-shaped portion for the user 1 to grip. Further, the grip portion 11 functions as a casing 13 (exterior) of the game controller 10. The distal end portion 12 has a spherical shape and is provided at one end of the grip portion 11. The distal end portion 12 is configured to emit light in a predetermined color as a whole, and functions as a marker such as a motion capture for detecting the motion of the user 1.
For example, the user 1 grasping the game controller 10 (grip portion 11) is imaged by the imaging unit 50 described below. Further, the game console body 30 detects the position and the movement of the distal end portion 12 that emits light of a predetermined color from the image obtained by imaging the user 1. This makes it possible to detect the operation of moving the game controller 10 by the user 1, or the like. In this way, the game controller 10 functions as a marker of the motion controller that performs an operation input by the operation of the user 1.
As shown in
The communication unit 14 communicates with the game console body 30. For example, the communication unit 14 receives various control signals generated by the game console body 30, and outputs them to the respective units of the game controller 10. Further, for example, the communication unit 14 transmits data generated by the respective units (the input device 15, the acceleration sensor 16, and the like) of the game controller 10 to the game console body 30.
Further, in the case where the attachment 20 capable of communicating with the game controller 10 is mounted, the communication unit 14 performs communication with the attachment 20. For example, the communication unit 14 reads data or the like input by using the attachment 20, and transmits the read data or the like to the game console body 30. Further, in the case where the attachment 20 has the function of executing a predetermined operation (light emission function, vibrating function, etc.),the communication unit 14 receives various control signals generated by the game console body 30, and outputs them to the respective units of the attachment 20. In this way, the attachment 20 and the game console body 30 are capable of communicating with each other via the communication unit 14.
The communication unit 14 (game controller 10) is typically configured to perform wireless communication with the game console body 30 and wired communication with the attachment 20. The communication unit 14 is provided with, for example, a wireless communication module capable of performing predetermined wireless communication such as Bluetooth®, a wireless LAN, and WUSB (Wireless USB). In addition, the communication unit 14 is provided with a wired communication module or the like for performing wired communication with the attachment 20 via a predetermined connecting terminal (not shown).
In addition, the specific configuration of the communication unit 14, the communication mode of the game controller 10, and the like are not limited. For example, the game controller 10 and the attachment 20 may be connected to each other by wireless communication. Further, for example, the game controller 10 and the game console body 30 may be connected to each other by wired communication. The communication unit 14 may be appropriately configured in accordance with these communication modes of the game controller 10.
The input device 15 is a device for detecting an operational input of the user 1. In this embodiment, as shown in
The acceleration sensor 16 detects the acceleration of the game controller 10. The acceleration sensor 16 is fixedly located inside the casing 13 of the game controller 10 to detect the acceleration generated in the game controller 10. The specific configuration of the acceleration sensor 16 is not limited. For example, a three-axis acceleration sensor capable of detecting acceleration in three-axis directions (XYZ directions) perpendicular to each other is used. The acceleration data detected via the acceleration sensor 16 is transmitted to the game console body 30 via the communication unit 14.
Note that the game controller 10 is appropriately provided with a gyroscopic sensor, an inertial sensor, or the like in addition to the acceleration sensor 16. The type or the like of the sensor provided on the game controller 10 is not limited. For example, a pressure sensor for detecting the gripping force of the user 1 or a temperature sensor may be provided. In addition, an arbitrary sensor for detecting various states of the game controller 10 may be provided as appropriate.
The voice coil motor 17 (VCM) is a vibrating actuator for haptic presentation and is a linear vibrating actuator including a vibrator that linearly vibrates. In the linear vibrating actuator, a variety of haptic perceptions can be presented by appropriately controlling the amplitude and vibration frequency of the vibrator that linearly moves. Note that as the linear vibrating actuator, an actuator, an LRA (Linear Resonant Actuator), an actuator using a piezoelectric element, or the like capable of providing a pressure-based haptic presentation can be used, in addition to the voice coil motor 17. These linear vibrating actuators are examples of a vibrating device according to this embodiment.
The vibrator 52 has, for example, a columnar shape with the vibration direction as an axis. An electric wire or the like is wound around the side surface of the vibrator 52 to form a coil 54. The stator 53 is fixedly disposed in the casing 13 and has a cylindrical space for housing the vibrator 52 movably along the vibration direction. The inner side surface of the cylindrical space, a magnet 55 is disposed with one of the magnetic poles (S pole or N pole) facing the vibrator 52. Further, the vibrator 52 and the stator 53 are connected to each other via an elastic body such as a spring (not shown).
For example, by passing an AC current to the coil 54 of the vibrator 52, the vibrator 52 reciprocates along the vibration direction. The reaction force generated by the reciprocating motion acts on the casing 13 of the game controller 10, and the game controller 10 itself vibrates. As a result, it is possible to perform haptic presentation using vibration for the user 1 grasping the game controller 10 (grip portion 11).
The voice coil motor 17 is driven by, for example, a voltage driving. For example, from a drive source (not shown), a voltage signal for driving the voice coil motor 17 (hereinafter, referred to as the drive signal) is applied to the coil 54. This drive signal is generated on the basis of a control value or the like output from the game console body 30 described below. Note that the present technology is not limited to the case where the voice coil motor 17 is voltage-driven, and, for example, a configuration in which the voice coil motor 17 is current-driven may be employed.
In the voice coil motor 17, for example, by controlling the width and period of the reciprocating motion of the vibrator 52, it is possible to generate vibration at an arbitrary amplitude for a wide frequency band. Thus, the voice coil motor 17 can be said to be a broadband actuator that generates broadband vibration. As a result, it is possible to greatly improve the expression of the haptic perception (Haptics). The operation of the voice coil motor 17 will be described in detail below.
The specific configuration of the voice coil motor 17 is not limited. For example, as shown in
The attachment 20 is, for example, an attachment to be mounted on the game controller 10 Typically, the attachment 20 is disposed in contact with the game controller 10 so that the relative position with the game controller 10 is fixed.
The attachment 20a shown in Part A of
Further, the attachment 20a is provided with a trigger-type input device 15. The trigger-type input device 15 is connected to the game controller 10 via a connecting terminal or the like (not shown). For example, the user 1 is capable of performing a predetermined input operation such as shooting by pulling the trigger (input device 15) while holding the grip of the attachment 20a. In this way, the attachment 20a can be said to have a function of assisting the input operation of the user 1.
The attachment 20b shown in Part B of
The attachment 20c shown in Part C of
The attachments 20a to 20d are each the attachment 20 communicably connected to the game controller 10 via a connecting terminal. For example, the attachments 20a to 20d each transmit its own device information in response to a request signal from the game controller 10. That is, these attachments 20 are capable of supplying device information of the corresponding attachment 20. The device information includes, for example, information for specifying the attachment 20 such as the format, model number, manufacturer, serial number, and the like of the attachment 20.
Note that the attachment 20 that does not communicate with the game controller 10 may be used. For example, the attachment 20 includes an external battery having no communication function. Alternatively, the attachment 20 that is not electrically connected to the game controller 10 may be used.
For example, a case, a cover, or the like to be mounted on the game controller 10 is also included in the attachment 20 in the present disclosure. In addition, the specific configuration of the form, type, function, and the like of the attachment 20 is not limited, and for example, an arbitrary object to be mounted on the game controller 10 may be the attachment 20.
With reference to
The communication unit 31 communicates with the game controller 10. The communication unit 31 is appropriately configured so as to be capable of communicating with, for example, the communication unit 14 of the game controller 10. As the communication unit 31, for example, a wireless communication module or the like capable of performing communication in accordance with a wireless communication standard similar to that of the communication unit 14 is used as appropriate. The communication unit 31 includes a reception unit 34 and a transmission unit 35.
The reception unit 34 receives various types of data from the game controller 10, and outputs the received data to the respective units of the game controller 10 as appropriate. For example, input data (button command, etc.) input using the game controller 10 or the input device 15 of the attachment 20 or acceleration data detected by the acceleration sensor 16 is received. Further, for example, device information of the attachment 20 is received. The transmission unit 35 transmits various control signals and command values generated by the control unit 33 described below to the game controller 10.
The storage unit 32 is a non-volatile storage device, and a storage device such as an HDD (Hard Disk Drive) and a flash memory is used. The storage unit 32 stores a control program 36 and the like for controlling the operation of the entire game console body 30.
Further, a mass database 37 is stored in the storage unit 32. In the mass database 37, a list of information (format, model number, etc.) for specifying each of the attachments 20 that can be mounted on the game controller 10 and the mass of the attachment 20 is recorded. The method of installing the control program 36 and the mass database 37 on the game console body 30 is not limited.
The control unit 33 controls the operation of the respective units of the game console body 30, and generates various control signals (a haptic output signal described below, etc.) to be transmitted to the game controller 10. The control unit 33 functions as an information processing apparatus according to this embodiment.
The control unit 33 has a hardware configuration that is necessary for a computer, such as a CPU (Central Processing Unit) and a memory (a RAM (Random Access Memory) and a ROM (Read Only Memory)). An information processing method according to the present technology is realized by the CPU loading the control program 36 according to the present technology stored in the storage unit 32 into the RAM and executing the program.
For example, a PLD (Programmable Logic Device) such as an FPGA (Field Programmable Gate Array), or another device such as an ASIC (Application Specific Integrated Circuit) may be used as the control unit 33.
In this embodiment, the CPU of the control unit 33 executes the control program 36, thereby realizing, as the functional blocks, a content processing unit 38 and a vibration-data processing unit 39. Note that, in order to realize the respective functional blocks, dedicated hardware such as an IC (integrated circuit) may be used as appropriate.
The content processing unit 38 executes various processes that cause game content to proceed. For example, the video and audio of the game content are generated in accordance with the input data input by the user 1, the detected result of the motion capture, and the like.
The content processing unit 38 generates a haptic presentation signal according to haptic content to be presented to the game controller 10. Here, the haptic presentation signal is a signal representing the vibration waveform of the haptic content, typically a signal representing the amplitude and frequency component of the voice coil motor 17 for exciting the game controller 10. As the haptic presentation signal, for example, a signal that includes a control value (input value) for driving the voice coil motor 17 is generated. For example, the vibration of the amplitude and the frequency component (vibration waveform) represented by the haptic presentation signal can be generated by driving the voice coil motor 17 with the control value included in the haptic presentation signal.
In this embodiment, the haptic presentation signal is designed so that a predetermined haptic perception can be presented to the user 1 using the game controller 10 alone. That is, it can be said that the haptic presentation signal is a signal representing the vibration waveform for presenting predetermined haptic content by vibrating the game controller 10 on which the attachment 20 has not been mounted. Note that the content processing unit 38 may be provided in a computer (e.g., an external server apparatus) other than the control unit 33.
The specific configuration of the haptic presentation signal is not limited, and a signal capable of presenting predetermined haptic content may be generated as appropriate in accordance with, for example, the configuration of the voice coil motor 17. Note that as described below, in the haptic presentation system 100, the haptic presentation signal generated by the content processing unit 38 is corrected and used for controlling the voice coil motor 17. Therefore, the haptic presentation signal generated by the content processing unit 38 is not necessarily used as it is for controlling the voice coil motor 17.
The vibration-data processing unit 39 controls the vibration of the game controller 10. In this embodiment, the vibration control of the game controller 10 (drive control of the voice coil motor 17, etc.) according to the attachment 20 mounted on the game controller 10 is executed.
The vibration-data processing unit 39 controls, on the basis of the haptic presentation signal according to haptic content to be presented to the game controller 10 and attachment information regarding the attachment 20 that is contact with the game controller 10, the haptic output signal to be output to the game controller 10. The haptic output signal is, for example, a signal that is to be actually output to the game controller 10 in order to present haptic content. By controlling this haptic output signal, the vibration of the game controller 10 is controlled. In this embodiment, the vibration-data processing unit 39 corresponds to the haptic control unit.
The vibration-data processing unit 39 acquires attachment information regarding the attachment 20 that is in contact with the game controller 10. That is, the vibration-data processing unit 39 acquires attachment information of the attachment 20 that is mounted on the game controller 10 and is in contact with the casing 13 or the like of the game controller 10. In this embodiment, the attachment information corresponds to the contact body information.
Specifically, as the attachment information, mass data regarding the mass of the attachment 20 is acquired. The mass data is typically data indicating the mass (weight) of the attachment 20. In this embodiment, the mass data corresponds to the mass information.
For example, information regarding whether or not an attachment is mounted or device information of the attachment 20 is acquired as the attachment information. For example, on the basis of these pieces of information, the mass data of the attachment 20 is read from the mass database 37 or the like. Alternatively, the mass data of the attachment 20 is calculated on the basis of the detection result of the acceleration sensor 16 of the game controller 10, or the like. The method of acquiring the mass data of the attachment 20 will be described in detail below.
Further, in this embodiment, the vibration-data processing unit 39 controls the haptic output signal on the basis of the correction information and the haptic presentation signal, the correction information being used to correct the haptic presentation signal on the basis of the attachment information. For example, the signal obtained by correcting the haptic presentation signal using the correction information is the haptic output signal. That is, the haptic output signal is generated by correcting the haptic presentation signal.
The correction information is information for correcting the haptic presentation signal, and is calculated on the basis of the above-mentioned mass data, for example. As the correction information, for example, the ratio (magnification, etc.) of correcting the amplitude and the frequency component represented by the haptic presentation signal, and the correction amount are calculated. Further, for example, a default correction amount or the like set in accordance with the type or the like of the attachment 20 may be used as the correction information. Hereinafter, correcting the haptic presentation signal on the basis of the correction information will be referred to simply as correcting the haptic presentation signal.
For example, the correction information is calculated using the mass data, which is attachment information, and the haptic presentation signal is corrected using the correction information. That is, a haptic output signal in which the vibration waveform (haptic presentation signal) of the voice coil motor 17 has been corrected in accordance with the mass of the attachment 20 is generated. The generated haptic output signal is transmitted to the game controller 10 via the transmission unit 35 of the communication unit 31. Then, by the drive source of the voice coil motor 17, a drive signal (voltage signal) is generated on the basis of the haptic output signal, and applied to the coil 54 of the voice coil motor 17. As a result, the drive control of the voice coil motor 17 can be executed.
Typically, the drive signal to be applied to the voice coil motor 17 will be a signal having a waveform similar to that of the haptic output signal. Therefore, it can be said that the vibration-data processing unit 39 controls the waveform of the drive signal or the like and controls the vibration of the voice coil motor 17 by correcting the original vibration waveform (haptic presentation signal). The method of calculating the correction information and the method of correcting the haptic presentation signal will be described in detail below.
The imaging unit 50 images the user 1 using the game controller 10 (attachment 20). The image of the user 1 is appropriately output to the game console body 30, and is used for a motion-capturing process of the user 1, or the like. Note that there may be a case where game content or the like that can progress without using the imaging unit 50 is played. Even in such a case, the present technology is applicable.
As the imaging unit 50, for example, a digital camera including an image sensor such as a CMOS (Complementary Metal-Oxide Semiconductor) sensor and a CCD (Charge Coupled Device) sensor is used. Further, for example, a distance sensor such as a TOF (Time of Flight) camera and a stereoscopic camera may be used as the imaging unit 50.
The display unit 51 displays, for example, an image generated by the content processing unit 38. In the example shown in
[Vibration Model of Voice Coil Motor]
The vibration model 60 (vibration system) includes the vibrator 52, a spring portion 61, a damper portion 62, and a vibration target 63. The vibrator 52 is the vibrator 52 (see
The spring portion 61 is an elastic body that connects the vibrator 52 and the stator 53 (the casing 13 of the game controller 10) to each other. The damper portion 62 is an element that generates a damping force that damps the vibration of the vibrator 52. As shown in
The vibration target 63 is an object to be excited by the voice coil motor 17. For example, in the case where the attachment 20 is mounted, a part obtained by removing the vibrator 52 from the game controller 10 and the attachment 20 (the composite controller 21) becomes the vibration target 63. Hereinafter, the mass of the vibrator 52 will be referred to as m, and the mass of the vibration target 63 will be referred to as M. Further, the spring coefficient of the spring portion 61 will be referred to as k, and the damper coefficient of the damper portion 62 will be referred to as c.
As shown in
For example, in the case where a game designer presents vibration content with a strong sense of experience, a haptic presentation signal containing many components of the resonant frequency f0 is generated to vibrate the voice coil motor 17. This makes it possible to present, for example, a powerful gun-firing feeling. In this way, by performing the game design considering the frequency characteristics of the voice coil motor 17 (actuator), excellent amusement performance can be exhibited.
For example, as shown in
The first factor is a decrease in the generated acceleration a due to an increase in the mass excited by the voice coil motor 17. For example, mounting the attachment 20 on the game controller 10 increases the mass M of the vibration target 63 of the voice coil motor 17. With the increase of the mass M, the acceleration a generated in the vibration target 63 decreases.
The mass of the game controller 10 excluding the mass m of the vibrator 52 of the voice coil motor 17 is denoted by M1, and the mass of the attachment 20 is denoted by M2. For example, in the case where the attachment 20 is not mounted, the mass of the vibration target 63 is M=M1. Further, for example, in the case where the attachment 20 is mounted, the mass of the vibration target 63 is M=M1+M2. Note that the total mass of the vibration system (the game controller 10 and the attachment 20) is M+m.
In the vibration target 63, the acceleration a is generated by the exciting force F of the voice coil motor 17 so as to satisfy the relationship F=M·a. Therefore, in the case where the attachment 20 is mounted, the generated acceleration a is expressed by the following formula.
a=F/M=F/(M1+M2) (1)
As shown in the formula (1), the generated acceleration a has a generally inversely-proportional relationship with respect to the increase of the mass M to be excited. That is, as compared with the case of exciting the game controller 10 alone (M=M1), the generated acceleration a decreases to be substantially inversely proportional to the increase (M2) of the mass M in the case where the attachment 20 is mounted (M=M1+M2).
As described above, when the attachment 20 is mounted and the mass of the vibration target 63 increases, the acceleration a generated by the voice coil motor 17 decreases. Note that actually, the exciting force F of the voice coil motor 17 also changes in accordance with a change in the resonant frequency f0 described below. Therefore, the relationship between the generated acceleration a and each mass becomes a more complex relationship.
The second factor is a decrease in the resonant frequency f0 of the vibration system due to an increase in the mass excited by the voice coil motor 17. For example, by mounting the attachment 20, the resonant frequency f0 (see
The resonant frequency f0 of the vibration system excited by the voice coil motor 17 is expressed by the following formula using a spring coefficient k of the spring portion 61 shown in
f
0=sqrt(k/M′)=(k/M′){circumflex over ( )}(½) (2)
Here, M′ represents a parameter called a reduced mass, and is expressed by M′=(m·M)/(m+M). Note that the effect of the damping force applied by the damper portion 62 for damping the vibration is ignored in the formula (2), and the formula (2) does not include a damper coefficient c and the like.
For example, in the case where the mass m of the vibrator 52 is sufficiently low relative to the mass M of the vibration target 63, the reduced mass M′ can be regarded as a substantially constant value with respect to an increase in the mass M. Meanwhile, the mass m of the vibrator 52 is set to be large in order to obtain a large generated acceleration a in the game controller 10. In such a case, the mass m of the vibrator 52 cannot be ignored. As a result, for example, as shown in the graph of
For example, in the case where the mass M1 of the game controller 10 excluding the vibrator 52 is 0.1 Kg, the resonant frequency f0 of the game controller 10 alone is approximately 53.4 Hz. Assumption is made that the attachment 20 is mounted on this game controller 10. In the case where the mass M2 of the attachment 20 is 0.1 kg, the mass M of the vibration target 63 is 0.2 kg. In this case, the resonant frequency f0 in the game controller 10 on which the attachment 20 is mounted is approximately 50.2 Hz. That is, in this vibration system, the resonant frequency f0 decreases by approximately 3 Hz by adding the attachment 20 of 0.1 kg.
As described above, the vibrational characteristics of the system of the game controller 10+the attachment 20 change by connecting the attachment 20 to the game controller 10 on which the voice coil motor 17 is mounted. That is, the generated acceleration a decreases by an increase in the mass M to be excited. The generated acceleration a has a relationship generally inversely proportional to the increase in the mass M as shown in the formula (1). Further, the resonant frequency f0 changes due to the change in the vibration system. The resonant frequency f0 as a system decreases as the mass M to be vibrated increases, as shown in the formula (2).
For example, the orientation of the acceleration generated by the vibration changes in accordance with the vibration period, and the sign of the acceleration is constantly replaced. Therefore, in the upper graph of
In the upper graph of
For example, since the effective value (intensity) of the drive signal 2 is appropriately set in accordance with the progress of the game content, a random temporal change is shown. The upper graph of
When the voice coil motor 17 is driven by the drive signal 2, the generated acceleration a is generated. Therefore, the waveform of the effective value of the generated acceleration a becomes a waveform similar to the waveform of the effective value of the drive signal 2. Note that the generated acceleration a changes mainly in a range higher than the reference level during a period in which the attachment 20 is not mounted (T<T0). Meanwhile, during the period in which the attachment 20 is mounted (T≥T0), the range in which the generated acceleration a changes shifts to a range lower than the reference level. That is, when the attachment 20 is mounted, the level of the generated acceleration a decreases.
The lower graph of
For example, at a time point before the attachment 20 is mounted, the ratio of the generated acceleration a and the drive signal 2 has an approximately constant value. Note that the change in the gripping force of the user 1, or the like changes the vibration conditions of the vibration system, or the like in some cases. In such a case, there is a possibility that the ratio of the generated acceleration a and the drive signal 2 changes somewhat.
Further, when the attachment 20 is mounted, the generated acceleration a decreases as compared with that before the mounting. For this reason, the ratio of the generated acceleration a and the drive signal 2 also decreases, and converges to a predetermined level corresponding to the mass of the attachment 20, or the like. As described above, in the case of not controlling the level of the drive signal 2 (haptic presentation signal), there is a possibility that the generated acceleration a decreases when the attachment 20 is mounted on the game controller 10.
[Process of Correcting Haptic Presentation Signal]
Whether or not the attachment 20 is mounted is determined (Step 101). For example, assumption is made that the attachment 20 capable of communicating with the game controller 10 is mounted. In this case, the game controller 10 transmits a confirming signal indicating that communication with the attachment 20 has been established to the game console body 30 (reception unit 34). The fact that the attachment 20 has been mounted can be determined by receiving this confirming signal.
Further, for example, a predetermined system UI (User Interface) may be displayed on the display unit 51, and the user 1 himself/herself may select the model of the attachment 20 from the system UI. That is, a configuration in which the user 1 himself/herself can explicitly input the fact that the attachment 20 has been mounted may be adopted. For example, in the case where the model of the attachment 20 is selected, it is determined that the attachment 20 has been mounted.
Further, for example, whether or not the attachment 20 has been mounted is determined on the basis of the detection result of the acceleration a generated in the game controller 10. In this case, the detection result (acceleration data) of the acceleration sensor 16 mounted on the game controller 10 is transmitted to the game console body 30. Then, the vibration-data processing unit 39 analyzes the acceleration data and determines whether or not the attachment 20 has been mounted.
In
In the vibration-data processing unit 39, for example, the time-average value of the ratio of the generated acceleration a and the drive signal 2 greatly changes, and it is determined that there has been an addition of the attachment 20 at the converged timing. For example, it is determined that the attachment 20 has been mounted in the case where, for example, the time-average value decreases beyond a predetermined threshold value and the level of the time-average value does not return thereafter. In
With reference to
For example, in the case where the attachment 20 capable of communicating with the game controller 10 is connected, the device information of the connected attachment 20 obtained from the extension terminal of the game controller 10 is transmitted to the reception unit 34 of the game console body 30. Then, the vibration-data processing unit 39 refers to the mass database 37, and executes a process of inquiring about the mass M2 of the attachment 20 corresponding to the format or model number included in the device information.
Further, in the case where, for example, the model of the attachment 20 is selected by the user 1 via the system UI, the mass database 37 is referred to on the basis of the information regarding the selected model. Further, the present technology is not limited to the case of referring to the mass database 37. For example, an external database connected to a predetermined network to which the game console body 30 is connectable via the communication unit 31 may be referred to as appropriate. Note that as described with reference to
In the case where it is determined that the attachment 20 has not been mounted (No in Step 101), the inquiry of the mass M2 of the attachment 20, or the like is not executed and Step 103 is executed.
In Step 103, it is determined whether or not information (mass data) of the mass M2 of the attachment 20 is present. In the case where the mass data of the attachment 20 is present (Yes in Step 103), the mass data of the attachment 20 is read and the value of the mass M2 is set (Step 104).
For example, in the case where the attachment 20 corresponding to the device information is present in the mass database 37 or the like, the mass data of the attachment 20 is read by the vibration-data processing unit 39, and the mass M2 of the attachment 20 is set. In this way, the vibration-data processing unit 39 acquires the mass data on the basis of the device information of the attachment 20. As a result, the mass M2 of the attachment 20 can be easily acquired with high accuracy.
Further, for example, in the case where the model of the attachment 20 is selected by the user 1, the mass data of the selected model is read from the mass database 37 or the like. In this way, the mass data may be acquired by the vibration-data processing unit 39 on the basis of the input information input by the user 1. As a result, for example, even in the case where the attachment 20 that does not provide the device information (the attachment 20 that does not include an additional battery or a connecting terminal, or the like) is used, the mass M2 of the attachment 20 can be appropriately set.
Note that there may be a situation in which the mass data of the attachment 20 cannot be acquired because the attachment 20 is a non-authentic product or the like. In such a case, a process of estimating the mass M2 of the attachment 20 is executed in Step 105 described below. Alternatively, the connection of the attachment 20 as described above may be recognized by a UI operation of the user 1, or the like, and a default mass (e.g., 100 g) may be set as the mass M2. For example, such a process is also possible.
In the case where the mass data of the attachment 20 is not present (No in Step 103), a process of estimating the mass M2 of the attachment 20 is performed (Step 105). Hereinafter, the process of estimating the mass M2 will be referred to as the M2 estimation program.
In the M2 estimation program, the mass data is calculated by the vibration-data processing unit 39 on the basis of the detection result of the acceleration sensor 16. That is, the acceleration sensor 16 in the game controller 10 is used to estimate the mass M2 of the attachment 20.
In this embodiment, test data in the case where the game controller 10 alone is vibrated while the attachment 20 has not been mounted is stored in advance. Specifically, the parameter of the waveform of the test signal for vibrating the voice coil motor 17 (test waveform) and the acceleration a generated in the game controller 10 alone in the case of being vibrated in response to the test signal (hereinafter, referred to as the pre-mounting acceleration) are stored as the test data.
The test signal is a signal for estimating the mass M2. As the test waveform of the test signal, for example, an arbitrary waveform such as a Sin waveform and a triangular waveform is used. The shape, period, amplitude, and the like of the test waveform are not limited. The pre-mounting acceleration is appropriately measured before shipment of the commodity, for example. In this case, the pre-mounting acceleration may be measured for each game controller 10. As a result, it is possible to suppress the effect of individual difference of the game controller 10. Alternatively, the same pre-mounting acceleration may be set for the game controller 10 of the same model.
The test data (the test waveform and the pre-mounting acceleration) is stored in, for example, a memory or the like in the game controller 10, and becomes a value known as a system at the time of shipment of the commodity. In addition, the method of storing the test data, the timing, and the like are not limited. For example, a process of detecting and storing the pre-mounting acceleration may be executed at an arbitrary timing before the M2 estimation program. In this embodiment, the test signal corresponds to the predetermined vibration signal and the pre-mounting acceleration corresponds to the second acceleration.
In the M2 estimation program, in the case where connection of the attachment 20 is detected, a voltage signal (test signal) of the test waveform is applied to the voice coil motor 17 by the vibration-data processing unit 39 for calculating the mass M2. That is, the vibration-data processing unit 39 causes the voice coil motor 17 to vibrate with the test waveform.
At this time, the acceleration a generated in the game controller 10 (hereinafter, referred to as the post-mounting acceleration) is detected by the acceleration sensor 16. Therefore, the acceleration sensor 16 detects the post-mounting acceleration generated in the game controller 10 on which the attachment 20 has been mounted in response to the test signal. In this embodiment, the post-mounting acceleration corresponds to the first acceleration.
Further, the vibration-data processing unit 39 refers to the test data stored in advance, and acquires the pre-mounting acceleration generated in the game controller 10 on which the attachment 20 has not been mounted, in response to the test signal. Then, the mass data is calculated on the basis of the post-mounting acceleration and the pre-mounting acceleration.
In this embodiment, an increase of the mass of the vibration target 63 before and after the mounting of the attachment 20, i.e., the mass M2 of the attachment 20, is calculated in accordance with the inverse proportional relationship of the formula (1) between the generated acceleration a and the mass of the vibration target 63. Note that assumption is made that the exciting force F generated in the voice coil motor 17 by applying the test waveform before and after the mounting of the attachment 20 is substantially constant. Hereinafter, a concrete description will be given.
For example, assumption is made that the pre-mounting acceleration generated in the game controller 10 alone when a voltage of 6 Vpp (test signal) is applied to the voice coil motor 17 while the attachment 20 has not been mounted is 3 Gpp. Note that Vpp and Gpp represent, for example, the maximum amplitude from the minimum value to the maximum value in the test waveform and acceleration.
Further, assumption is made that the same voltage of 6 Vpp (test signal) as that before the mounting is applied to the voice coil motor 17 while the attachment 20 has been mounted, and the post-mounting acceleration of 2 Gpp is detected. That is, assumption is made that the mass of the vibration target 63 increases by the mounting of the attachment 20, and the generated acceleration a decreases from the pre-mounting acceleration 3 Gpp to the post-mounting acceleration 2 Gpp.
In this case, on the basis of the formula (1), the mass of the vibration target 63 excited by the voice coil motor 17 has increased by 1.5 times after the mounting of the attachment 20. That is, the mass M1+M2 of the vibration target 63 after the mounting of the attachment 20 is 1.5×M1. Therefore, the mass M2 of the attachment 20 is calculated as M2=0.5×M1.
As described above, by detecting the acceleration generated by the test waveform before and after the mounting of the attachment 20, the mass data (mass M2) of the attachment 20 is estimated. As a result, for example, the mass M2 can be calculated with high accuracy for an arbitrary attachment 20.
Note that in the case where the user 1 grips the game controller 10, there may be a case where the virtual mass of the controller changes in accordance with the magnitude of the gripping force of the user 1. For example, in accordance with the strength of the gripping force, the controller is less likely to shake and the virtual mass increases in some cases.
For this reason, as described above, it is desirable that the process (M2 estimation program) of estimating the mass M2 of the attachment 20 from the generated acceleration a is performed in a non-gripping state in which the user 1 releases the hand therefrom. As a result, it is possible to estimate the mass M2 of the attachment 20 with high accuracy while avoiding, for example, the effect of increasing the virtual mass due to the gripping force of the user 1.
Further, assumption is made that the user 1 releases the hand and the composite controller 21 (the game controller 10 and the attachment 20) is placed on a hard desk or the like. In this case, when the composite controller 21 vibrates, there may be a case where contact and non-contact with the desk are repeated. As a result, for example, there is a possibility that the acceleration output containing a lot of noise components is detected in response to the voltage input of the test signal such as a Sin waveform.
Therefore, for example, it is desirable to refer to the correlation between the test signal and the generated acceleration a and estimate the mass M2 of the attachment 20 in the case where the test signal and the generated acceleration a have similar waveforms. Such a situation is realized in the case where, for example, the composite controller 21 is placed on a soft surface such as a sofa and a carpet. As a result, the acceleration sensor 16 is capable of detecting the acceleration corresponding to the test signal with high accuracy, and it is possible to improve the accuracy of estimation of the mass M2, for example.
For example, when the estimation process of the M2 estimation program is executed, a message (voice, image, or the like) is presented to the user 1 to inform the user that he/she should release the hand from the composite controller 21 and place the composite controller 21 on a soft surface. This makes it possible to execute the M2 estimation program with high accuracy. It goes without saying that the M2 estimation program may be executed while the user 1 holds the composite controller 21.
Further, as the M2 estimation program, the process of estimating the mass M2 of the attachment 20 may be executed without generating vibration using the test signal. In this case, the vibration-data processing unit 39 calculates the mass data on the basis of to the temporal change in the acceleration detected by the acceleration sensor 16.
For example, as described with reference to
This can be said to be a condition in which the level of the acceleration a generated in the composite controller 21 decreases from 1.18 to 0.58 before and after the mounting of the attachment 20 with respect to the drive signal 2 of the same level, for example. Therefore, the decrease rate α=(a1/a0) of the generated acceleration a1 after the attachment 20 is mounted with respect to the generated acceleration a0 before the attachment 20 is mounted is 0.58/1.18≈½.
Further, in accordance with the formula (1), the generated accelerations a0 and a1 before and after the mounting of the attachment 20 are expressed as a0=F/M1 and a1=F/(M1+M2), respectively. Therefore, the decrease rate α is expressed by the following formula.
α=a1/a0=M1/(M1+M2) (3)
As described above, in the example shown in
In addition, the specific process and the like of the M2 estimation program are not limited. For example, an arbitrary process capable of estimating the mass M2 of the attachment 20 may be executed. When the estimation process by the M2 estimation program is completed, Step 104 is executed, and the estimation result is set as the value of the mass M2.
When the mass M2 of the attachment 20 is set, the content processing unit 38 generates a haptic presentation signal for the voice coil motor 17 according to the progress state of the game content, and outputs the generated haptic presentation signal to the vibration-data processing unit 39 (Step 106).
As described with reference to
For example, the haptic presentation signal is designed to present a haptic perception when a bullet or the like is fired, a haptic perception when receiving damage, or the like in the game content. Note that the haptic presentation signal is designed on the assumption that, for example, the game controller 10 is used alone. Therefore, it can be said that the content processing unit 38 generates the control value (input value) of the voice coil motor 17 in the case where the game controller 10 is used alone. The generated haptic presentation signal is appropriately acquired by the vibration-data processing unit 39.
When the haptic presentation signal is acquired, whether or not the attachment 20 has been mounted is determined (Step 107). As shown in
The determination of whether or not the attachment 20 has been mounted is performed, for example, in the same manner as the process described in Step 101. In the case where it is determined that the attachment 20 has been mounted (Yes in Step 107), the haptic presentation signal is corrected and the haptic output signal is generated (Step 108).
As described with reference to the formula (1) and the formula (2), the mounting of the attachment 20 changes the vibration properties of the vibration system including the voice coil motor 17. In this embodiment, the haptic presentation signal 3 is corrected so that substantially the same vibration as that before the mounting of the attachment 20 is realized with respect to such a change in vibration characteristics. Specifically, the correction information regarding at least one of the amplitude and the frequency component represented by the haptic presentation signal 3 is generated on the basis of the attachment information such as mass data. Then, the haptic presentation signal 3 is corrected on the basis of the correction information, and the haptic output signal 4 is generated.
In Part A of
In general, the exciting force F acting on the vibration target 63 is expressed as F=k×X using an amplitude (displacement) X of the vibrator 52 and a spring constant k. Therefore, from the formula (1), the generated acceleration a=kX/M. This amplitude X of the vibrator 52 can be controlled by adjusting the amplitude of the haptic presentation signal 3. That is, by correcting the amplitude of the haptic presentation signal 3, it is possible to control the magnitude of the generated acceleration a.
In this embodiment, the amplitude of the haptic presentation signal 3 is corrected so that the generated acceleration a1 after the attachment 20 is mounted becomes substantially equal to the generated acceleration a0 before the attachment 20 is mounted. First, the decrease rate α of the generated acceleration a shown in the formula (3) derived on the basis of the formula (1) is calculated.
For example, the decrease rate α=M1/(M1+M2) is calculated using the mass M1 (predetermined value) of the game controller 10 excluding the vibrator 52 and the mass M2 (mass data) of the attachment 20. That is, the decrease rate α of the acceleration generated in the game controller 10 by the vibration of the voice coil motor 17 along with the attachment of the attachment 20 is calculated on the basis of the mass data. In this embodiment, the decrease rate α corresponds to the rate of change.
the magnitude of the haptic presentation signal 3 is multiplied by the inverse of the calculated decrease rate α, and thus, the amplitude of the haptic presentation signal 3 is corrected. In this case, the inverse of the decrease rate α is correction information regarding the magnitude of the haptic presentation signal 3. This process corresponds to multiplying the amplitude X of the vibrator 52 by 1/α=(M1+M2)/M1. In this way, in this embodiment, the amplitude of the haptic presentation signal 3 is corrected by the vibration-data processing unit 39 on the basis of the decrease rate α of the acceleration.
As a result, the generated acceleration a2 of the game controller 10 and the attachment 20 become a2=kX/α/(M1+M2)=kX/M1. That is, the acceleration a2 generated according to the haptic presentation signal 3 whose amplitude has been corrected is equal to the generated acceleration a0 before the mounting of the attachment 20.
For example, in the example described with reference to
Note that there may a case where a maximum value or the like is set for the amplitude of the haptic presentation signal 3. For example, in a system where the maximum value of the amplitude is set to 1.0, in the case where the multiplication result of the inverse of the decrease rate α and the amplitude exceeds 1.0, the multiplication result is appropriately corrected to execute a process of setting the amplitude of the haptic output signal 4.
Alternatively, in order to avoid the harmful effect that the waveform collapses at the time when the amplitude becomes 1.0 and an abnormal sound is generated, the above-mentioned correction process may be performed by adding step-by-step calculation in accordance with the magnitude of the amplitude of the haptic presentation signal 3. That is, the correction amount is adjusted in accordance with the amplitude of the haptic presentation signal 3 so that the amplitude of the haptic output signal 4 falls within an appropriate range. For example, such a process is possible.
Further, another method of increasing the generated acceleration a of the composite controller 21 (the attachment 20 and the game controller 10) may be used in combination. In this case, by the vibration-data processing unit 39, the haptic presentation signal 3 is appropriately corrected in accordance with the respective methods of increasing the generated acceleration a, which will be described below.
For example, a passive radiator or the like for amplifying vibration may be provided in the attachment 20. The passive radiator is appropriately designed to have a resonant frequency near the resonant frequency of the vibration system including the attachment 20 and the game controller 10, for example. As a result, it is possible to increase the vibration amount with no power supply.
Further, another vibrating actuator (voice coil motor or the like) may be mounted in the attachment 20. This vibrating actuator can be fed and driven to increase the vibration amount. Note that the vibrating actuator in this attachment 20 may be driven by sharing the haptic output signal 4 transmitted from the game console body 30 to the game controller 10 via the extension terminal.
Further, a large VCM may be mounted on the attachment 20. In this case, the vibration system of the attachment 20 and the game controller 10 is driven by the large VCM in the attachment 20 to stop the driving of the VCM (the voice coil motor 17) in the game controller 10. As a result, the power consumption of the game controller 10 can be suppressed. In this way, the vibrating actuator and the large VCM mounted on the attachment 20 function as a vibrating device for exciting the game controller 10 (haptic presentation apparatus).
Further, the power may be supplied to the game controller 10 from a battery in the attachment 20 to suppress the power consumption of the game controller 10. Further, for example, assumption is made that a battery of 3.7 V is mounted on the game controller 10 and a battery of 5.0 V is mounted on the attachment 20. For example, by supplying a voltage of 5.0 V from the attachment 20 to the game controller 10, the maximum voltage to be applied to the voice coil motor 17 can be increased. As a result, even in the case where the amplitude of the haptic output signal 4 described above exceeds 1.0 (maximum value), the vibration amount can be compensated for by expanding the maximum value. As a result, it is possible to easily realize desired acceleration.
In Part B of
In this embodiment, the vibration-data processing unit 39 calculates, on the basis of the mass data, the shift amount of the resonant frequency f0 of the vibration system including the voice coil motor 17 along with the mounting of the attachment 20. As described above with reference to the formula (2), the resonant frequency f0 of the vibration system is expressed by using the reduced mass M′.
The vibration-data processing unit 39 calculates, on the basis of the mass M2 (mass data) of the attachment 20, the reduced mass M′ in a vibration system on which the attachment 20 is mounted. Further, the calculated reduced mass M′ is used to calculate a resonant frequency f01 in the vibration system on which the attachment 20 is mounted in accordance with the formula (2).
Further, the value of the resonant frequency f00 before the mounting of the attachment 20 is read. Then, a shift amount Δf0=f00−f01 of the resonant frequency f0 along with the mounting of the attachment 20 is calculated. On the basis of this shift amount Δf0 of the resonant frequency, the frequency component of the haptic presentation signal 3 is corrected. In this case, the shift amount Δf0 of the resonant frequency is correction information regarding the frequency component of the haptic presentation signal 3. For example, a process such as pitch shifting corresponding to the shift amount Δf0 is executed on the haptic presentation signal 3. Note that the pitch shifting is a process of shifting the frequency component by a predetermined frequency.
For example, assumption is made that the resonant frequency f00 of the voice coil motor 17 is 53 Hz in a vibration system of the game controller 10 alone on which the attachment 20 has not been amounted. In this case, the maximum acceleration (pre-mounting acceleration a0) can be output by setting the Sin wave of 53 Hz as the haptic presentation signal 3.
Further, assumption is made that the resonant frequency f01 of the voice coil motor 17 changes to 50 Hz in the vibration system including the game controller 10 and the attachment 20 along with the mounting of the attachment 20. In this case, it is considered that the acceleration output for the haptic presentation signal 3 of the Sin waveform of 53 Hz becomes smaller than the original designed assumption.
Therefore, a process of pitch shifting to change the haptic presentation signal 3 from the Sin waveform of 53 Hz to the Sin waveform of 50 Hz is executed. That is, the haptic presentation signal 3 is corrected so that the frequency component of 53 Hz becomes the frequency component of 50 Hz. In Part B of
As shown in Part B of
Note that also in the case where the haptic presentation signal 3 is not a simple Sin waveform and is a broadband signal including a wide frequency band, by adding a process of pitch shifting of 3 Hz to the haptic presentation signal 3 similarly, it is possible to avoid a decrease in the generated acceleration due to the change in the resonant frequency f0. This makes it possible to realize vibration according to the design intention, and present a predetermined haptic perception with high accuracy.
In Part C of
For example, a process of pitch shifting corrects the frequency component of the haptic presentation signal 3 so that the largest acceleration in the vibration system on which the attachment 20 has been mounted is output. Further, the amplitude of the pitch shifted haptic presentation signal 3 is corrected so that acceleration substantially the same as that before the mounting of the attachment 20 is generated. This makes it possible to generate desired acceleration efficiently. As a result, it is possible to present a sufficiently powerful haptic perception with high accuracy while suppressing the energy consumption.
As described above, in this embodiment, the voice coil motor 17 is controlled by the vibration-data processing unit 39 so that the vibration of the game controller 10 on which the attachment 20 has been mounted is substantially the same as that of the game controller 10 on which the attachment 20 has not been mounted. As a result, it is possible to generate substantially the same vibration before and after the mounting of the attachment 20. As a result, a decrease in the intensity of the haptic perception, or the like is avoided, and excellent haptic effects can be exhibited.
In addition, the method of correcting the haptic presentation signal 3, and the like are not limited.
For example, the amplitude, the frequency component, and the like of the haptic presentation signal 3 may be appropriately corrected so as to reproduce a predetermined haptic perception used in the game content, in accordance with the mass M2 of the mounted attachment 20, or the like. Further, for example, the haptic presentation signal 3 may be corrected in accordance with a range in which the voice coil motor 17 is capable of appropriately vibrating.
For example, there is a possibility that a phenomenon (mechanical contact) in which the vibrator 52 of the voice coil motor 17 mechanically contacts the casing 13 or the like occurs due to a change in the weight of the vibration system when the attachment 20 is mounted. That is, there is a possibility that a mechanical interference between the voice coil motor 17 and the casing 13 occurs. The haptic presentation signal 3 may be corrected so that such a mechanical contact does not occur.
For example, an interference condition for avoiding the mechanical contact between the vibrator 52 and the casing 13 is set for the game controller 10. The interference condition is a condition that includes the limit values of the amplitude and the frequency of the haptic presentation signal 3 by which contact between the vibrator 52 and the casing 13 is avoided. That is, it can be said that the game controller 10 is designed so that the magnitude and the frequency specified by the interference condition have limit values that do not cause the mechanical contact.
For example, assumption is made that the resonant frequency f00 of the game controller 10 alone is 53 Hz and the haptic presentation signal 3 of the Sin waveform of the frequency 50 Hz and the amplitude of 1.0 (maximum value) is set as the condition (interference condition) of the limit where the contact between the vibrator 52 and the casing 13 is avoided. That is, this interference condition means that there will be no mechanical contact even in the case where the amplitude is maximized at the frequency component 3 Hz lower than the resonant frequency f00.
Assumption is made that the attachment 20 is mounted on this game controller 10 and the resonant frequency f01 of the vibration system is 50 Hz. In such a case, the vibration-data processing unit 39 corrects the haptic presentation signal 3 having the Sin waveform of, for example, 50 Hz to the haptic output signal 4 having the Sin waveform of 47 Hz by the above-mentioned process of pitch shifting. That is, a process of correcting the frequency component similar to the resonant frequency f01 after the mounting of the attachment 20 to a frequency component lower by 3 Hz is executed in accordance with the interference condition of the game controller 10 alone.
As described above, the vibration-data processing unit 39 corrects the haptic presentation signal 3 on the basis of the interference condition for the mechanical interference between the voice coil motor 17 and the casing 13. As a result, the problem of mechanical contact is avoided, and it is possible to avoid generation of abnormal sound due to a collision between the vibrator 52 and the casing 13, generation of unwanted vibration, and the like.
With reference to
Note that in the case where it is determined that the attachment 20 has not been mounted because, for example, the attachment 20 is removed while the game content is in progress (No in Step 107), the correction process of the haptic presentation signal 3 is not executed. In this case, in Step 109, the haptic presentation signal 3 for vibrating the game controller 10 alone generated by the content processing unit 38 is transmitted as it is as a control signal for controlling the voice coil motor 17.
When the haptic presentation signal 3 is transmitted, the process of Step 103 and the subsequent Steps are executed again. Note that the mass M2 of the attachment 20 estimated in Step 105 is used to correct the haptic presentation signal 3 or the like also in the subsequent loop process as long as the attachment 20 is not removed, for example. As a result, it is possible to smoothly execute the loop process for correcting the haptic presentation signal 3.
As described above, in the control unit 33 according to this embodiment, the voice coil motor 17 exciting the game controller 10 is controlled. The control of the voice coil motor 17 is executed on the basis of the haptic presentation signal 3 for driving the voice coil motor 17 and the attachment information regarding the attachment 20 that is in contact with the game controller 10. This makes it possible to perform vibration control of the game controller 10 according to the attachment 20 and present a desired haptic perception.
In the case where an attachment for function extension or the like is mounted on an apparatus that presents a haptic perception, it is considered that the frequency-characteristics of the vibration system, or the like change. For example, in the case of connecting an attachment or the like having the shape of a gun to a grip-type rod-shaped controller, there is a possibility that the originally-intended vibration of the game designer does not occur.
In this embodiment, with respect to the attachment 20 to be mounted on the game controller 10, information regarding the presence or absence of mounting, the mass M2 of the attachment 20, and the like is acquired. Then, on the basis of the acquired information of the attachment 20, the haptic presentation signal of the voice coil motor 17 is corrected.
For example, the mass M2 of the attachment 20 is read on the basis of the device information of the attachment 20. As described above, by using a mechanism for detecting the connection state of the attachment 20, it is possible to accurately correct the haptic presentation signal 3 in accordance with the type of the attachment 20. As a result, it is possible to generate desired acceleration and present a desired haptic perception with high accuracy to the user 1.
Further, for example, the mass M2 of the attachment 20 is estimated on the basis of the generated acceleration a of the game controller 10. As a result, even in the case where the attachment 20 whose device information, mass, or the like is unknown, the attachment 20 having no communication function with the game controller 10, or the like is used, the haptic presentation signal 3 can be appropriately corrected. As a result, regardless of the type of the attachment 20, it is possible to appropriately present a desired haptic perception.
Further, in this embodiment, the amplitude and the frequency component of the haptic presentation signal 3 are corrected in accordance with the attachment information. As a result, it is possible to present a desired haptic perception with high accuracy regardless of the waveform of the haptic presentation signal 3, and the like.
The function of the Haptics presentation (haptic presentation) in the game controller 10 or the like is expected to become more generalized and sophisticated in the future. In this embodiment, the magnitude and the frequency component of the haptic presentation signal 3 can be corrected with high accuracy in accordance with the vibration model of the voice coil motor 17. As a result, even in the case where the attachment 20 or the like is mounted, it is possible to present a detailed haptic perception with sufficiently-high accuracy, and excellent haptic effects can be exhibited.
The haptic presentation system according to a second embodiment of the present technology will be described. In the following description, description of the configurations and effects similar to those in the haptic presentation system 100 described in the above-mentioned embodiment will be omitted or simplified.
In this embodiment, the process of correcting the haptic presentation signal 3 is executed in accordance with the increase or decrease of the gripping force with which the user 1 grips the game controller 10. In the following, a case where the user 1 uses the game controller 10 alone will be described as an example. In this embodiment, the hand of the user 1 gripping the game controller 10 is an example of the contact body that is in contact with the haptic presentation apparatus.
When the force with which the user 1 grips the game controller 10 (gripping force) changes, the degree to which the game controller 10 is excited changes. For example, in the case where the user 1 grips the game controller 10 strongly, the game controller 10 is less likely to shake, and the acceleration a generated in the game controller 10 decreases.
The state in which the generated acceleration a has decreased by the increase of the gripping force can be regarded as a state in which the mass M of the vibration target 63 has substantially increased, for example, in the physical model shown in
For example, in a region 5 surrounded by the dotted line of the lower graph of
In this embodiment, the vibration-data processing unit 39 acquires gripping-force information relating to the gripping force of the user 1 gripping the game controller 10. Here, the gripping-force information is, for example, information capable of representing the gripping force of the user 1. Typically, data indicating a change in the gripping force, or the like is used as the gripping-force information. In this embodiment, the gripping-force information corresponds to the contact body information.
As described above, the ratio of the generated acceleration a and the drive signal 2, which is detected when the attachment 20 or the like has not been mounted, is data indicating a change in the gripping force. For example, the vibration-data processing unit 39 appropriately receives the acceleration data detected by the acceleration sensor 16 of the game controller 10, and calculates the ratio of the raw acceleration a and the drive signal 2 as data indicating a change in the grip force. In this way, in the vibration-data processing unit 39, the gripping-force information is calculated on the basis of the result of detecting the acceleration sensor 16 mounted on the game controller 10.
Note that the specific type and the like of the gripping-force information are not limited. For example, a configuration in which a pressure sensor or the like for detecting the gripping force is provided in the grip portion 11 (the casing 13) of the game controller 10 and the gripping force of the user 1 is directly detected may be employed. In addition, arbitrary data capable of representing the amount of change in the gripping force or the like may be used as appropriate.
When the gripping-force information (e.g., the ratio of the generated acceleration a and the driving signal 2) is acquired, the haptic presentation signal 3 is corrected on the basis of the gripping-force information, and the voice coil motor 17 is controlled on the basis of the corrected haptic presentation signal 3 (the haptic output signal 4). For example, in the case where the generated acceleration a has decreased, the vibration sensed by the user 1 has been weakened by the amount corresponding thereto. For this reason, in order to compensate for this, a process of increasing the amplitude of the haptic presentation signal 3, a process of shifting the frequency component of the haptic presentation signal 3, and the like (see
The method of correcting the haptic presentation signal 3, and the like are not limited. For example, on the basis of to the ratio of the generated acceleration a and the drive signal 2, the increase in the virtual mass of the game controller 10 due to the increase in the gripping force of the user 1 is calculated. The increase of the virtual mass corresponds to the mass M2 of the attachment 20 in the first embodiment. For example, the amplitude and the frequency component of the haptic presentation signal 3 may be appropriately corrected on the basis of the increase. Further, a feedback process or the like for changing the amplitude and the frequency component of the haptic presentation signal 3 (drive signal 2) may be appropriately executed so that the ratio of the generated acceleration a and the drive signal 2 is maintained at a predetermined level.
In this way, in this embodiment, the voice coil motor 17 exciting the game controller 10 is controlled on the basis of the haptic presentation signal 3 and the gripping-force information regarding the gripping force of the user 1 gripping the game controller 10. Even in the case where the force or the like of the user 1 gripping the game controller 10 has changed, it is possible to appropriately vibrate the game controller 10, and exhibit excellent haptic effects.
Note that the process of correcting the drive signal 2 on the basis of the gripping-force information is not limited to the case where the game controller 10 is used alone, and can be applied to the case where the game controller 10 (the composite controller 21) on which the attachment 20 has been mounted is used. In this case, the composite controller 21 corresponds to the haptic presentation apparatus. For example, the amplitude and the frequency component of the haptic presentation signal 3 are appropriately corrected in accordance with the gripping force of the user 1 so that the acceleration a (post-mounting acceleration a1) generated in the composite controller 21 is maintained at a predetermined level.
Further, both the process of correcting the haptic presentation signal 3 along with the mounting of the attachment 20 and the process of correcting the haptic presentation signal 3 along with the change in the gripping force of the user 1 may be executed. For example, the haptic presentation signal corrected on the basis of the mass M2 of the attachment 20, or the like is corrected on the basis of the change in the gripping force of the user 1 (increase or decrease in the virtual mass). Such a process may be executed.
The present technology is not limited to the above-mentioned embodiments and various other embodiments can be realized.
The game controller 80 includes right and left grip portions 81, and for example, a vibrating actuator is mounted inside each of the grip portions 81. The user 1 grips the right and left grip portions 81 with the right and left hands and operates selection buttons, analogue sticks, and the like to perform an input operation for progressing the game content. Further, the vibrating actuators vibrate as appropriate to present a predetermined haptic perception to the right and left hands of the user 1.
An attachment 20e shown in Part B of
For example, in the case where the attachments 20e and 20f are configured to be capable of communicating with the two-handed game controller 80, the device information of each of the attachments 20 is acquired, and the mass of each of the attachments 20 is read from a database or the like. Alternatively, in the case where an acceleration sensor or the like is mounted on the game controller 80, a process of estimating the mass of each of the attachments 20 or the like may be executed. Then, the haptic presentation signal 3 in the case where the two-handed game controller 80 is used alone is corrected on the basis of the mass of the attachment 20.
An attachment 20g shown in Part B of
The wearable device 83 includes a main body 84 on which a vibrating actuator and an acceleration sensor are mounted, and a mounting band 85 for mounting the main body 84 on the body (arm or the like) of the user 1. In the example shown in
Part B of
As described above, the haptic presentation signal 3 for driving the vibrating actuator can be appropriately corrected by using the present technology regardless of the types of the haptic presentation apparatus and the attachment 20. As a result, it is possible to present a predetermined haptic perception intended by the designer or the like with high accuracy. Note that the present technology is not limited to the above-mentioned example, and is applicable to the case where an arbitrary haptic presentation apparatus or the attachment 20 is used.
In the above description, as attachment information, information regarding the mass of the attachment 20 has been acquired. The present technology is not limited thereto. For example, information regarding the shape, material, stiffness, or the like of the attachment 20 may be acquired, and a process of correcting the haptic presentation signal 3, or the like may be executed on the basis of the information.
For example, in the case where the distance between the portion gripped by the user 1 and the vibrating actuator (VCM or the like) is apart, a process of correcting the amplitude of the haptic presentation signal 3 to be large may be executed. Further, for example, in the case where the material of the attachment 20 is soft, a process of correcting the amplitude of the haptic presentation signal 3 to be large may be executed. As a result, it is possible to appropriately present a predetermined haptic perception even in the case where vibration is hard to be transmitted.
In the above description, the process of correcting the haptic presentation signal 3 has been executed on the basis of the mass of the attachment 20, or the like. For example, in the case where the attachment 20 has been mounted, a process of increasing the amplitude of the haptic presentation signal 3 at a predetermined ratio (default value) may be executed regardless of the type of the attachment 20, or the like. As a result, it is possible to reduce the computation cost necessary for the process of correcting the haptic presentation signal 3. For example, such a process may be executed.
In the above, the case where a linear vibrating actuator such as a voice coil motor is used has been described. Another vibrating actuator (vibrating device) may be used in place of the linear vibrating actuator. For example, the present technology is applicable to the case where a rotation-type vibrating device such as an eccentric motor is used as a vibrating actuator. In this case, by appropriately adjusting the rotational velocity and the rotational pattern or the like of the eccentric motor, it is possible to suppress a decrease in the generated acceleration. In addition, the present technology is applicable to a haptic presentation apparatus using an arbitrary vibrating actuator.
At least two features of the above-mentioned features according to the present technology may be combined. Specifically, various features described in each embodiment may be arbitrarily combined without distinguishing the embodiments with each other. Further, the various effects described above are merely examples and are not limited, and additional effects may be exerted.
Note that the present technology may also take the following configurations.
1 user
3 haptic presentation signal
4 haptic output signal
10, 80 game controller
13 casing
16 acceleration sensor
17 voice coil motor
20, 20a to 20i attachment
21 composite controller
30 game console body
36 control program
37 mass database
38 content processing unit
39 vibration-data processing unit
63 vibration target
100 haptic presentation system
Number | Date | Country | Kind |
---|---|---|---|
2019-007579 | Jan 2019 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2020/000177 | 1/7/2020 | WO | 00 |