This U.S. application claims the benefit of priority to Taiwan application no. 111144745, filed on Nov. 23, 2022, of which is incorporated herein by reference in its entirety.
The present disclosure is related to the field of haptics in general and more particularly but not limited to vibrotactile devices.
Vibrotactile technology can enhance user experience, encourage engagement, and improve accuracy by providing tactile sensations, such as vibrations or pulses, to convey information. Vibrotactile technology can be found in the gaming and entertainment, medical, robotics, virtual reality, and music fields.
In the music field, vibrotactile feedback can be applied to support deaf people in music, to augment sound perception for musicians, for remote musical collaboration, and to enhance musical experience.
Vibrotactile devices applied in the music field often require processing of digital signals into vibrotactile signals. However, currently, the vibrotactile signal parameters are limited and of little variability.
The present disclosure provides a vibrotactile device and a method for providing vibrotactile sensations including an audio signal input unit, a manual parameter input unit, a microcontroller, a vibration motor controller, and at least one vibration motor. At least one signal is generated by at least the audio signal input unit or the manual parameter input unit, thus, providing multiple means for obtaining the at least one signal, and offering variability for driving the at least one vibration motor via at least one driving parameter based, at least in part, on the at least one signal.
In at least one embodiment, the vibrotactile device includes an audio signal input unit, a manual parameter input unit, a microcontroller, a vibration motor controller, and at least one vibration motor. The microcontroller is coupled to the audio signal input unit and coupled to the manual parameter input unit. The vibration motor controller is coupled to the microcontroller and the at least one vibration motor is coupled to the vibration motor controller. At least one signal is generated by at least the audio signal input unit or the manual parameter input unit. The microcontroller generates at least one driving parameter based, at least in part, on the at least one signal, wherein the vibration motor controller drives the at least one vibration motor based on the at least one driving parameter.
In at least one embodiment, the vibrotactile device further includes an audio processor coupled between the audio signal input unit and the microcontroller. The audio processor performs low-pass filtering by attenuating frequencies above a threshold frequency while passing signals below the threshold frequency of the at least one signal to generate a filtered signal. A modulated signal is generated based on a comparison between the filtered signal with a vibration motor rated speed of the at least one vibration motor. The threshold frequency is 100 Hz. In at least one embodiment, the audio processor further generates the modulated signal based on corresponding an amplitude of the filtered signal to an amplitude of the at least one vibration motor and corresponding a frequency of the filtered signal to a frequency of the at least one vibration motor.
In at least one embodiment, the microcontroller generates a vibration duty cycle based on a tempo value and a note value of a beat setting of the manual parameter input unit to generate the at least one driving parameter. In at least one embodiment, the microcontroller further generates the vibration duty cycle by dividing a first value by a second value. The first value is generated by dividing a preset duty cycle length of the at least one vibration motor by the tempo value. The second value is generated by dividing a preset note value of the at least one vibration motor by the note value. In at least one embodiment, the microcontroller further generates the vibration duty cycle, prior to dividing the first value by the second value by determining whether the tempo value is within a preset tempo value range of the at least one vibration motor. Next, at least a second tempo value is received when the tempo value is not within the preset tempo value range and whether the at least a second tempo value is within the preset tempo value range is determined. Following, receiving of the at least a second tempo value and determining whether the at least a second tempo value is within the preset tempo value range is repeated when the at least a second tempo value is not within the preset tempo value range. Next, whether the note value is within a preset note value range of the at least one vibration motor is determined when at least the tempo value or the at least a second tempo value is within the preset tempo value range. After, at least a second note value is received when the note value is not within the preset note value range and whether the at least a second note value is within the preset note value range is determined. Next, repeating receival of the at least a second note value and repeating determination of whether the at least a second note value is within the preset note value range when the at least a second note value is not within the preset note value range. Following, the tempo value and the note value for generation of the vibration duty cycle are determined.
In at least one embodiment, the at least one vibration motor includes a plurality of vibration motors. The microcontroller further generates the at least one driving parameter by identifying each of the plurality of vibration motors of an amount setting of the manual parameter input unit and generating the vibration duty cycle based on the tempo value and the note value of each of the plurality of vibration motors. In at least one embodiment, the microcontroller drives each of the plurality of vibration motors by driving an Nth vibration motor of the plurality of vibration motors. Next, an Nth operation duty cycle of the Nth vibration motor is generated and whether the Nth operation duty cycle reaches a vibration duty cycle of the Nth vibration motor is determined. At least an Nth second operation duty cycle is generated when the Nth operation duty cycle does not reach the vibration duty cycle and whether the Nth second operation duty cycle reaches the vibration duty cycle is determined. Next, repeating generation of the at least an Nth second operation duty cycle and repeating determination of whether the at least an Nth second operation duty cycle reaches the vibration duty cycle when the at least an Nth second operation duty cycle does not reach the vibration duty cycle is repeated. Following, whether the Nth vibration motor corresponds to the amount setting is determined when at least the Nth second operation duty cycle or the at least an Nth second operation duty cycle does reach the vibration duty cycle. Next, driving of the Nth vibration motor is continued when the Nth operation duty cycle corresponds to the amount setting. Further, driving of the Nth vibration motor is stopped when the Nth operation duty cycle does not correspond to the amount setting and an (N+1)th vibration motor of the plurality of vibration motors is driven. N is a positive integer and (N+1) is equal to or less than the amount setting.
In at least one embodiment, the microcontroller further generates the at least one driving parameter by determining an operation sequence of each of the plurality of vibration motors of a sequence setting of the manual parameter input unit and determining a vibration intensity of each of the plurality of vibration motors of a vibration intensity setting of the manual parameter input unit. In at least one embodiment, the microcontroller further generates the vibration duty cycle, prior to driving each of the plurality of vibration motors, by determining whether the amount setting corresponds to a preset amount setting range of the plurality of vibration motors. Next, at least a second amount setting is received when the amount setting does not correspond to the preset amount setting range and whether the at least a second amount setting is within the preset amount setting range is determined. Receiving of the at least a second amount setting and determining whether the at least a second amount setting is within the preset amount setting range are repeated when the at least a second amount setting is not within the preset amount setting range. An operation sequence of an Nth vibration motor of the plurality of vibration motors is determined when at least the amount setting or the at least a second amount setting is within the preset amount setting range. Next, whether the Nth vibration motor corresponds to the amount setting is determined and an operation sequence of at least an (N+1)th vibration motor of the plurality of vibration motors is determined when the Nth vibration motor does not correspond to the amount setting. Following, a vibration intensity of at least the Nth vibration motor or the at least the (N+1)th vibration motor is determined when the Nth vibration motor or the at least the (N+1) th vibration motor does correspond to the amount setting. Whether at least the Nth vibration motor or the at least the (N+1)th vibration motor corresponds to the amount setting is next determined. A vibration intensity of at least the at least an (N+1)th vibration motor or at least an (N+1+1)th vibration motor is determined when at least the Nth vibration motor or the at least an (N+1)th vibration motor does not correspond to the amount setting. Following, a final setting of manual input parameters is determined when at least the Nth vibration motor, the at least an (N+1)th vibration motor, or the at least an (N+1+1) th vibration motor does correspond to the amount setting.
In at least one embodiment, the method for providing vibrotactile sensations for an interface device includes at least one of at least two input units generating at least one signal. Next, a microcontroller generates at least one driving parameter, based, at least in part, on the at least one signal. Following, a vibration motor controller drives at least one vibration motor, based on the at least one driving parameter.
In at least one embodiment of the method, generating the at least one driving parameter includes attenuating frequencies above a threshold frequency while passing signals below the threshold frequency of the at least one signal of an audio signal input unit to generate a filtered signal. Next, the filtered signal is compared with a vibration motor rated speed of the at least one vibration motor to generate a modulated signal. The threshold frequency is 100 Hz. In at least one embodiment of the method, generating the modulated signal further includes corresponding an amplitude of the filtered signal to an amplitude of the at least one vibration motor and corresponding a frequency of the filtered signal to a frequency of the at least one vibration motor.
In at least one embodiment of the method, generating the at least one driving parameter includes generating a vibration duty cycle based on a tempo value and a note value of a beat setting of a manual parameter input unit. In at least one embodiment of the method, generating the vibration duty cycle further includes dividing a first value by a second value. The first value is generated by dividing a preset duty cycle length of the at least one vibration motor by the tempo value. The second value is generated by dividing a preset note value of the at least one vibration motor by the note value. In at least one embodiment of the method, generating the vibration duty cycle further includes, prior to dividing the first value by the second value, determining whether the tempo value is within a preset tempo value range of the at least one vibration motor. Next, at least a second tempo value is received when the tempo value is not within the preset tempo value range and determining whether the at least a second tempo value is within the preset tempo value range is determined. Following, receiving the at least a second tempo value and determining whether the at least a second tempo value is within the preset tempo value range are repeated when the at least a second tempo value is not within the preset tempo value range. Next, whether the note value is within a preset note value range of the at least one vibration motor is determined when at least the tempo value or the at least a second tempo value is within the preset tempo value range. Following, at least a second note value is received when the note value is not within the preset note value range and whether the at least a second note value is within the preset note value range is determined. Next, receiving of the at least a second note value and determining whether the at least a second note value is within the preset note value range are repeated when the at least a second note value is not within the preset note value range. Next, the tempo value and the note value for generation of the vibration duty cycle is determined.
In at least one embodiment of the method, the at least one vibration motor includes a plurality of vibration motors, and generating the at least one driving parameter includes identifying each of the plurality of vibration motors of an amount setting of the manual parameter input unit and generating the vibration duty cycle based on the tempo value and the note value of each of the plurality of vibration motors. In at least one embodiment of the method, driving each of the plurality of vibration motors includes driving an Nth vibration motor of the plurality of vibration motors. Next, an Nth operation duty cycle of the Nth vibration motor is generated. Whether the Nth operation duty cycle reaches a vibration duty cycle of the Nth vibration motor is next determined. Following, at least an Nth second operation duty cycle is generated when the Nth operation duty cycle does not reach the vibration duty cycle and whether the Nth second operation duty cycle reaches the vibration duty cycle is determined. Next, generating of the at least an Nth second operation duty cycle and determining whether the at least an Nth second operation duty cycle reaches the vibration duty cycle are repeated when the at least an Nth second operation duty cycle does not reach the vibration duty cycle. Following, whether the Nth vibration motor corresponds to the amount setting is determined when at least the Nth second operation duty cycle or the at least an Nth second operation duty cycle does reach the vibration duty cycle. Next, driving of the Nth vibration motor when the Nth operation duty cycle corresponds to the amount setting is continued. Driving of the Nth vibration motor is stopped when the Nth operation duty cycle does not correspond to the amount setting and an (N+1)th vibration motor of the plurality of vibration motors is driven. N is a positive integer and (N+1) is equal to or less than the amount setting.
In at least one embodiment of the method, generating the at least one driving parameter further includes determining an operation sequence of each of the plurality of vibration motors of a sequence setting of the manual parameter input unit and determining a vibration intensity of each of the plurality of vibration motors of a vibration intensity setting of the manual parameter input unit. In at least one embodiment of the method, generating the vibration duty cycle further includes, prior to driving each of the plurality of vibration motors, determining whether the amount setting corresponds to a preset amount setting range of the plurality of vibration motors. Next, at least a second amount setting is received when the amount setting does not correspond to the preset amount setting range and whether the at least a second amount setting is within the preset amount setting range is determined. Following, receiving of the at least a second amount setting and determining whether the at least a second amount setting is within the preset amount setting range are repeated when the at least a second amount setting is not within the preset amount setting range. Next, an operation sequence of an Nth vibration motor of the plurality of vibration motors is determined when at least the amount setting or the at least a second amount setting is within the preset amount setting range. Following, whether the Nth vibration motor corresponds to the amount setting is determined. Next, an operation sequence of at least an (N+1)th vibration motor of the plurality of vibration motors is determined when the Nth vibration motor does not correspond to the amount setting. Next, a vibration intensity of at least the Nth vibration motor or the at least the (N+1)th vibration motor is determined when the Nth vibration motor or the at least the (N+1)th vibration motor does correspond to the amount setting. Following, whether at least the Nth vibration motor or the at least the (N+1)th vibration motor corresponds to the amount setting is determined, and a vibration intensity of at least the at least an (N+1)th vibration motor or at least an (N+1+1)th vibration motor is determined when at least the Nth vibration motor or the at least an (N+1)th vibration motor does not correspond to the amount setting. Next, a final setting of manual input parameters is determined when at least the Nth vibration motor, the at least an (N+1)th vibration motor, or the at least an (N+1+1)th vibration motor does correspond to the amount setting.
Unless specified otherwise, the accompanying drawings illustrate aspects of the innovative subject matter described herein. Referring to the drawings, wherein like reference numerals indicate similar parts throughout the several views, several examples of vibrotactile devices and methods for providing vibrotactile sensations for an interface device incorporating aspects of the presently disclosed principles are illustrated by way of example, and not by way of limitation.
the present disclosure.
The following describes various principles related to vibrotactile feedback by way of reference to specific examples of vibrotactile devices and methods for providing vibrotactile sensations for an interface device, including specific arrangements and examples of input units and microcontrollers embodying innovative concepts. More particularly, but not exclusively, such innovative principles are described in relation to selected examples of audio signal input units and manual parameter input units and methods providing multiple means for obtaining at least one signal and generating at least one driving parameter for driving at least one vibration motor, and well-known functions or constructions are not described in detail for purposes of succinctness and clarity. Nonetheless, one or more of the disclosed principles can be incorporated in various other embodiments of audio signal input units and manual parameter input units and methods thereincluded to achieve any of a variety of desired outcomes, characteristics, and/or performance criteria.
Thus, vibrotactile devices and methods for providing vibrotactile sensations for an interface device having attributes that are different from those specific examples discussed herein can embody one or more of the innovative principles, and can be used in applications not described herein in detail. Accordingly, embodiments of vibrotactile devices and methods for providing vibrotactile sensations for an interface device not described herein in detail also fall within the scope of this disclosure, as will be appreciated by those of ordinary skill in the relevant art following a review of this disclosure.
Example embodiments as disclosed herein are directed to vibrotactile systems, wherein user experiences are enhanced, engagement is encouraged and/or user accuracy is improved by the provision of tactile sensations to convey information. The vibrotactile systems can be implemented in the gaming and entertainment, medical, robotics, virtual reality, and music industries.
The vibrotactile system may be configured as a part of a drum stool, gaming weapon or massage or therapeutic device or equipment, providing vibrotactile feedback to a user. When configured as a drum stool, a plurality of vibration motors can be implemented within the drum stool. Multiple means for obtaining at least one signal, and variability is offered for driving the plurality of vibration motors of the drum stool. As an example, a sound of the bass drum can be felt through the vibrotactile system, enhancing a drummers senses and improving his/her performance.
Referring again to
Referring again to
In at least one embodiment, the modulated signal can be generated based on the following equation: Sv=SLP×sin(2πωt), wherein Sv is the modulated signal, SLP is the filtered signal, and w is the vibration motor rated speed of the at least one vibration motor 101_1/11_1/51_1. The modulated signal contains the amplitude and frequency of the at least one vibration motor 101_1/11_1/51_1. The modulated sinusoidal signal uses the vibration motor rated speed as the baseband frequency of frequency modulation. SLP provides an amplitude which is high enough so that users can feel rhythm. Referring to
Referring again to
In at least one embodiment, the vibration duty cycle (S62) can be generated based on the following equation:
wherein T is the vibration duty cycle (S62), 60s is the preset duty cycle length of 60 seconds, BPM is the tempo value included in the beat setting command, QuarterNote is the preset note value of ¼, and NOTE is the note value included in the beat setting command. As an example, when the tempo value is 200 BPM and the note value is 1/16, the first value is 0.3 seconds (60 seconds/200 BPM) and the second value is 4 (¼ divided by 1/16), and 0.3/4 equals 0.075 seconds, or the vibration duty cycle (S62) is 75 milliseconds.
Referring again to
Referring again to
The audio processor (1051/14), as an example, can be a digital signal processor (DSP). The audio processor (1051/14) can include a low-pass filtering device or circuit to perform low-pass filtering on the at least one signal and/or an amplitude modulation modulator or circuit to perform amplitude modulation on the at least one signal. The microcontroller 105/1051-1052/14/54, as an example, can include the audio processor (1051/14). The microcontroller 105/1051-1052/14/54 can include a low-pass filtering device or circuit to perform low-pass filtering on the at least one signal and/or an amplitude modulation modulator or circuit to perform amplitude modulation on the at least one signal. In at least one embodiment, the performing of low-pass filtering and amplitude modulation can be implemented by hardware and/or software. The vibration motor controller 102/12/52, as an example, can be a motor control circuit or a programmable logic controller (PLC).
The microcontroller 105/1051-1052/14/54, as an example, can be a digital signal processor (DSP). In at least one embodiment, the microcontroller 105/1051-1052/14/54 can perform pulse width modulation.
In at least one embodiment, a shape of the at least one vibration motor 101_1/11_1/51_1 can be flat and a plurality of vibration motors can be implemented covering a relatively small surface area, as an example, such as a surface area of a drum stool. In at least one embodiment, the at least one signal can be received via, as examples, microphone input connections, auxiliary input connections, USB connections (e.g., MP3 file), and wireless connections.
In at least one embodiment, the preset tempo value range is between 10 BPM to 200 BPM, inclusive. The preset note values can be quarter notes, eight notes, sixteenth notes, triplet notes, triplet rest notes. The tempo value can include beat per minute (BPM) and the note value can be quarter notes, eight notes, triplet notes, triplet rest notes or the like. The rated speed can include a rated speed of revolution per minute (RMP) of the vibration motor.
In at least one embodiment, inputting of the tempo value, note value, amount setting, sequence setting, and vibration intensity setting of the manual parameter input unit 103/53 can be implemented using buttons, a touch panel display, and/or via audio input.
The vibrotactile device 10/1/5 and method for providing vibrotactile sensations for an interface device (
Therefore, embodiments disclosed herein are well adapted to attain the ends and advantages mentioned as well as those that are inherent therein. The particular embodiments disclosed above are illustrative only, as the embodiments disclosed may be modified and practiced in different but equivalent manners apparent to those of ordinary skill in the relevant art having the benefit of the teachings herein. Furthermore, no limitations are intended to the details of construction or design herein shown, other than as described in the claims below. It is therefore evident that the particular illustrative embodiments disclosed above may be altered, combined, or modified and all such variations are considered within the scope and spirit of the present disclosure. The embodiments illustratively disclosed herein suitably may be practiced in the absence of any element that is not specifically disclosed herein and/or any optional element disclosed herein. While compositions and methods are described in terms of “comprising,” “containing,” or “including” various components or steps, the compositions and methods can also “consist essentially of” or “consist of” the various components and steps. All numbers and ranges disclosed above may vary by some number. Whenever a numerical range with a lower limit and an upper limit is disclosed, any number and any included range falling within the range is specifically disclosed. In particular, every range of values (of the form, “from about a to about b,” or, equivalently, “from approximately a to b,” or, equivalently, “from approximately a-b”) disclosed herein is to be understood to set forth every number and range encompassed within the broader range of values. Also, the terms in the claims have their plain, ordinary meaning unless otherwise explicitly and clearly defined by the patentee. Moreover, the indefinite articles “a” or “an,” as used in the claims, are defined herein to mean one or more than one of the element that it introduces.
Number | Date | Country | Kind |
---|---|---|---|
111144745 | Nov 2022 | TW | national |