Systems and methods for arbitrary haptic waveform generation
By determining the dynamic resonant frequency and amplitude adjustment of the electronic device controller, combined with linear and eccentric rotating mass equipment, the problem of efficient and energy-saving tactile feedback in the virtual environment is solved, and the haptic feedback synchronized with audio and video information is achieved, which improves the user experience.
Patent Information
- Application Number
- CN202380082839.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-12-19
- Filing Date
- 2023-11-27
- Publication Date
- 2025-07-11
AI Technical Summary
In the prior art, when providing haptic feedback, it is difficult for electronic device controllers to efficiently and energy-savingly simulate various haptic events, especially when interacting with the physical environment in a virtual environment, the frequency and amplitude of haptic feedback are difficult to synchronize with audio and video information, resulting in high power consumption.
By determining the dynamic resonant frequency of the tactile device, using linear tactile device and eccentric rotating mass device, combined with machine learning models, dynamically adjusting the amplitude and frequency of the tactile device to match the envelope of the tactile event, and achieving efficient tactile feedback.
While saving power, it provides high-fidelity haptic feedback synchronized with audio and video information, enhancing the user's immersion and tactile experience.
Smart Images

Figure CN120303632A_ABST
Abstract
Description
Background Art
[0001] Background and Related Art
[0002] An electronic device controller allows a user to provide directional and button inputs to a video game console or other computing device. Joysticks, thumbsticks, and other directional input sticks may allow for analog or digital directional input to the electronic device controller. Surface buttons, directional input pads, and triggers may allow for digital or analog user input. The electronic device controller may also provide haptic feedback to the user during or independent of the user input to the electronic device controller. Since the controller typically emulates mechanisms or objects within a holding software, the haptic feedback may enhance the sense of immersion felt by the user. Summary of the Invention
[0003] In some embodiments, a method of providing haptic feedback to a user includes, at an electronic device controller: determining a dynamic resonance frequency of a haptic device; receiving haptic information at the electronic device controller; mapping the haptic information to a resonance waveform having the dynamic resonance frequency; outputting a haptic waveform; and driving the haptic device according to the haptic waveform.
[0004] In some embodiments, an electronic device controller includes: a body; at least one input button; a processor; a communication device in communication with the processor; a haptic controller in communication with the processor; a linear haptic device in communication with the haptic controller; and a hardware storage device in communication with the processor or the haptic controller. Instructions are stored on the hardware storage device that, when executed by the processor or haptic controller, cause the electronic device controller to perform the following operations: determine a dynamic resonance frequency of the linear haptic device, receive haptic information, map the haptic information to the dynamic resonance frequency, output a haptic waveform, and drive the haptic device according to the haptic waveform.
[0005] In some embodiments, a method of providing haptic feedback to a user includes, at an electronic device: obtaining haptic information; receiving a dynamic resonance frequency of a haptic device of an electronic device controller; mapping the haptic information to the dynamic resonance frequency; outputting a haptic waveform; and instructing the electronic device controller to drive the haptic device according to the haptic waveform.
[0006] The present Summary of the Invention is provided to introduce a selected collection of concepts that are further described below in the Detailed Description. The Summary of the Invention is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to assist in determining the scope of the claimed subject matter.
[0007] Additional features and advantages will be set forth in the following description, and in part will be obvious from the description, or may be learned by practice of the teachings herein. The features and advantages of the present disclosure may be realized and obtained by means of the instrumentalities and combinations particularly pointed out in the appended claims. The features of the present disclosure will become more fully apparent from the following description and appended claims, or may be learned by the practice of the present disclosure as set forth hereinafter. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] To describe the manner in which the above-recited and other features of the present disclosure can be obtained, a more particular description will be rendered by reference to the specific embodiments thereof illustrated in the accompanying drawings. For better understanding, throughout the drawings, like elements have been designated by like reference numerals. Although some of the drawings may be schematic or exaggerated representations of concepts, at least some of the drawings may be drawn to scale. It is understood that the drawings depict some example embodiments, which will be described and explained with additional features and details by using the drawings, in which:
[0009] Figure 1-1 is a top view of an electronic device controller;
[0010] Figure 1-2 is Figure 1-1 a side perspective view of the electronic device controller;
[0011] Figure 2-1 is a front view of an electronic device controller with a haptic region according to at least some embodiments of the present disclosure;
[0012] Figure 2-2 is Figure 2-1 a side view of the electronic device controller;
[0013] Figures 3-1 to 3-4 illustrates the movement of a mass within a linear haptic device according to at least some embodiments of the present disclosure;
[0014] Figure 4 is a representation of a constant resonant waveform according to at least some embodiments of the present disclosure;
[0015] Figure 5 is a representation of an amplitude envelope mapped to a resonant waveform according to at least some embodiments of the present disclosure;
[0016] Figure 6 is a schematic diagram of an electronic device controller assembly according to at least some embodiments of the present disclosure;
[0017] Figure 7 is a flowchart illustrating a method of providing haptic feedback to a user according to at least some embodiments of the present disclosure;
[0018] Figure 8System diagram of an electronic device controller communicating with an electronic device according to at least some embodiments of the present disclosure;
[0019] Figure 9 Flowchart illustrating another method of providing haptic feedback to a user according to at least some embodiments of the present disclosure;
[0020] Figure 10 Perspective view of an eccentric rotating mass haptic device according to at least some embodiments of the present disclosure;
[0021] Figure 11 Schematic diagram of an electronic device controller with an array of hybrid haptic devices according to at least some embodiments of the present disclosure;
[0022] Figure 12 Flowchart illustrating a method of providing haptic feedback to a user using an array of hybrid haptic devices according to at least some embodiments of the present disclosure;
[0023] Figure 13 Schematic diagram of a machine learning system according to at least some embodiments of the present disclosure; and
[0024] Figure 14 Flowchart illustrating a method of providing haptic information to an electronic device controller according to at least some embodiments of the present disclosure. Specific embodiments
[0025] The present disclosure generally relates to systems and methods for providing haptic feedback to a user using haptic devices. More specifically, the haptic devices described herein are configured to provide haptic feedback to a user based on haptic information from a local computing device, a remote computing system (cloud / internet), or a dedicated video game console. In some embodiments, the haptic device according to the present disclosure is part of an electronic device controller that may be in data communication with an electronic device such as a personal computer, a cloud service, or a video game console. In some embodiments, the electronic device controller communicates data via a wired data connection. In other embodiments, the electronic device controller communicates wirelessly.
[0026] In some embodiments, the haptic device according to the present disclosure is a linear haptic device. For example, a linear haptic device is any haptic device configured to accelerate a mass in a linear motion. The linear haptic device can oscillate the mass within the housing to generate a shaking sensation. The linear haptic device can accelerate the mass once to generate a clicking sensation. In some examples, the linear haptic device includes any one of a linear resonant actuator (LRA), a voice coil actuator (VCA), a piezoelectric actuator (PEA), and other electromagnetic actuators or motors that accelerate the mass with a linear acceleration. The acceleration of the mass and / or the duration, amplitude, and frequency of the waveform generated by the oscillation in the haptic device can simulate or imply various haptic feedbacks to the user.
[0027] In some embodiments, the haptic device is used to simulate haptic events, such as events, experiences, actions, or objects within software. For example, the electronic device controller can be a user input device of a computing device or an electronic game console. An interactive software application can be stored on the computing device or the electronic game console, and when the application is executed by the computing device or the electronic game console, it can simulate a virtual environment with which the user can interact. When an avatar or other user agent interacts with the virtual environment, the haptic event can be communicated to the user through the haptic feedback of the electronic device controller. Although the present disclosure mainly relates to virtual environments, in other examples, the electronic device controller can be a user input device of a machine or other device that moves and interacts with the physical environment. The electronic device controller can control or operate at least a part of the machine, and when the machine interacts with the physical environment, the haptic event can be communicated to the user through the haptic feedback of the electronic device controller.
[0028] In a specific example, the electronic device controller can allow the user to operate a (virtual or physical) drill. In some embodiments, the haptic device can simulate the vibratory haptic event of drilling a hole in a wooden board by reproducing the haptic event via the haptic device at the same frequency, the same duration, the same amplitude, or a combination thereof. However, in some embodiments, the haptic event can be prompted to the user by haptic feedback that is close enough to the attributes of the haptic event such that the user can perceive that the haptic feedback corresponds to the haptic event. For example, if the vibration frequency of the drill in the virtual environment is 100 Hertz (Hz), the haptic device can reproduce the haptic event with a haptic feedback of 100 Hz on the haptic device. In other examples, the haptic device can provide a haptic feedback of 80 Hz. This frequency may be close enough to the haptic event such that when the user hears the sound of the drill and sees the visualization of the drill on the display device, the user will perceive the haptic feedback obtained through the electronic device as being related to the haptic event.
[0029] Since haptic feedback only needs to be close enough to the haptic event, and combined with the audio and video information provided to the user, the haptic device according to the present disclosure can be efficiently driven at the resonant frequency, thereby saving power consumption while still providing acceptable haptic feedback. In some embodiments, the perceived frequency can be lower than the resonant frequency by changing the amplitude of the haptic device according to the envelope of the requested haptic event.
[0030] For example, the resonant frequency of the haptic device may be about 200 Hz, while the frequency of the haptic event may be 30 Hz. By driving the haptic device at the resonant frequency (200 Hz) and changing the amplitude of the haptic device with a peak amplitude of 30 Hz, the haptic device can operate at an efficient resonant frequency while approaching the 30 Hz haptic event.
[0031] Referring now to FIG. 1, in some embodiments, the electronic device controller 100 includes a plurality of input buttons located on or within the body 104 of the electronic device controller 100 with a direction input device. The direction input device may include one or more analog thumbsticks 106 and / or one or more direction control pads 108. The input buttons may include surface buttons 102, one or more menu or system buttons 110, shoulder buttons 112, trigger buttons 114, rear paddles, etc.
[0032] The thumbstick 106 and / or the direction control pad 108 can be used to control the movement of an avatar or cursor in a two - dimensional or three - dimensional virtual environment. The input buttons can be used to provide action commands to the avatar (e.g., jump, crouch, defend, attack) and / or interact with the environment. For example, in an adventure game application, the surface button 102 can be used to provide a jump command to the avatar, while the analog trigger button 114 can allow the user to precisely adjust the brake input in a racing game application.
[0033] Figure 1-2 is Figure 1-1 A side perspective view of the electronic device controller 100. The electronic device controller 100 may include one or more haptic devices located within the body 104. In some embodiments, the haptic device transfers haptic feedback to the surface of the body 104, such as the grip 116 of the body 104, through which the user's palm can feel the haptic feedback. In some embodiments, the haptic device transfers haptic feedback to the direction input device (such as the thumbstick 106) or the input button (such as the trigger button 114). In at least one embodiment, the haptic device located in or communicating with the trigger button 114 can transfer haptic events, such as the road surface changes during braking in the foregoing example. The electronic device controller 100 may include a plurality of haptic devices located in different positions, orientations, and configurations to provide various haptic feedback to the user.
[0034] Figure 2-1Schematic diagram of an embodiment of the haptic region of the electronic device controller 200. Figure 2-2 is Figure 2-1 Side view of an electronic device controller with additional haptic regions. Figure 2-1 Front view of the electronic device controller 200, which has no directional input device or surface buttons for easy viewing of the designated haptic regions. In some embodiments, the electronic device controller 200 includes a front grip region 218, a body region 220, a shoulder region 222, a trigger region 224, a rear grip region 226, other haptic regions, or a combination thereof. In some embodiments, the electronic device controller 200 includes haptic devices connected or communicating with a directional input device and / or input buttons, as described herein.
[0035] The haptic regions of the electronic device controller 200 can provide haptic feedback to different regions of the user's hand and simulate or cue different types of haptic events. For example, the haptic feedback in the front grip region 218 can alternate between the left front grip region 218 and the right front grip region 218 to simulate or cue the sound of footsteps in a virtual environment. Longer-duration haptic feedback on the front grip region 218 can indicate the footsteps of a larger entity or avatar (such as an elephant) in the virtual environment. In some examples, the haptic feedback in the shoulder region 222 (located at the top edge of the body) can simulate or cue rain falling on the user's avatar. In some examples, the haptic feedback in the body region 220 can indicate a general or global haptic event, such as an explosion or earthquake in a virtual environment.
[0036] In some embodiments, different haptic devices are located in different haptic regions of the electronic device controller 200, such as having different resonant frequencies, different amplitudes, different orientations, or different configurations between the haptic regions. As described herein, a linear haptic device can accelerate and / or oscillate a mass block in a linear motion, and each linear haptic device can have a different resonant frequency.
[0037] Figures 3-1 to 3-4 Side view cross-sectional view of a linear haptic device with an oscillating mass block. Figure 3-1 Side view cross-sectional view of the linear haptic device 328. The linear haptic device 328 moves the mass block 330 to generate a pulse providing haptic feedback. In some embodiments, the electromagnet 332 generates a magnetic field in the hole 334 of the linear haptic device 328. The mass block 330 is subjected to a magnetic force in response to the presence of the magnetic field, and the magnetic field causes the mass block 330 to accelerate in the first direction in the hole 334.
[0038] Then, the electromagnet can change the direction of the magnetic field and apply a magnetic force in the opposite direction. Figure 3-2Illustrated is that the mass 330 reaches the first end 336 of the electromagnet 332 and then slows down and stops near the first end 336 due to the restoring force. In some embodiments, a magnetic biasing element (such as a permanent magnet) applies the restoring force. In some embodiments, a mechanical biasing element (such as a spring or a bushing) applies the restoring force. In some embodiments, after stopping near the first end 336, the mass 330 accelerates away from the first end 336 and moves towards the center of the aperture 334.
[0039] Figure 3-3 Illustrated is that the mass 330 passes through the center of the aperture 334 and a pulse is applied to the mass 330 to accelerate the mass 330 through the aperture 334. As Figure 3-4 shown, the mass 330 passes through the aperture 334 and moves towards the second end 338 of the aperture 334. By oscillating in the aperture 334, the mass 330 vibrates the linear tactile device 328, thereby generating tactile feedback in response to the applied current. The magnetic field generated by the electromagnet 332 can determine the oscillation speed, frequency, and amplitude of the linear tactile device 328.
[0040] Figure 4 is an embodiment of the waveform 440 of the linear tactile device at the resonant frequency. The linear tactile device has a natural resonant frequency of its internal mass, which depends on the characteristics of the mass, (such) magnets, materials, other components, manufacturing tolerances, etc. In some embodiments, manufacturing tolerances can result in a variation of up to 20% (±10%) in the natural resonant frequency of linear tactile devices of similar specifications. The natural resonant frequency of a single linear tactile device may vary, at least in part, depending on the age or wear of the linear tactile device, the temperature of the linear tactile device, the orientation of the linear tactile device, etc. In some embodiments, the dynamic resonant frequency of the tactile device is calculated or measured according to the systems and methods of the present disclosure so that the driving frequency of the magnetic field adapts to the dynamic resonant frequency.
[0041] A linear tactile device (such as an LRA or a VCA) has a natural resonant frequency at which the harmonics of the linear tactile device allow the linear tactile device to oscillate continuously with minimal input energy. For example, a pulse timed at the natural resonant frequency of the mass passes through the aperture of the linear tactile device, accelerating the mass through the aperture and causing energy loss. Similar to the pendulum motion, the mass is subject to a restoring force that forces the mass back to the center of the aperture (such as Figure 3-3 illustrated). The pulse applied to the mass can maintain or change the amplitude of the mass oscillation.
[0042] In some embodiments, waveform 440 is output by a haptic controller as a series of electrical signals to a linear haptic device to control the electromagnets of the linear haptic device. The output waveform 440 is generated at the linear haptic device by providing input energy to the mass block via a magnetic field generated by a response electrical signal. By applying a magnetic force to the mass block in alternating directions at the resonant frequency while the mass block is oscillating, the mass block can be moved with minimal input energy and lowest power consumption. More specifically, in some embodiments, the magnetic force is applied when the mass block is near the center of the aperture and the net restoring force (i.e., the force applied near both ends of the aperture) is approximately zero. Since the restoring force can be a permanent magnet or a mechanical biasing element, little input energy is required for the restoring force of the linear haptic device. To oscillate the mass block at a frequency other than the resonant frequency, additional input energy is required to overcome or increase the restoring force.
[0043] As described herein, since the resonant frequency of a linear haptic device may be different from the specified resonant frequency of the device, and / or may vary with years of use, environmental conditions, temperature, orientation, etc., the electronic device controller or the electronic device calculates the dynamic resonant frequency to adjust the input frequency to create Figure 4 waveform 440. The constant waveform 440 may have a constant frequency 442 and a constant amplitude 444. Electromagnetic (EM) pulses 446 and 448 balance the resistance or damping in the linear haptic device to keep the mass block oscillating at the same amplitude. In some embodiments, EM pulses 446 and 448 are greater than or less than the resistance or damping in the linear haptic device, and the amplitude changes. However, if the restoring force of the linear haptic device is the same, the frequency remains constant. Therefore, the amplitude can be adjusted by changing the current flowing through the electromagnet, and meanwhile, the linear haptic device continues to oscillate at the resonant frequency.
[0044] Figure 5 is an embodiment of the waveform 540 of a linear haptic device, the amplitude of which changes at the resonant frequency 542. In some embodiments, the electronic device or a software application running thereon sends haptic information to the electronic device controller to provide haptic feedback via one or more linear haptic devices of the electronic device controller. In some embodiments, the processor and / or haptic controller of the electronic device controller receives the haptic information.
[0045] Then, the processor and / or haptic controller of the electronic device maps the haptic information (e.g., the requested waveform) onto the resonant waveform of the linear haptic device (such as Figure 4 described) to create the output waveform 540. In some embodiments, the haptic information is mapped onto the resonant waveform in the form of an amplitude envelope 550. For example, the processor and / or haptic controller instructs the linear haptic device to oscillate at the resonant frequency 542, but changes the amplitude 544, so that the haptic feedback perceived by the user changes according to the haptic information.
[0046] In some embodiments, the EM pulses 552, 554 vary while the restoring force of the linear haptic device remains constant. In such examples, the oscillation frequency remains constant, but the amplitude varies. Although the wavelength of the resonant frequency 542 is different from the wavelength 556 of the haptic information and the desired waveform, the user of the electronic device controller perceives the haptic feedback in the context of the audio and video information provided by the electronic device. Thus, even though the linear haptic device operates at the resonant frequency 542, the user perceives haptic feedback having an amplitude envelope 550.
[0047] Figure 6 FIG. 6 is a schematic diagram of an embodiment of an electronic device controller 600 in accordance with some embodiments of the present disclosure. In some embodiments, the electronic device controller 600 includes at least one linear haptic device 628-1 and a haptic controller 658 communicatively coupled to the linear haptic device 628-1. In some examples, the haptic controller 658 is in electrical communication with a plurality of linear haptic devices 628-1, 628-2. In some examples, each linear haptic device 628-1, 628-2 has a dedicated haptic controller. In some examples, at least one of the linear haptic devices 628-1, 628-2 of the electronic device controller has a dedicated haptic controller and at least two other linear haptic devices share a haptic controller. In some embodiments, the haptic controller 658 is configured to measure and / or determine the dynamic resonant frequency of the linear haptic devices 628-1, 628-2 at a preset time interval or in accordance with an instruction.
[0048] In some embodiments, the electronic device controller includes a processor 660 communicatively coupled to the haptic controller(s). In some examples, the processor 660 is a general-purpose processor. In some examples, the processor 660 is a system-on-chip or an application-specific integrated circuit. In some examples, the haptic controller is integrated with the processor 660 (such as in a system-on-chip or an application-specific integrated circuit).
[0049] The processor 660 is further communicatively coupled to a hardware storage device 662 that stores instructions that, when executed by the processor, cause the electronic device controller to perform at least a portion of any of the methods described herein. In some embodiments, the hardware storage device(s) 662 is a non-transitory storage device, including any one of RAM, ROM, EEPROM, disk storage, or other magnetic storage device, or any other medium that can be used to store desired program code means in the form of computer-executable instructions or data structures and that can be accessed by a general-purpose or a special-purpose processor.
[0050] In some embodiments, the processor 660 is further in communication with a communication device 664. In some examples, the communication device 664 is a wired communication device that allows the electronic device controller to communicate with the electronic device via a wired connection. In some examples, the communication device 664 is a wireless communication device that allows the electronic device controller to communicate with the electronic device via a wireless connection. In some embodiments, the communication device 664 communicates directly with the electronic device, such as via local radio frequency (RF) communication with an electronic device antenna. In some examples, the communication device is integrated with the processor 660. In some embodiments, the communication device 664 communicates indirectly with the electronic device, such as by communicating with the electronic device via local radio frequency communication with a network access point, such as for cloud processing.
[0051] As described herein, the hardware storage device 662 of the electronic device controller 600 stores instructions thereon that cause the electronic device controller 600 to generate haptic feedback for a user based on haptic information received by the electronic device controller. Figure 7 FIG. is a flowchart illustrating an embodiment of a method 766 for providing haptic feedback to a user. In some embodiments, the method 766 includes determining, at 768, a dynamic resonance frequency of a haptic device. Determining the dynamic resonance frequency may include measuring the dynamic resonance frequency during operation of a linear haptic device. In some examples, determining the dynamic resonance frequency may include measuring the dynamic resonance frequency upon startup of the electronic device controller. In some examples, determining the dynamic resonance frequency may include measuring the dynamic resonance frequency in response to receiving haptic information at the electronic device controller. In some examples, determining the dynamic resonance frequency may include measuring the dynamic resonance frequency at a predetermined time interval.
[0052] The method 766 further includes receiving, at 770, haptic information at the electronic device controller and mapping, at 772, the haptic information to the dynamic resonance frequency. For example, mapping the haptic information to the dynamic resonance frequency may include mapping an amplitude envelope to a resonant waveform, such as in conjunction with Figure 5 as described. Mapping the haptic information to the dynamic resonance frequency may be performed at a haptic controller. Mapping the haptic information to the dynamic resonance frequency may be performed at a processor. After mapping the haptic information to the dynamic resonance frequency, the method includes outputting, at 774, a haptic waveform and driving, at 776, the haptic device based on the haptic waveform. In some examples, the haptic waveform may be calculated by a haptic controller, and driving the haptic device may include transmitting an electrical signal from the haptic controller to the linear haptic device according to the haptic waveform. In some examples, the haptic waveform may be calculated by a processor, and the processor outputs the haptic waveform to the haptic controller. The haptic controller may then drive the haptic device by transmitting an electrical signal from the haptic controller to the linear haptic device according to the haptic waveform.
[0053] In some embodiments, haptic information received from an electronic device is at least partially based on an application programming interface (API) provided to software running on the electronic device. For example, the haptic information may have a waveform that varies based on a time step set by the API. In some embodiments, the time step is at least partially based on a dynamic resonance frequency. For example, an electronic device controller may determine the dynamic resonance frequency of a linear haptic device and map haptic information to a resonant waveform based on a time step equal to the dynamic resonance frequency. In some examples, the electronic device controller may determine the dynamic resonance frequency of a linear haptic device and transmit the dynamic resonance frequency and / or the time step to the electronic device. Then, the haptic information transmitted to the electronic device controller may be at least partially based on the dynamic resonance frequency and / or the time step. In some embodiments, mapping the haptic information includes downsampling a high-sampling-rate waveform of the haptic information at least partially based on the time step and / or the dynamic resonance frequency.
[0054] Figure 8 is a system diagram of an embodiment of an electronic device controller 800 that communicates with an electronic device 878. In some embodiments, a system for providing haptic feedback to a user includes an electronic device controller 800 (such as incorporated Figure 6 as described), the electronic device controller 800 including at least one linear haptic device (such as incorporated in FIGS. 2 through Figure 5 as described) and an electronic device 878 in data communication with the electronic device controller 800. In some embodiments, the electronic device 878 is a general-purpose computer. In some embodiments, the electronic device 878 is a dedicated computing device, such as a retail merchandise video game console. In some embodiments, the electronic device 878 is a server computer, or is part of a server blade located remotely from the electronic device controller. In these examples, the electronic device controller is in data communication with the electronic device 878 via a network connection.
[0055] The electronic device 878 includes at least a processor 860, a hardware storage device 862, and a communication device 864. In some examples, the processor 860 is a general-purpose processor. In some examples, the processor 860 is a system-on-chip or an application-specific integrated circuit. In some examples, a haptic controller is integrated with the processor 860 (such as, in a system-on-chip or an application-specific integrated circuit).
[0056] The processor 860 further communicates with a hardware storage device 862 on which instructions are stored that, when executed by the processor, cause the electronic device controller to perform at least a portion of any of the methods described herein. In some embodiments, the hardware storage device(s) 862 is a non-transitory storage device including any one of RAM, ROM, EEPROM, magnetic disk storage, or other magnetic storage devices, or any other medium that can be used to store desired program code means in the form of computer-executable instructions or data structures and that can be accessed by a general-purpose or special-purpose processor.
[0057] In some embodiments, the processor 860 further communicates with a communication device 864. In some examples, the communication device 864 is a wired communication device that allows the electronic device to communicate with the electronic device controller via a wired connection. In some examples, the communication device 864 is a wireless communication device that allows the electronic device to communicate with the electronic device controller via a wireless connection. In some embodiments, the communication device 864 communicates directly with the electronic device controller, such as via local RF communication with an antenna of the electronic device controller. In some embodiments, the communication device 864 communicates indirectly with the electronic device controller, such as by communicating with the electronic device controller via local RF communication with a network access point, such as when the electronic device 878 is part of a cloud server.
[0058] In at least one embodiment, various information 880 is transmitted and received between the electronic device 878 and the electronic device controller 800. For example, the electronic device may transmit to the electronic device controller information including one or more of software audio, chat audio, game input protocol (GIP) commands, and other information (such as a wake-up command or other control information) to manage the data connection with the electronic device controller. In some embodiments, haptic information is transmitted to the electronic device controller via or in a GIP command. In some embodiments, the haptic information is determined based on software audio transmitted to the electronic device controller. In some embodiments, the haptic information is determined based on software audio and then transmitted to the electronic device controller via or in a GIP command. For example, older software (such as legacy or backward-compatible electronic games) may lack explicit haptic information and / or lack haptic information for driving non-ERM actuators, and can provide haptic feedback support to the user by mapping the audio waveform of the software audio to a resonant waveform, such as in conjunction with Figure 5 as described.
[0059] Figure 9FIG. is a flowchart illustrating an embodiment of method 982 for providing haptic feedback to a user based on an audio input. In some embodiments, method 982 includes determining, at 968, a dynamic resonance frequency of a haptic device. Determining the dynamic resonance frequency may include measuring the dynamic resonance frequency during operation of a linear haptic device. In some examples, determining the dynamic resonance frequency may include measuring the dynamic resonance frequency when an electronic device controller is started. In some examples, determining the dynamic resonance frequency may include measuring the dynamic resonance frequency in response to receiving haptic information at the electronic device controller. In some examples, determining the dynamic resonance frequency may include measuring the dynamic resonance frequency at a predetermined time interval.
[0060] The method further includes receiving, at 984, software audio information at the electronic device controller. In some embodiments, the software audio information has an audio waveform. For example, the audio waveform may have an amplitude and a frequency and / or a wavelength. The audio waveform may be mapped to the dynamic resonance frequency. In some embodiments, the amplitude of the audio waveform is scaled relative to the amplitude of the haptic device. For example, the maximum amplitude of the audio waveform may be scaled to be equal to the maximum amplitude of the haptic device. In some examples, the maximum amplitude of the audio waveform may be scaled to be equal to or less than the maximum amplitude of the haptic device, such as 90%, 80%, or 50% of the maximum amplitude of the haptic device, to limit wear of the haptic device. In some embodiments, the amplitude of the audio waveform may be linearly scaled to the amplitude of the haptic device. For example, the portion of the audio waveform having an amplitude of 50% of the maximum amplitude of the audio waveform may be scaled proportionally to 50% of the maximum amplitude of the haptic device. In some embodiments, the amplitude of the audio waveform may be non-linearly scaled to the amplitude of the haptic device. For example, the portion of the audio waveform having an amplitude of 80% of the maximum amplitude of the audio waveform may be scaled proportionally to 50% of the maximum amplitude of the haptic device to provide a stronger contrast in haptic feedback based on the audio waveform.
[0061] In some embodiments, method 982 optionally includes associating, at 985, legacy (e.g., non-linear) haptic instructions with the software audio information. In some embodiments, the software audio information may be erroneously converted into haptic events, such as a low-frequency character dialogue or a specific frequency in software music or ambient audio. To limit unnecessary audio-to-haptic conversion, method 982 may limit the conversion of the software audio information to haptic information for the haptic device based at least in part on the presence of legacy haptic instructions provided by the software.
[0062] For example, the software may provide (such as in a GIP command) legacy haptic instructions to operate a non-linear haptic device, such as an eccentric rotating mass (ERM) haptic device (as will be described in connection with Figure 10 and Figure 11(as described). The duration and timing of traditional haptic instructions can be associated with software audio to instruct a processor of an electronic device controller to perform audio-to-haptic conversion during the timing and duration of the traditional haptic instructions. In a specific example, a traditional haptic instruction provided to the electronic device controller notifies the electronic device controller to provide haptic feedback during a cutscene of a video game. The traditional haptic instruction instructs the controller to provide haptic feedback during an explosion at the start of the cutscene and during a building collapse at the end of the cutscene. Between the two haptic events (the explosion and the building collapse), the audio track volume increases and the characters talk loudly to each other.
[0063] In some embodiments, method 982 associates software audio information with the timing and duration of traditional haptic instructions so as to provide haptic feedback using a linear haptic device and / or a traditional haptic device at least in part based on the software audio information during the timing and duration of the traditional haptic instructions, while ignoring the software audio information during other periods. In this way, method 982 can allow the electronic device controller to provide improved haptic feedback to the user in scenarios preset by the developer, and the method can reduce false alarms caused by new haptic events not preset by the developer.
[0064] Similar to Figure 5 As described in, mapping audio information or an audio waveform to a resonant waveform having a dynamic resonant frequency at 986 can include mapping an amplitude envelope to the resonant waveform. Mapping the audio information or the audio waveform to a dynamic resonant frequency can be performed at a haptic controller. Mapping the audio information or the audio waveform to a dynamic resonant frequency can be performed at a processor. After mapping the audio information or the audio waveform to a dynamic resonant frequency, the method includes outputting a haptic waveform at 974 and driving a haptic device according to the haptic waveform at 976. In some examples, the haptic waveform can be calculated by the haptic controller, and driving the haptic device can include transmitting an electrical signal from the haptic controller to the linear haptic device according to the haptic waveform. In some examples, the haptic waveform can be calculated by the processor, and the processor outputs the haptic waveform to the haptic controller. Then, the haptic controller can drive the haptic device by transmitting an electrical signal from the haptic controller to the linear haptic device according to the haptic waveform.
[0065] Figure 10 is a perspective view of an embodiment of an eccentric rotating mass (ERM) haptic device 1088. The ERM haptic device 1088 provides low-frequency, slow-response haptics. The ERM haptic device 1088 includes a motor 1090 configured to rotate a drive shaft 1092. The drive shaft 1092 is rotationally fixed to a mass 1030. The rotating mass 1030 is offset from the center of the axis of rotation of the drive shaft 1092.
[0066] The ERM haptic device generates uneven centripetal force, which causes the ERM haptic device to move back and forth. This movement also generates left - and - right vibrations, i.e., lateral vibrations. The ERM haptic device is generally heavier than the linear haptic device and thus can provide stronger haptic feedback, but at a lower frequency and with a slower response time. In contrast, the linear haptic device can quickly change the amplitude, thereby enabling the adjustment of haptic feedback and / or starting and stopping haptic feedback faster than the ERM. In some embodiments, the ERM haptic device can be used in combination with the linear haptic device to provide a combination of strong and advanced haptic feedback.
[0067] Figure 11 FIG. is a schematic diagram of an embodiment of an electronic device controller 1100 having a hybrid haptic array. In some embodiments, the electronic device controller 1100 includes at least one linear haptic device 1128 - 1, 1128 - 2, at least one ERM haptic device 1188, and a haptic controller 1158. In some examples, the haptic controller 1158 communicates electrically with a plurality of haptic devices. In some examples, each haptic device has a dedicated haptic controller. In some examples, at least one haptic device of the electronic device controller has a dedicated haptic controller, and at least two other haptic devices share a haptic controller. In some embodiments, the haptic controller is configured to measure and / or determine the dynamic resonance frequency of the linear haptic device at a preset time interval or according to an instruction.
[0068] In some embodiments, the electronic device controller 1100 includes a processor (such as described in connection with Figure 6 ). In some examples, the processor is a general - purpose processor. In some examples, the processor is a system - on - chip or an application - specific integrated circuit. In some examples, the haptic controller is integrated with the processor (such as in a system - on - chip or an application - specific integrated circuit).
[0069] The processor further communicates with a hardware storage device (such as described in connection with Figure 6 ), on which instructions are stored, and when the processor executes these instructions, it causes the electronic device controller to perform at least a part of any of the methods described herein. In some embodiments, the (such) hardware storage device is a non - transient storage device, including any one of RAM, ROM, EEPROM, disk memory, or other magnetic storage devices, or any other medium that can be used to store desired program code means in the form of computer - executable instructions or data structures and can be accessed by a general - purpose or a special - purpose processor.
[0070] In some embodiments, the processor further communicates with a communication device (such as described in connection with Figure 6(as described). In some examples, the communication device is a wired communication device that allows the electronic device controller to communicate with the electronic device via a wired connection. In some examples, the communication device is a wireless communication device that allows the electronic device controller to communicate with the electronic device via a wireless connection. In some embodiments, the communication device communicates directly with the electronic device, such as via local RF communication with the antenna of the electronic device. In some embodiments, the communication device communicates indirectly with the electronic device, such as via local radio frequency communication with a network access point to communicate with the electronic device, such as for cloud processing.
[0071] In some embodiments, a combination of at least one linear haptic device for high-frequency and / or fast-response haptic feedback and at least one ERM haptic device for low-frequency and / or slow-response haptic feedback can enable an electronic device controller according to the present disclosure to provide strong and advanced haptic feedback while consuming less power.
[0072] In some embodiments, the processor and / or the haptic controller selects one or both of the linear haptic device and the ERM haptic device to generate haptic feedback based on haptic information. Figure 12 is a flowchart illustrating an embodiment of a method 1294 of providing haptic feedback to a user using a hybrid haptic array. In some embodiments, method 1294 includes receiving haptic information (or determining haptic information from software audio information) at 1270, such as in conjunction with Figure 7 (and Figure 9 ) as described. The method further includes selecting a haptic device from the linear haptic device and the ERM haptic device at 1296.
[0073] In some embodiments, selecting the haptic device includes comparing the duration of the haptic information with a threshold duration. For example, haptic information longer than the threshold duration may result in the selection of the ERM haptic device to save power of the electronic device controller. Since the moving mass of the ERM haptic device is generally larger than that of the linear haptic device, starting and stopping the moving mass of the ERM haptic device for short-duration haptic events may consume more power compared to the linear haptic device. Also, the ERM haptic device may consume less power when moving relative to the linear haptic device.
[0074] In some embodiments, selecting a haptic device includes comparing the duration of haptic information to a threshold response time. For example, haptic information that is shorter than the threshold response time may result in selecting a linear haptic device in an electronic device controller. Since the moving mass of an ERM haptic device is typically larger than that of a linear haptic device, it may not be possible to start and stop the rotating mass to reproduce a haptic event of short duration, or the required precision may not be achieved. Similarly, a linear haptic device can accelerate and decelerate the oscillating mass faster than an ERM haptic device, allowing for more faithful haptic feedback in response to haptic information and / or events of short duration.
[0075] In some embodiments, selecting a haptic device includes comparing the frequency of haptic information to a threshold frequency. For example, haptic information that has a frequency less than the threshold frequency may result in selecting an ERM haptic device to more strongly reproduce low-frequency vibrations. Since the frequency of an ERM haptic device is typically lower than that of a linear haptic device, the rotating mass of the ERM haptic device can more easily reproduce low-frequency haptic events compared to the smaller and faster oscillations of a linear haptic device. Similarly, since the mass of the ERM haptic device is larger than that of a linear haptic device, it can provide a strong vibration in haptic feedback. In some embodiments, the low-frequency haptic event is an explosion or other strong haptic event that may benefit from a larger low-frequency vibration.
[0076] In some embodiments, selecting a haptic device includes selecting both a linear haptic device and an ERM haptic device. For example, haptic information that has an amplitude greater than a threshold amplitude may cause the electronic device controller to operate both the ERM haptic device and the linear haptic device. In some examples, the linear haptic device can provide a shorter response time, while the ERM haptic device can provide a longer duration and a stronger vibration. In some embodiments, selecting a haptic device or a combination of haptic devices can be performed at least in part by a machine learning model (ML) or system.
[0077] After selecting the linear haptic device at 1296, the method further includes determining a dynamic resonance frequency at 1268 and mapping the haptic information to the dynamic resonance frequency at 1272. For example, mapping the haptic information to the dynamic resonance frequency can include mapping an amplitude envelope to a resonant waveform, such as in combination with Figure 5As described. Mapping haptic information to a dynamic resonance frequency can be performed at a haptic controller. Mapping haptic information to a dynamic resonance frequency can be performed at a processor. After mapping haptic information to a dynamic resonance frequency, the method includes outputting a haptic waveform and driving a haptic device based on the haptic waveform. In some examples, the haptic waveform can be calculated by the haptic controller, and driving the haptic device can include transmitting an electrical signal from the haptic controller to a linear haptic device based on the haptic waveform. In some examples, the haptic waveform can be calculated by the processor, and the processor outputs the haptic waveform to the haptic controller. Then, the haptic controller can drive the haptic device by transmitting an electrical signal from the haptic controller to a linear haptic device based on the haptic waveform.
[0078] In some embodiments, the haptic information received from an electronic device is at least partially based on an application programming interface (API) provided to software running on the electronic device. For example, the haptic information can have a waveform that varies based on a time step set by the API. In some embodiments, the time step is at least partially based on the dynamic resonance frequency. For example, an electronic device controller can determine the dynamic resonance frequency of a linear haptic device and map the haptic information to a resonance waveform based on a time step equal to the dynamic resonance frequency. In some examples, the electronic device controller can determine the dynamic resonance frequency of a linear haptic device and transmit the dynamic resonance frequency and / or the time step to the electronic device. Then, the haptic information transmitted to the electronic device controller can be at least partially based on the dynamic resonance frequency and / or the time step. In some embodiments, mapping the haptic information includes downsampling a high-sampling rate waveform of the haptic information at least partially based on the time step and / or the dynamic resonance frequency.
[0079] Method 1294 further includes outputting a haptic waveform at 1274 and driving a linear haptic device at 1276 based on the haptic waveform. When method 1294 includes selecting an ERM haptic device at 1296, method 1294 further includes driving the ERM haptic device at 1298 with the amplitude and / or frequency of the haptic information.
[0080] Figure 13A flowchart of an embodiment of the ML model 1399, which can be used with any method described herein. As used herein, a "machine learning model" refers to a computer algorithm or model (e.g., a classification model, a regression model, a language model, an object detection model) that can be adjusted (e.g., trained) based on training inputs to approximate an unknown function. For example, an ML model can refer to a neural network or other machine learning algorithm or architecture that learns and approximates a complex function and generates an output based on multiple inputs provided to the machine learning model. In some embodiments, the ML systems, models, or neural networks described herein are artificial neural networks. In some embodiments, the ML systems, models, or neural networks described herein are convolutional neural networks. In some embodiments, the ML systems, models, or neural networks described herein are recurrent neural networks. In at least one embodiment, the ML systems, models, or neural networks described herein are Bayesian classifiers. As used herein, a "machine learning system" can refer to one or more ML models that collaboratively generate one or more outputs based on corresponding inputs. For example, an ML system can refer to any system architecture having multiple discrete ML components that consider different kinds of information or inputs.
[0081] As used herein, an "instance" refers to an input object that can be provided as an input to an ML system for generating an output, such as a haptic information duration, a haptic information frequency, a haptic information response time, a haptic information amplitude, a haptic device resonance frequency, a haptic device response time, a haptic device maximum amplitude, an audio waveform, a haptic device resonance waveform, a haptic device power consumption, or any other value or metric related to the haptic feedback of an electronic device controller.
[0082] In some embodiments, the machine learning system has multiple layers, an input layer 1305, an output layer 1309, and multiple additional or hidden layers 1307 therebetween, where the input layer 1305 is configured to receive at least one input training data set 1301 or input training instance 1303. The training data set can be input into the machine learning system for training the machine learning system and identifying a single label or attribute or a combination of multiple labels or attributes of the training instance, thereby allowing the processor or haptic controller to improve the haptic feedback performance and / or reduce the power consumption of the haptic feedback device.
[0083] In some embodiments, the machine learning system can receive multiple training data sets simultaneously and learn from different training data sets simultaneously.
[0084] In some embodiments, a machine learning system includes multiple machine learning models that operate in concert. Each machine learning model has multiple hidden layers between an input layer and an output layer. The hidden layers have multiple input nodes (e.g., node 1311), where each node operates on the input received from a previous layer. In a specific example, the first hidden layer has multiple nodes, and each node operates on each instance from the input layer. Each node in the first hidden layer provides a new input to each node in the second hidden layer, and the second hidden layer in turn performs a new operation on each input. Then, the nodes in the second hidden layer pass the output (such as the identified cluster 1313) to the output layer.
[0085] In some embodiments, each node 1311 has a linear function and an activation function. The linear function may attempt to optimize or approximate a solution using a best-fit line, such as reducing power costs or latency. The activation function serves as a test to check the validity of the linear function. In some embodiments, the activation function produces a binary output that determines whether to pass the output of the linear function to the next layer of the machine learning model. In this way, the machine learning system can limit and / or prevent the propagation of poorly fitting data and / or non-convergent solutions.
[0086] The machine learning model includes an input layer that receives at least one training data set. In some embodiments, at least one machine learning model uses supervised training. In some embodiments, at least one machine learning model uses unsupervised training. Unsupervised training can be used to make inferences from a training data set without a known output and to find patterns or associations. In some embodiments, unsupervised learning can identify clusters of similar labels or features of various training instances and allow the machine learning system to infer the performance of instances with similar features.
[0087] In some embodiments, semi-supervised learning can combine the advantages of supervised learning and unsupervised learning. As described herein, the machine learning system can identify associated labels or features between instances, which can allow the fusion of a training data set with a known output and a second training data set containing more general input information. Unsupervised training can allow the machine learning system to cluster instances from the second training data set without a known output and associate the clusters with the known outputs from the first training data set.
[0088] Figure 14FIG. 0 is a flowchart of an embodiment of a method 1415 for providing haptic feedback to a user at an electronic device. The method includes receiving, at 1417, a dynamic resonance frequency of a linear haptic device of an electronic device controller, and obtaining, at 1419, haptic information. Method 1415 further includes mapping, at 1421, the haptic information to the dynamic resonance frequency, and outputting, at 1423, a haptic waveform. The method includes, at 1425, the electronic device instructing the electronic device controller to drive the haptic device according to the haptic waveform.
[0089] Industrial Applicability
[0090] The present disclosure generally relates to systems and methods for providing haptic feedback to a user using a haptic device. More specifically, the haptic devices described herein are configured to provide haptic feedback to a user based on haptic information from a computing device or a dedicated video game console. In some embodiments, the haptic device according to the present disclosure is part of an electronic device controller, which may be in data communication with an electronic device such as a personal computer or a video game console. In some embodiments, the electronic device controller communicates data via a wired data connection. In other embodiments, the electronic device controller communicates wirelessly.
[0091] In some embodiments, the haptic device according to the present disclosure is a linear haptic device. For example, a linear haptic device is any haptic device configured to accelerate a mass in a linear motion. The linear haptic device may oscillate the mass within a housing to generate a shaking sensation. The linear haptic device may accelerate the mass once to generate a clicking sensation. In some examples, the linear haptic device includes any one of a linear resonant actuator (LRA), a voice coil actuator (VCA), a piezoelectric actuator (PEA), and other electromagnetic actuators or motors that accelerate a mass with a linear acceleration. The acceleration of the mass and / or the duration, amplitude, and frequency of the waveform generated by the oscillation in the haptic device may simulate or imply various haptic feedbacks to the user.
[0092] In some embodiments, a haptic device is used to simulate haptic events, such as in-software events, experiences, actions, or objects. For example, an electronic device controller can be a user input device of a computing device or an electronic game console. An interactive software application can be stored on the computing device or the electronic game console, and when the application is executed by the computing device or the electronic game console, a virtual environment with which the user can interact can be simulated. When an avatar or other user agent interacts with the virtual environment, haptic feedback through the electronic device controller can convey the haptic event to the user. Although the present disclosure mainly relates to virtual environments, in other examples, the electronic device controller can be a user input device of a machine or other device that moves and interacts with a physical environment. The electronic device controller can control or operate at least a part of the machine, and when the machine interacts with the physical environment, haptic feedback through the electronic device controller can convey the haptic event to the user.
[0093] In a specific example, the electronic device controller can allow a user to operate a drill (virtual or physical). In some embodiments, the haptic device can simulate the vibrotactile event of drilling a hole in a wooden board by reproducing the haptic event at the same frequency, the same duration, the same amplitude, or a combination thereof via the haptic device. However, in some embodiments, the haptic event can be prompted to the user by haptic feedback that is close enough to the attributes of the haptic event such that the user can perceive that the haptic feedback corresponds to the haptic event. For example, if the vibration frequency of the drill bit in the virtual environment is 100 Hertz (Hz), the haptic device can reproduce the haptic event with a haptic feedback of 100 Hz on the haptic device. In other examples, the haptic device can provide a haptic feedback of 80 Hz. This frequency may be close enough to the haptic event such that when the user hears the sound of the drill bit and sees the visualization of the drill bit on a display device, the user will perceive the haptic feedback obtained through the electronic device as being related to the haptic event.
[0094] Since the haptic feedback only needs to be close enough to the haptic event, in combination with the audio and video information provided to the user, the haptic device according to the present disclosure can be efficiently driven at the resonant frequency, thereby saving power consumption while still providing acceptable haptic feedback. In some embodiments, the perceived frequency can be lower than the resonant frequency by changing the amplitude of the haptic device according to the envelope of the requested haptic event.
[0095] For example, the resonant frequency of the haptic device may be about 200 Hz, while the frequency of the haptic event may be 30 Hz. By driving the haptic device at the resonant frequency (200 Hz) and changing the amplitude of the haptic device with a peak amplitude of 30 Hz, the haptic device can operate at an efficient resonant frequency while approximating the 30 Hz haptic event.
[0096] In some embodiments, an electronic device controller includes a plurality of input buttons located on or within a body of the electronic device controller with a directional input device. The directional input device may include one or more analog thumbsticks and / or one or more directional control pads. The input buttons may include surface buttons, one or more menu or system buttons, shoulder buttons, trigger buttons, rear paddles, and the like.
[0097] The thumbstick and / or the directional control pad may be used to control the movement of an avatar or a cursor in a two-dimensional or three-dimensional virtual environment. The input buttons may be used to provide action commands to the avatar (e.g., jump, crouch, defend, attack) and / or interact with the environment. For example, in an adventure game application, a surface button may be used to provide a jump command to the avatar, while an analog trigger button may allow a user to precisely adjust the brake input in a racing game application.
[0098] The electronic device controller may include one or more haptic devices located within the body. In some embodiments, the haptic device delivers haptic feedback to the surface of the body, such as a grip of the body, through which a user's palm can feel the haptic feedback. In some embodiments, the haptic device delivers haptic feedback to the directional input device (such as a thumbstick) or the input button (such as a trigger button). In at least one embodiment, a haptic device located in or communicating with the trigger button may deliver haptic events, such as changes in the road surface during braking in the foregoing example. The electronic device controller may include a plurality of haptic devices located in different positions, orientations, and configurations to provide various haptic feedback to the user.
[0099] In some embodiments, the electronic device controller includes a front grip area, a body area, a shoulder area, a trigger area, a rear grip area, other haptic areas, or a combination thereof. In some embodiments, the electronic device controller includes haptic devices connected to or communicating with the directional input device and / or the input buttons as described herein.
[0100] The haptic areas of the electronic device controller may provide haptic feedback to different areas of the user's hand and simulate or cue different types of haptic events. For example, the haptic feedback in the front grip area may alternate between the left front grip area and the right front grip area to simulate or cue footsteps in a virtual environment. Longer-duration haptic feedback on the front grip area may indicate the footsteps of a larger entity or avatar (such as an elephant) in the virtual environment. In some examples, the haptic feedback in the shoulder area (located at the top edge of the body) may simulate or cue rain falling on the user's avatar. In some examples, the haptic feedback in the body area may indicate a general or global haptic event, such as an explosion or an earthquake in a virtual environment.
[0101] In some embodiments, different haptic devices are located in different haptic regions of an electronic device controller, such as having different resonant frequencies, different amplitudes, different orientations, or different configurations between the haptic regions. As described herein, a linear haptic device can accelerate and / or oscillate a mass in a linear motion, and each linear haptic device can have a different resonant frequency.
[0102] In some embodiments, a linear haptic device moves a mass to generate a pulse that provides haptic feedback. In some embodiments, an electromagnet generates a magnetic field in a bore of the linear haptic device. The mass is subject to a magnetic force in response to the presence of the magnetic field, and the magnetic field causes the mass to accelerate in the bore in a first direction.
[0103] Then, the electromagnet can change the direction of the magnetic field and apply a magnetic force in the opposite direction. In some embodiments, due to the action of a restoring force, the mass decelerates and stops at a position near the first end of the device. In some embodiments, a magnetic biasing element (such as a permanent magnet) applies the restoring force. In some embodiments, a mechanical biasing element (such as a spring or a bushing) applies the restoring force. In some embodiments, after stopping near the first end, the mass accelerates away from the first end and moves toward the center of the bore.
[0104] The mass travels through the bore and moves toward the second end of the bore. By oscillating in the bore, the mass vibrates the linear haptic device, thereby generating haptic feedback in response to the applied current. The magnetic field generated by the electromagnet can determine the oscillation speed, frequency, and amplitude of the linear haptic device.
[0105] In some embodiments, a linear haptic device has a natural resonant frequency of its internal mass, which depends on the characteristics of the mass, (such as) magnets, materials, other components, manufacturing tolerances, etc.
[0106] In some embodiments, manufacturing tolerances can result in a variation of up to 20% (±10%) in the natural resonant frequency of linear haptic devices of similar specifications. The natural resonant frequency of a single linear haptic device may vary, which depends at least in part on the age or wear of the linear haptic device, the temperature of the linear haptic device, the orientation of the linear haptic device, etc. In some embodiments, the dynamic resonant frequency of a haptic device is calculated or measured according to the systems and methods of the present disclosure so that the driving frequency of the magnetic field adapts to the dynamic resonant frequency.
[0107] Linear haptic devices, such as LRAs or VCAs, have an inherent resonant frequency at which the harmonics of the linear haptic device allow the linear haptic device to oscillate continuously with minimal input energy. For example, a pulse timed to the inherent resonant frequency of a mass passes through a hole in the linear haptic device, accelerating the mass through the hole and causing an energy loss. Similar to pendulum motion, the mass is subject to a restoring force that forces the mass back to the center of the hole. The pulse applied to the mass can maintain or change the amplitude of the mass's oscillation.
[0108] In some embodiments, a waveform is output by a haptic controller to the linear haptic device in the form of a series of electrical signals to control the electromagnet of the linear haptic device. The waveform is generated at the linear haptic device by providing input energy to the mass via a magnetic field generated in response to the electrical signals. By applying magnetic forces to the mass in alternating directions at the resonant frequency while the mass is oscillating, the mass can be moved with minimal input energy and lowest power consumption. More specifically, some embodiments apply magnetic forces when the mass is near the center of the hole and the net restoring force (i.e., the forces applied near the two ends of the hole) is approximately zero. Since the restoring force can be a permanent magnet or a mechanical biasing element, the restoring force of the linear haptic device requires little input energy. To make the mass oscillate at a frequency other than the resonant frequency, additional input energy is required to overcome or increase the restoring force.
[0109] As described herein, since the resonant frequency of a linear haptic device may be different from the resonant frequency specified for the device and / or may vary with years of use, environmental conditions, temperature, orientation, etc., an electronic device controller or an electronic device calculates a dynamic resonant frequency to adjust the input frequency to create a waveform. A constant waveform can have a constant frequency and a constant amplitude. Electromagnetic (EM) pulses balance the resistance or damping in the linear haptic device to keep the mass oscillating at the same amplitude. In some embodiments, the EM pulses are greater than or less than the resistance or damping in the linear haptic device, and the amplitude changes. However, if the restoring force of the linear haptic device is the same, the frequency remains constant. Therefore, the amplitude can be adjusted by changing the current flowing through the electromagnet, and meanwhile, the linear haptic device continues to oscillate at the resonant frequency.
[0110] In some embodiments, an electronic device or a software application running thereon sends haptic information to an electronic device controller to provide haptic feedback via one or more linear haptic devices of the electronic device controller. In some embodiments, a processor and / or a haptic controller of the electronic device controller receives the haptic information.
[0111] Then, a processor and / or a haptic controller of the electronic device maps haptic information (e.g., the requested waveform) onto the resonant waveform of the linear haptic device to create an output waveform. In some embodiments, the haptic information is mapped onto the resonant waveform in the form of an amplitude envelope. For example, the processor and / or the haptic controller instruct the linear haptic device to oscillate at the resonant frequency but vary the amplitude, such that the haptic feedback perceived by the user varies according to the haptic information.
[0112] In some embodiments, the EM pulse changes while the restoring force of the linear haptic device remains constant. In such examples, the oscillation frequency remains constant, but the amplitude changes. Although the wavelength of the resonant frequency is different from the wavelengths of the haptic information and the desired waveform, the user of the electronic device controller perceives the haptic feedback in the context of the audio and video information provided by the electronic device. Thus, even though the linear haptic device operates at the resonant frequency, the user perceives haptic feedback with an amplitude envelope.
[0113] In some embodiments, the electronic device controller includes at least one linear haptic device and a haptic controller in communication with the linear haptic device. In some examples, the haptic controller is in electrical communication with a plurality of linear haptic devices. In some examples, each linear haptic device has a dedicated haptic controller. In some examples, at least one linear haptic device of the electronic device controller has a dedicated haptic controller and at least two other linear haptic devices share a haptic controller. In some embodiments, the haptic controller is configured to measure and / or determine the dynamic resonant frequency of the linear haptic device at a preset time interval or according to an instruction.
[0114] In some embodiments, the electronic device controller includes a processor in communication with the haptic controller(s). In some examples, the processor is a general-purpose processor. In some examples, the processor is a system-on-chip or an application-specific integrated circuit. In some examples, the haptic controller is integrated with the processor (such as in a system-on-chip or an application-specific integrated circuit).
[0115] The processor further communicates with a hardware storage device on which instructions are stored, which, when executed by the processor, cause the electronic device controller to perform at least a portion of any of the methods described herein. In some embodiments, the hardware storage device(s) is a non-transitory storage device, including any one of RAM, ROM, EEPROM, disk memory, or other magnetic storage devices, or any other medium that can be used to store desired program code means in the form of computer-executable instructions or data structures and that can be accessed by a general-purpose or a special-purpose processor.
[0116] In some embodiments, the processor is further in communication with a communication device. In some examples, the communication device is a wired communication device that allows the electronic device controller to communicate with the electronic device via a wired connection. In some examples, the communication device is a wireless communication device that allows the electronic device controller to communicate with the electronic device via a wireless connection. In some embodiments, the communication device communicates directly with the electronic device, such as via local radio frequency (RF) communication with the electronic device antenna. In some embodiments, the communication device communicates indirectly with the electronic device, such as by communicating with the electronic device via local radio frequency communication with a network access point, such as for cloud processing.
[0117] As described herein, the hardware storage device of the electronic device controller stores instructions thereon that cause the electronic device controller to generate haptic feedback for a user based on haptic information received by the electronic device controller. In some embodiments, the method includes determining a dynamic resonance frequency of the haptic device at. Determining the dynamic resonance frequency can include measuring the dynamic resonance frequency during operation of the linear haptic device. In some examples, determining the dynamic resonance frequency can include measuring the dynamic resonance frequency upon startup of the electronic device controller. In some examples, determining the dynamic resonance frequency can include measuring the dynamic resonance frequency in response to receiving haptic information at the electronic device controller. In some examples, determining the dynamic resonance frequency can include measuring the dynamic resonance frequency at a predetermined time interval.
[0118] The method further includes receiving haptic information at the electronic device controller and mapping the haptic information to the dynamic resonance frequency. For example, mapping the haptic information to the dynamic resonance frequency can include mapping an amplitude envelope to a resonant waveform. Mapping the haptic information to the dynamic resonance frequency can be performed at the haptic controller. Mapping the haptic information to the dynamic resonance frequency can be performed at the processor. After mapping the haptic information to the dynamic resonance frequency, the method includes outputting a haptic waveform and driving the haptic device according to the haptic waveform. In some examples, the haptic waveform can be calculated by the haptic controller, and driving the haptic device can include transmitting an electrical signal from the haptic controller to the linear haptic device according to the haptic waveform. In some examples, the haptic waveform can be calculated by the processor, and the processor outputs the haptic waveform to the haptic controller. Then, the haptic controller can drive the haptic device by transmitting an electrical signal from the haptic controller to the linear haptic device according to the haptic waveform.
[0119] In some embodiments, haptic information received from an electronic device is at least partially based on an application programming interface (API) provided to software running on the electronic device. For example, the haptic information may have a waveform that varies based on a time step set by the API. In some embodiments, the time step is at least partially based on a dynamic resonance frequency. For example, an electronic device controller may determine the dynamic resonance frequency of a linear haptic device and map the haptic information to a resonant waveform based on a time step equal to the dynamic resonance frequency. In some examples, the electronic device controller may determine the dynamic resonance frequency of a linear haptic device and transmit the dynamic resonance frequency and / or the time step to the electronic device. Then, the haptic information transmitted to the electronic device controller may be at least partially based on the dynamic resonance frequency and / or the time step. In some embodiments, mapping the haptic information includes downsampling a high-sampling rate waveform of the haptic information at least partially based on the time step and / or the dynamic resonance frequency.
[0120] In some embodiments, a system for providing haptic feedback to a user includes an electronic device controller that includes at least one linear haptic device and an electronic device in data communication with the electronic device controller. In some embodiments, the electronic device is a general-purpose computer. In some embodiments, the electronic device is a specialized computing device, such as a retail merchandise video game console. In some embodiments, the electronic device is a server computer or a part of a server blade located remotely from the electronic device controller. In these examples, the electronic device controller is in data communication with the electronic device via a network connection.
[0121] In at least one embodiment, various information is transmitted and received between the electronic device and the electronic device controller. For example, the electronic device may transmit information to the electronic device controller, including one or more of software audio, chat audio, game input protocol (GIP) commands, and other information (such as a wake-up command or other control information) to manage the data connection with the electronic device controller. In some embodiments, the haptic information is transmitted to the electronic device controller via a GIP command or in a GIP command. In some embodiments, the haptic information is determined based on software audio transmitted to the electronic device controller. In some embodiments, the haptic information is determined based on software audio and then transmitted to the electronic device controller via a GIP command or in a GIP command. For example, older software (such as legacy or backward-compatible video games) may lack explicit haptic information and may provide haptic feedback support to the user by mapping the audio waveform of the software audio to a resonant waveform.
[0122] In some embodiments, a method for providing haptic feedback based on an audio input includes determining a dynamic resonance frequency of a haptic device. Determining the dynamic resonance frequency can include measuring the dynamic resonance frequency during operation of a linear haptic device. In some examples, determining the dynamic resonance frequency can include measuring the dynamic resonance frequency upon startup of an electronic device controller. In some examples, determining the dynamic resonance frequency can include measuring the dynamic resonance frequency in response to receiving haptic information at the electronic device controller. In some examples, determining the dynamic resonance frequency can include measuring the dynamic resonance frequency at a predetermined time interval.
[0123] The method further includes receiving software audio information at the electronic device controller. In some embodiments, the software audio information has an audio waveform. For example, the audio waveform can have an amplitude and a frequency and / or wavelength. The audio waveform can be mapped to the dynamic resonance frequency. In some embodiments, the amplitude of the audio waveform is scaled relative to the amplitude of the haptic device. For example, the maximum amplitude of the audio waveform can be scaled to be equal to the maximum amplitude of the haptic device. In some examples, the maximum amplitude of the audio waveform can be scaled to be equal to or less than the maximum amplitude of the haptic device, such as 90%, 80%, or 50% of the maximum amplitude of the haptic device, to limit wear of the haptic device. In some embodiments, the amplitude of the audio waveform can be linearly scaled to the amplitude of the haptic device. For example, the portion of the audio waveform having an amplitude of 50% of the maximum amplitude of the audio waveform can be scaled proportionally to 50% of the maximum amplitude of the haptic device. In some embodiments, the amplitude of the audio waveform can be non-linearly scaled to the amplitude of the haptic device. For example, the portion of the audio waveform having an amplitude of 80% of the maximum amplitude of the audio waveform can be scaled proportionally to 50% of the maximum amplitude of the haptic device in order to provide a stronger contrast in haptic feedback based on the audio waveform.
[0124] In some embodiments, the method optionally includes associating legacy (e.g., non-linear) haptic instructions with the software audio information. In some embodiments, the software audio information may be erroneously converted into haptic events, such as a low-frequency character dialogue or a specific frequency in software music or ambient audio. To limit unnecessary audio-to-haptic conversion, the method can limit the conversion of the software audio information to haptic information for the haptic device at least in part based on the presence of legacy haptic instructions provided by the software.
[0125] For example, software can provide conventional haptic instructions (such as in a GIP command) to operate non-linear haptic devices, such as eccentric rotating mass (ERM) haptic devices. The duration and timing of the conventional haptic instructions can be associated with software audio to instruct a processor of an electronic device controller to perform audio-to-haptic conversion during the timing and duration of the conventional haptic instructions. In a particular example, the conventional haptic instructions provided to the electronic device controller notify the electronic device controller to provide haptic feedback during a cutscene of a video game. The conventional haptic instructions instruct the controller to provide haptic feedback during an explosion at the start of the cutscene and during a building collapse at the end of the cutscene. Between the two haptic events (the explosion and the building collapse), the audio track volume increases and the characters talk loudly to each other.
[0126] In some embodiments, a method associates software audio information with the timing and duration of conventional haptic instructions so as to provide haptic feedback using a linear haptic device and / or a conventional haptic device at least in part based on the software audio information during the timing and duration of the conventional haptic instructions, while ignoring the software audio information during other periods. Thus, the method can allow an electronic device controller to provide improved haptic feedback to a user in a developer-prescribed scenario, and the method can reduce false alarms due to new haptic events not prescribed by the developer.
[0127] Similarly to what is described herein, mapping haptic information to a dynamic resonance frequency can include mapping an amplitude envelope to a resonance waveform. Mapping haptic information to a dynamic resonance frequency can be performed at a haptic controller. Mapping haptic information to a dynamic resonance frequency can be performed at a processor. After mapping haptic information to a dynamic resonance frequency, the method includes outputting a haptic waveform and driving a haptic device according to the haptic waveform. In some examples, the haptic waveform can be calculated by the haptic controller, and driving the haptic device can include transmitting an electrical signal from the haptic controller to the linear haptic device according to the haptic waveform. In some examples, the haptic waveform can be calculated by the processor, and the processor outputs the haptic waveform to the haptic controller. Then, the haptic controller can drive the haptic device by transmitting an electrical signal from the haptic controller to the linear haptic device according to the haptic waveform.
[0128] In some embodiments, an ERM haptic device provides low-frequency, slow-response haptics. The ERM haptic device includes a motor configured to rotate a drive shaft. The drive shaft is rotationally fixed to a mass. The rotating mass is offset from the center of the rotational axis of the drive shaft.
[0129] The ERM haptic device generates uneven centripetal force, which causes the ERM haptic device to move back and forth. This movement also generates left - and - right vibrations, i.e., lateral vibrations. The ERM haptic device is generally heavier in mass than the linear haptic device, so it can provide stronger haptic feedback, but at a lower frequency and with a slower response time. In contrast, the linear haptic device can quickly change the amplitude, thus allowing the adjustment of haptic feedback and / or starting and stopping haptic feedback faster than the ERM. In some embodiments, the ERM haptic device can be used in combination with the linear haptic device to provide a combination of strong and advanced haptic feedback.
[0130] In some embodiments, the electronic device controller includes at least one linear haptic device, at least one ERM haptic device, and a haptic controller. In some examples, the haptic controller communicates electrically with multiple haptic devices. In some examples, each haptic device has a dedicated haptic controller. In some examples, at least one haptic device of the electronic device controller has a dedicated haptic controller, and at least two other haptic devices share a haptic controller. In some embodiments, the haptic controller is configured to measure and / or determine the dynamic resonance frequency of the linear haptic device at a preset time interval or according to an instruction.
[0131] In some embodiments, the electronic device controller includes a processor that communicates with the haptic controller(s). In some examples, the processor is a general - purpose processor. In some examples, the processor is a system - on - a - chip or an application - specific integrated circuit. In some examples, the haptic controller is integrated with the processor (such as in a system - on - a - chip or an application - specific integrated circuit).
[0132] The processor further communicates with a hardware storage device that stores instructions thereon, which, when executed by the processor, cause the electronic device controller to perform at least a portion of any of the methods described herein. In some embodiments, the hardware storage device(s) is a non - transient storage device, including any one of RAM, ROM, EEPROM, disk memory, or other magnetic storage devices, or any other medium that can be used to store desired program code means in the form of computer - executable instructions or data structures and that can be accessed by a general - purpose or a special - purpose processor.
[0133] In some embodiments, the processor is further in communication with a communication device. In some examples, the communication device is a wired communication device that allows the electronic device controller to communicate with the electronic device via a wired connection. In some examples, the communication device is a wireless communication device that allows the electronic device controller to communicate with the electronic device via a wireless connection. In some embodiments, the communication device communicates directly with the electronic device, such as via local RF communication with an antenna of the electronic device. In some embodiments, the communication device communicates indirectly with the electronic device, such as via local radio frequency communication with a network access point to communicate with the electronic device, such as for cloud processing.
[0134] In some embodiments, a combination of at least one linear haptic device for high-frequency and / or fast-response haptic feedback and at least one ERM haptic device for low-frequency and / or slow-response haptic feedback can enable an electronic device controller according to the present disclosure to provide strong and advanced haptic feedback while consuming less power.
[0135] In some embodiments, the processor and / or the haptic controller selects one or both of the linear haptic device and the ERM haptic device to generate haptic feedback based on haptic information. In some embodiments, a method of providing haptic feedback to a user using a hybrid haptic array includes receiving haptic information (or determining haptic information from software audio information). The method further includes selecting a haptic device from the linear haptic device and the ERM haptic device.
[0136] In some embodiments, selecting the haptic device includes comparing the duration of the haptic information with a threshold duration. For example, haptic information longer than the threshold duration may result in the selection of the ERM haptic device to save power of the electronic device controller. Since the moving mass of the ERM haptic device is generally larger than that of the linear haptic device, starting and stopping the moving mass of the ERM haptic device for short-duration haptic events may consume more power compared to the linear haptic device. Similarly, the ERM haptic device may consume less power when moving relative to the linear haptic device.
[0137] In some embodiments, selecting the haptic device includes comparing the duration of the haptic information with a threshold response time. For example, haptic information shorter than the threshold response time may result in the selection of the linear haptic device in the electronic device controller. Since the moving mass of the ERM haptic device is generally larger than that of the linear haptic device, starting and stopping the rotating mass to reproduce short-duration haptic events may not be achievable or may not reach the required accuracy. Similarly, the linear haptic device can accelerate and decelerate the oscillating mass faster than the ERM haptic device, thereby allowing for higher-fidelity haptic feedback when responding to short-duration haptic information and / or events.
[0138] In some embodiments, selecting a haptic device includes comparing the frequency of haptic information to a threshold frequency. For example, haptic information having a frequency less than the threshold frequency may cause an ERM haptic device to be selected, which more strongly replicates low-frequency vibrations. Since the frequency of an ERM haptic device is typically lower than that of a linear haptic device, the rotating mass of the ERM haptic device can more easily reproduce low-frequency haptic events compared to the smaller and faster oscillations of a linear haptic device. Similarly, since the mass of the ERM haptic device is larger than that of a linear haptic device, it can provide a strong vibration in haptic feedback. In some embodiments, the low-frequency haptic event is an explosion or other strong haptic event that may benefit from a large low-frequency vibration.
[0139] In some embodiments, selecting a haptic device includes selecting both a linear haptic device and an ERM haptic device. For example, haptic information having an amplitude greater than a threshold amplitude may cause the electronic device controller to operate both the ERM haptic device and the linear haptic device. In some examples, the linear haptic device may provide a shorter response time, while the ERM haptic device may provide a longer duration and a stronger vibration. In some embodiments, selecting a haptic device or a combination of haptic devices may be performed at least in part by a machine learning model (ML) or system.
[0140] After selecting the linear haptic device, the method further includes determining a dynamic resonance frequency and mapping the haptic information to the dynamic resonance frequency. For example, mapping the haptic information to the dynamic resonance frequency may include mapping an amplitude envelope to a resonance waveform. Mapping the haptic information to the dynamic resonance frequency may be performed at a haptic controller. Mapping the haptic information to the dynamic resonance frequency may be performed at a processor. After mapping the haptic information to the dynamic resonance frequency, the method includes outputting a haptic waveform and driving the haptic device according to the haptic waveform. In some examples, the haptic waveform may be calculated by the haptic controller, and driving the haptic device may include transmitting an electrical signal from the haptic controller to the linear haptic device according to the haptic waveform. In some examples, the haptic waveform may be calculated by the processor, and the processor outputs the haptic waveform to the haptic controller. Then, the haptic controller may drive the haptic device by transmitting an electrical signal from the haptic controller to the linear haptic device according to the haptic waveform.
[0141] In some embodiments, haptic information received from an electronic device is at least partially based on an API provided to software running on the electronic device. For example, the haptic information may have a waveform that varies based on a time step set by the API. In some embodiments, the time step is at least partially based on a dynamic resonance frequency. For example, an electronic device controller may determine the dynamic resonance frequency of a linear haptic device and map haptic information to a resonant waveform based on a time step equal to the dynamic resonance frequency. In some examples, an electronic device controller may determine the dynamic resonance frequency of a linear haptic device and transmit the dynamic resonance frequency and / or the time step to the electronic device. Then, the haptic information transmitted to the electronic device controller may be at least partially based on the dynamic resonance frequency and / or the time step. In some embodiments, mapping the haptic information includes downsampling a high-sampling-rate waveform of the haptic information at least partially based on the time step and / or the dynamic resonance frequency.
[0142] As used herein, a "machine learning model" refers to a computer algorithm or model (e.g., a classification model, a regression model, a language model, an object detection model) that can be adjusted (e.g., trained) based on training inputs to approximate an unknown function. For example, an ML model may refer to a neural network or other machine learning algorithm or architecture that learns and approximates a complex function and generates an output based on multiple inputs provided to the machine learning model. In some embodiments, the ML systems, models, or neural networks described herein are artificial neural networks. In some embodiments, the ML systems, models, or neural networks described herein are convolutional neural networks. In some embodiments, the ML systems, models, or neural networks described herein are recurrent neural networks. In at least one embodiment, the ML systems, models, or neural networks described herein are Bayesian classifiers. As used herein, a "machine learning system" may refer to one or more ML models that jointly generate one or more outputs based on corresponding inputs. For example, an ML system may refer to any system architecture having multiple discrete ML components that consider different kinds of information or inputs.
[0143] As used herein, an "instance" refers to an input object that can be provided as an input to an ML system for generating an output, such as a haptic information duration, a haptic information frequency, a haptic information response time, a haptic information amplitude, a haptic device resonance frequency, a haptic device response time, a haptic device maximum amplitude, an audio waveform, a haptic device resonance waveform, a haptic device power consumption, or any other value or metric related to haptic feedback of an electronic device controller.
[0144] In some embodiments, a machine learning system has multiple layers, an input layer, an output layer, and multiple additional or hidden layers therebetween, where the input layer is configured to receive at least one input training dataset or input training instance. The training dataset can be input into the machine learning system for training the machine learning system and identifying a single label or attribute or a combination of multiple labels or attributes of the training instance, thereby allowing the processor or haptic controller to improve haptic feedback performance and / or reduce the power consumption of the haptic feedback device.
[0145] In some embodiments, the machine learning system can receive multiple training datasets simultaneously and learn from different training datasets simultaneously.
[0146] In some embodiments, the machine learning system includes multiple machine learning models that operate in concert. Each machine learning model has multiple hidden layers between the input layer and the output layer. The hidden layer has multiple input nodes, where each node operates on the input received from the previous layer. In a specific example, the first hidden layer has multiple nodes, and each node performs an operation on each instance from the input layer. Each node of the first hidden layer provides a new input to each node of the second hidden layer, and the second hidden layer then performs a new operation on each input. Then, the nodes of the second hidden layer pass the output (such as the identified clusters) to the output layer.
[0147] In some embodiments, each node has a linear function and an activation function. The linear function may attempt to optimize or approximate a solution using a best-fit line, such as reducing the power cost or reducing the latency. The activation function is used as a test to check the effectiveness of the linear function. In some embodiments, the activation function produces a binary output that determines whether to pass the output of the linear function to the next layer of the machine learning model. In this way, the machine learning system can limit and / or prevent the propagation of poorly fitted data and / or non-convergent solutions.
[0148] The machine learning model includes an input layer that receives at least one training dataset. In some embodiments, at least one machine learning model uses supervised training. In some embodiments, at least one machine learning model uses unsupervised training. Unsupervised training can be used to make inferences from the training dataset without a known output and find patterns or associations. In some embodiments, unsupervised learning can identify clusters of similar labels or features of various training instances and allow the machine learning system to infer the performance of instances with similar features.
[0149] In some embodiments, semi-supervised learning can combine the advantages of supervised learning and unsupervised learning. As described herein, a machine learning system can identify associated labels or features among instances, which can allow a training data set with known outputs to be fused with a second training data set containing more general input information. Unsupervised training can allow the machine learning system to cluster instances from the second training data set without known outputs and associate the clusters with the known outputs from the first training data set.
[0150] In some embodiments, an electronic device provides haptic information to a linear haptic device and / or an electronic device controller based on the dynamic resonance frequency of the linear haptic device. In some embodiments, a method of providing haptic feedback to a user includes, at an electronic device, obtaining the dynamic resonance frequency of a haptic device receiving haptic information from an electronic device controller. The method further includes mapping the haptic information to the dynamic resonance frequency and outputting a haptic waveform. The method includes the electronic device instructing the electronic device controller to drive the haptic device according to the haptic waveform.
[0151] The present disclosure relates to systems and methods for providing haptic feedback to a user at least according to the examples provided in the following chapters:
[0152] [A1] In some embodiments, a method of providing haptic feedback to a user includes, at an electronic device controller: determining the dynamic resonance frequency of a haptic device; receiving haptic information at the electronic device controller; mapping the haptic information to a resonance waveform having the dynamic resonance frequency; outputting a haptic waveform; and driving the haptic device according to the haptic waveform.
[0153] [A2] In some embodiments, mapping the haptic information in [A1] includes changing the amplitude of the resonance waveform based on the haptic information.
[0154] [A3] In some embodiments, mapping the haptic information in [A1] includes setting a time step for amplitude change based on the dynamic resonance frequency.
[0155] [A4] In some embodiments, mapping the haptic information in [A3] includes downsampling a high-sampling-rate haptic waveform at least partially based on the time step.
[0156] [A5] In some embodiments, the haptic information of any one of [A1] to [A4] is received in a game input protocol instruction.
[0157] [A6] In some embodiments, the haptic information of any one of [A1] to [A4] is determined according to audio information received at the electronic device controller.
[0158] [A7]In some embodiments, the method of any one of [A1] to [A6] further includes transmitting the dynamic resonance frequency to an electronic device, and wherein the tactile information is received from the electronic device.
[0159] [A8]In some embodiments, the dynamic resonance frequency of any one of [A1] to [A7] is determined when the electronic device controller is started.
[0160] [A9]In some embodiments, the dynamic resonance frequency of any one of [A1] to [A7] is determined at a preset time interval.
[0161] [A10]In some embodiments, the dynamic resonance frequency of any one of [A1] to [A7] is determined when the tactile information is received.
[0162] [A11]In some embodiments, the driving frequency of the tactile waveform of any one of [A1] to [A10] is different from the requested frequency of the tactile information.
[0163] [B1]In some embodiments, an electronic device controller includes: a main body; at least one input button; a processor; a communication device in communication with the processor; a tactile controller in communication with the processor; a linear tactile device in communication with the tactile controller; and a hardware storage device in communication with the processor or the tactile controller. Instructions are stored on the hardware storage device, and when executed by the processor or the tactile controller, these instructions cause the electronic device controller to perform the following operations: determine the dynamic resonance frequency of the linear tactile device, receive tactile information, map the tactile information to the dynamic resonance frequency, output a tactile waveform, and drive the tactile device according to the tactile waveform.
[0164] [B2]In some embodiments, the electronic device controller in [B1] further includes an ERM tactile device, and wherein the instructions further cause the electronic device to perform the following operations: select at least one of the linear tactile device and the ERM tactile device at least partially based on the tactile information, and drive the selected tactile device.
[0165] [B3]In some embodiments, the selected tactile device in [B2] is selected at least partially based on the duration of the tactile information.
[0166] [B4]In some embodiments, the selected tactile device in [B2] is selected at least partially based on the frequency of the tactile information.
[0167] [B5]In some embodiments, the selected tactile device in [B2] is selected at least partially based on energy conservation during tactile feedback.
[0168] [B6]In some embodiments, receiving the haptic information of any one of [B1] to [B5] includes: receiving software audio information and calculating the haptic information according to the software audio information.
[0169] [B7]In some embodiments, the haptic information in [B6] is linear haptic information, and the calculation of the linear haptic information is at least partially based on conventional haptic information.
[0170] [C1]In some embodiments, a method of providing haptic feedback to a user includes: at an electronic device: obtaining haptic information; receiving a dynamic resonance frequency of a haptic device of an electronic device controller; mapping the haptic information to the dynamic resonance frequency; outputting a haptic waveform; and instructing the electronic device controller to drive the haptic device according to the haptic waveform.
[0171] [C2]In some embodiments, the haptic waveform in [C2] is at least partially based on a time step according to the dynamic resonance frequency.
[0172] The articles "a", "an", and "the" are intended to indicate the presence of one or more of the elements in the preceding description. The terms "comprising", "including", and "having" are intended to be inclusive and mean that there may be additional elements in addition to the listed elements. Additionally, it will be understood that references to "an embodiment" or "one embodiment" of the present disclosure are not to be construed as excluding the existence of additional embodiments that also incorporate the recited features. For example, any element described in connection with an embodiment herein may be combined with any element of any other embodiment described herein. The numbers, percentages, ratios, or other values set forth herein are intended to include that value, as well as other values that are "about" or "approximate" the recited value, as would be appreciated by a person of ordinary skill in the art as being covered by embodiments of the present disclosure. Accordingly, the recited values should be interpreted broadly enough to cover at least values that are close enough to the recited values to perform the desired function or achieve the desired result. The recited values include at least the variations that would be expected in a suitable manufacturing or production process and may include values within 5%, 1%, 0.1%, or 0.01% of the recited values.
[0173] In view of the present disclosure, those of ordinary skill in the art will recognize that equivalent structures do not depart from the spirit and scope of the present disclosure, and that various changes, substitutions, and alterations can be made to the embodiments disclosed herein without departing from the spirit and scope of the present disclosure. Equivalent structures that include functional "means-plus-function" clauses are intended to cover structures described herein as performing the recited function, both structural equivalents that operate in the same manner and equivalent structures that provide the same function. The applicant's express intent is that no means-plus-function or other functional claim is to be invoked in any claim, unless the words "means for" are associated with a recited function. Each addition, deletion, and modification to the embodiments within the meaning and scope of the claims will be embraced by the claims.
[0174] It should be understood that any direction or reference frame in the foregoing description is merely a relative direction or movement. For example, any reference to "front" and "back" or "top" and "bottom" or "left" and "right" merely describes the relative position or movement of the relevant elements.
[0175] The present disclosure may be embodied in other specific forms without departing from its spirit or characteristics. The described embodiments are to be considered illustrative and not restrictive. Thus, the scope of the invention is indicated by the appended claims rather than the foregoing description. Changes that fall within the meaning and scope of the equivalents of the claims are to be embraced by the scope of the claims.
Claims
1. A method for providing haptic feedback to a user, the method comprising: At an electronic device controller: Determine the dynamic resonance frequency of a haptic device; Receive haptic information at the electronic device controller; Map the haptic information to a resonance waveform having the dynamic resonance frequency; Output a haptic waveform; And Drive the haptic device according to the haptic waveform.
2. The method according to claim 1, characterized in that, Mapping the haptic information includes changing the amplitude of the resonance waveform based on the haptic information.
3. The method according to claim 1 or 2, characterized in that Mapping the haptic information includes setting a time step for amplitude change based on the dynamic resonance frequency.
4. The method according to claim 3, characterized in that, Mapping the haptic information includes downsampling a high-sampling-rate haptic waveform at least partially based on the time step.
5. The method according to any one of the preceding claims, characterized in that, The haptic information is received in a game input protocol instruction.
6. The method according to any one of claims 1-4, characterized in that, The haptic information is determined according to audio information received at the electronic device controller.
7. The method according to any one of the preceding claims, further comprising transmitting the dynamic resonance frequency to an electronic device, and wherein the haptic information is received from the electronic device.
8. The method according to any one of the preceding claims, characterized in that, The dynamic resonance frequency is determined when the electronic device controller is started.
9. The method according to any one of claims 1-8, characterized in that, The dynamic resonance frequency is determined at a preset time interval.
10. The method according to any one of claims 1-8, characterized in that, The dynamic resonance frequency is determined when haptic information is received.
11. The method according to any one of the preceding claims, characterized in that, The driving frequency of the haptic waveform is different from the requested frequency of the haptic information.
12. An electronic device controller, comprising: A main body; At least one input button; A processor; A communication device communicating with the processor; A haptic controller communicating with the processor; A linear haptic device communicating with the haptic controller; A hardware storage device communicating with the processor or the haptic controller, instructions being stored on the hardware storage device, which when executed by the processor or the haptic controller cause the electronic device controller to perform the following operations: Determine the dynamic resonance frequency of the linear haptic device, Receive haptic information, Map the haptic information to the dynamic resonance frequency, Output a haptic waveform, and Drive the haptic device according to the haptic waveform.
13. The electronic device controller according to claim 12, further comprising an eccentric rotating mass (ERM) haptic device, and wherein the instructions further cause the electronic device to perform the following operations: Select at least one of the linear haptic device and the ERM haptic device at least partially based on the haptic information, and Drive the selected haptic device.
14. The electronic device controller according to claim 13, characterized in that, The selected haptic device is selected at least partially based on the duration of the haptic information.
15. The electronic device controller according to claim 13, wherein, The selected haptic device is selected at least partially based on the frequency of the haptic information.
16. The electronic device controller according to claim 13, wherein, The selected haptic device is selected at least partially based on energy conservation during haptic feedback.
17. The electronic device controller according to any one of claims 12 to 16, characterized in that, Receiving the haptic information includes: Receiving software audio information, and Calculating the haptic information according to the software audio information.
18. The electronic device controller according to claim 17, wherein The haptic information is linear haptic information, and the calculation of the linear haptic information is at least partially based on traditional haptic information.
19. A method for providing haptic feedback to a user, the method comprising: At an electronic device: Obtain haptic information; Receive the dynamic resonance frequency of a haptic device of an electronic device controller; Map the haptic information to the dynamic resonance frequency; Output a haptic waveform; And Instruct the electronic device controller to drive the haptic device based on the haptic waveform.
20. The method according to claim 19, wherein The haptic waveform is at least partially based on a time step according to the dynamic resonance frequency.