Method and apparatus for streaming force values to a force feedback device
First Claim
1. A method, comprising:
- sending a first force signal data value and a second force signal data value in a first data packet from a host processor to a local processor coupled to a force feedback device; and
sending the second force signal data value and a third force signal data value different from the first force signal data value and the second force signal data value from the host processor to the local processor in a second data packet, the second data packet and the first data packet being consecutive data packets, the second force signal data value being retrievable from either the first data packet or the second data packet, the first force signal data value and the second force signal data value being associated with an output force associated with the force feedback device.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for shaping force signals for a force feedback device. A source wave is provided and is defined by a set of control parameters (including a steady state magnitude, a frequency value and a duration value) and modified by a set of impulse parameters (including an impulse magnitude, and a settle time representing a time required for the impulse magnitude to change to the steady-state magnitude). Optionally, application parameters specifying a direction of force signal and trigger parameters specifying activating buttons can also be provided for the source wave. Using a host processor or a local processor, the force signal is formed from the source wave and the sets of control parameters and impulse parameters, where the force signal includes an impulse signal followed by a continual steady-state signal after an expiration of the settle time. A feel sensation is generated to a user of the force feedback device as physical forces produced by actuators on the force feedback device in response to the force signal. The steady-state magnitude value is lower than a magnitude value of a non-impulse-shaped force signal required to create a corresponding feel sensation having a similar apparent sensation to the user.
64 Citations
60 Claims
-
1. A method, comprising:
-
sending a first force signal data value and a second force signal data value in a first data packet from a host processor to a local processor coupled to a force feedback device; and
sending the second force signal data value and a third force signal data value different from the first force signal data value and the second force signal data value from the host processor to the local processor in a second data packet, the second data packet and the first data packet being consecutive data packets, the second force signal data value being retrievable from either the first data packet or the second data packet, the first force signal data value and the second force signal data value being associated with an output force associated with the force feedback device. - View Dependent Claims (2, 3, 4, 5, 6)
computing a spring sensation signal based on the sensor values, the local microprocessor controlling an actuator of the force feedback device based on the spring sensation signal.
-
-
7. A method, comprising:
-
receiving a stream of data at a local microprocessor of a force feedback peripheral device from a host computer, the stream of data including a first force signal data value and a second force signal data value in a first data packet and the second force signal data value and a third force signal data value different from the first force signal data value and the second force signal data value in a second data packet, the second data packet and the first data packet being consecutive data packets, the second force signal data value being retrievable from either the first data packet or the second data packet, the stream of data being based on a periodic time-varying force signal, the time-varying force signal formulated by the host computer based on at least one of a frequency parameter and a magnitude parameter;
receiving at the local microprocessor sensor data derived from sensors of the force feedback peripheral device, the sensor data based on a position of a user manipulable object of the force feedback peripheral device, the sensor data being transmitted to the host computer;
calculating at least one condition force effect at the local microprocessor, the condition force effect based at least in part on the sensor data; and
controlling at least one actuator of the force feedback peripheral device with the local microprocessor, the actuator being configured to output forces based on the stream of data and the condition force effect. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
sending to the local microprocessor at least one application parameter indicating which of the plurality of actuators is to apply the output force.
-
-
15. The method of claim 7, wherein the time-varying force signal is based at least in part on the magnitude parameter, the magnitude parameter being an impulse magnitude parameter defining a force impulse level for the output force, the time-varying force signal further being based at least in part on a steady state magnitude parameter that defines a steady-state magnitude of the output force, the steady-state magnitude being different than the force impulse level.
-
16. The method of claim 10, wherein the local microprocessor determines of the condition force effects to be output as forces by the force feedback peripheral device.
-
17. The method of claim 7, wherein the time-varying force signal is based on a periodic source wave.
-
18. The method of claim 7, wherein the receiving the sensor data and the determining of the at least one condition force effect is performed at a rate faster than the sensor data is transmitted to the host computer from the force feedback peripheral device.
-
19. A method, comprising:
-
formulating a time-varying force signal on a host computer, the time-varying force signal formulated based on a source wave and at least one of a frequency parameter, a magnitude parameter and a duration parameter; and
transmitting a digitized representation of the force signal from the host computer to a force feedback peripheral device as a stream of digital data, the stream of digital data including a first force signal data value and a second force signal data value in a first data packet and the second force signal data value and a third force signal data value different from the first force signal data value and the second force signal data value in a second data packet, the second data packet and the first data packet being consecutive data packets, the second force signal data value being retrievable from either the first data packet or the second data packet, at least one actuator of the force feedback peripheral device is configured to output forces based on the packets of digital force values. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
receiving the stream of digital data at the local processor over the communication bus and controlling the at least one actuator based at least in part on the stream of digital data.
-
-
26. The method of claim 25, further comprising:
-
receiving sensor values from sensors of the force feedback peripheral device, the sensor values associated with a position of the user manipulable object; and
computing a spring sensation signal at the local microprocessor based on the sensor values, the local microprocessor configured to control the actuator of the force feedback peripheral device in accordance with the spring sensation signal.
-
-
27. The method of claim 26, wherein the computing the spring sensation includes computing the spring sensation based on a stiffness parameter received from the host computer.
-
28. The method of claim 26, further comprising transmitting the sensor values to the host computer over the communication bus.
-
29. The method of claim 19, wherein each of the packets of digital force values includes a plurality of digital force values.
-
30. The method of claim 19, wherein the time-varying force signal includes a sequence of multiple time-varying force signals, each of the time-varying force signals being associated with a frequency parameter, a magnitude parameter and a duration parameter.
-
31. The method of claim 23, wherein the time-varying force signal is further based on an offset parameter including values associated with a magnitude offset of the force signal.
-
32. The method of claim 19, wherein the time-varying force signal is associated with a button on the peripheral device, the time-varying force signal being generated upon actuation of the button.
-
33. The method of claim 19, wherein the time-varying force signal is sent by the host computer to the force feedback peripheral device upon actuation of a button on the force feedback peripheral device.
-
34. The method of claim 19, wherein the force feedback peripheral device is configured to draw power for generating the forces from a Universal Serial Bus connecting the force feedback peripheral device to the host computer.
-
35. The method of claim 19, wherein the formulating the time-varying force signal includes formulating the time-varying force signal based on at least two magnitude parameters and at least two duration parameters.
-
36. The method of claim 19, wherein the packets of digital force values sent to the force feedback peripheral device each include two different force values, a first packet includes a first value and a second value, and a second packet sent after the first packet in the stream of digital data includes the second value and a third value different from the first value and the second value, the second value being retrievable from either the first packet or the second packet.
-
37. The method of claim 25, wherein the force feedback peripheral device includes a plurality of actuators, and the local microprocessor selectively applies the digital force values in the stream to control one or more of the actuators.
-
38. The method of claim 25, wherein the force feedback peripheral device includes a plurality of actuators, and the stream of digital data includes an application parameter provided by the host computer, the application parameter operative to indicate which of the plurality of actuators to output the forces based on the packets of digital force values.
-
39. The method of claim 19, wherein the time-varying force signal is further based on data received by the host computer over a network from another computer interacting with the host computer in a networked software application.
-
40. A method, comprising:
-
formulating a time-varying force signal on a host computer, the time-varying force signal formulated based on a source wave and at least one of a frequency parameter, a magnitude parameter and a duration parameter;
sending a representation of the time-varying force signal from the host computer to a force feedback peripheral device as a stream of digital data, the stream of digital data having packets of digital force values including a first force signal data value and a second force signal data value in a first data packet and the second force signal data value and a third force signal data value different from the first force signal data value and the second force signal data value in a second data packet, the second data packet and the first data packet being consecutive data packets, the second force signal data value being retrievable from either the first data packet or the second data packet; and
sending an application parameter from the host computer to the force feedback peripheral device, the force feedback peripheral device selecting one of multiple actuators within the force feedback peripheral device based on the application parameter and controlling the selected actuator based on the packets of digital force values. - View Dependent Claims (41, 42, 43, 44, 45, 46, 47, 48, 49, 50)
receiving sensor values from sensors of the force feedback peripheral device, the sensor values associated with a position of the user manipulable object; and
computing a spring sensation signal based on the sensor values, the local microprocessor configured to control an actuator of the force feedback peripheral device based on the spring sensation signal.
-
-
48. The method of claim 46, wherein the computing the spring sensation includes computing the spring sensation based on a stiffness parameter received from the host computer.
-
49. The method of claim 46, wherein the local processor transmits the sensor values to the host computer over the communication bus.
-
50. The method of claim 46, further comprising:
-
receiving the stream of digital data from the host computer over the communication bus at the local microprocessor; and
controlling the at least one actuator based at least in part on the stream of digital data.
-
-
51. A method, comprising:
-
receiving a stream of digital data and an application parameter at a force feedback peripheral device from a host computer, the stream of digital data including a first digital force signal data value and a second digital force signal data value in a first data packet and the second digital force signal data value and a third digital force signal data value different from the first digital force signal data value and the second digital force signal data value in a second data packet, the second data packet and the first data packet being consecutive data packets, the second digital force signal data value being retrievable from either the first data packet or the second data packet, the stream of digital data being based on an open-loop time-varying force signal, the time-varying force signal being based on a source wave and at least one of a frequency parameter, a magnitude parameter and a duration parameter; and
controlling an actuator of the force feedback peripheral device to output forces based on the first and second packets of digital force values. - View Dependent Claims (52, 53, 54)
-
-
55. A device, comprising:
-
a user-manipulable object;
at least one sensor configured to determine a position of the user-manipulable object in at least one degree of freedom;
an actuator coupled to the sensor, the actuator configured to output haptic feedback; and
a microprocessor coupled to the actuator, the microprocessor configured to receive a stream of digital data from a host computer, the stream of digital data configured to include a first digital force signal data value and a second digital force signal data value in a first data packet and the second digital force signal data value and a third digital force signal data value different from the first digital force signal data value and the second digital force signal data value in a second data packet, the second data packet and the first data packet being consecutive data packets, the second digital force signal data value being retrievable from either the first data packet or the second data packet, the stream of digital data being based on a time-varying force signal, the time-varying force signal formulated by the host computer based on a source wave and at least one of a frequency parameter, a magnitude parameter and a duration parameter, the microprocessor configured to control the actuator to output the forces based on the packets of digital force values. - View Dependent Claims (56, 57, 58)
-
-
59. A device, comprising:
-
an actuator; and
a local processor configured to receive a first data packet including a first force signal data value and a second force signal data value and a second data packet including the second force signal data value and a third force signal data value different from the first force signal data value and the second force signal data value, the second data packet and the first data packet being consecutive data packets, the second force signal data value being retrievable from either the first data packet or the second data packet, the actuator being configured to output haptic feedback based on the first force signal data values and the second force signal data value. - View Dependent Claims (60)
-
Specification