Methods and devices for removing unintentional movement in 3D pointing devices
First Claim
Patent Images
1. A handheld device comprising:
- a first sensor for determining motion of said handheld device and generating a first output associated therewith;
an accelerometer for determining an acceleration of said handheld device and outputting an acceleration output associated therewith; and
a processing unit for receiving said first output and said acceleration output and for;
(a) determining a velocity of said handheld device based upon at least one of said first output and said acceleration output;
(b) if said velocity of said handheld device is below a predetermined velocity threshold, then discarding or attenuating data generated by said first sensor and said accelerometer until either said handheld device has moved more than a predetermined distance or a predetermined time has expired; and
(c) otherwise, if said velocity of said handheld device is above said predetermined velocity threshold, then filtering said data generated by said first sensor, and said accelerometer to remove tremor by adaptive, model-based filtering using one of;
linear filtering, Kalman filtering, Kalman smoothing, extended Kalman filtering, state-space estimation, Expectation-Maximization, or another model-based technique.
8 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods according to the present invention describe 3D pointing devices and methods which detect movement of the 3D pointing device and remove unintentional movement from the output readings.
-
Citations
144 Claims
-
1. A handheld device comprising:
-
a first sensor for determining motion of said handheld device and generating a first output associated therewith; an accelerometer for determining an acceleration of said handheld device and outputting an acceleration output associated therewith; and a processing unit for receiving said first output and said acceleration output and for; (a) determining a velocity of said handheld device based upon at least one of said first output and said acceleration output; (b) if said velocity of said handheld device is below a predetermined velocity threshold, then discarding or attenuating data generated by said first sensor and said accelerometer until either said handheld device has moved more than a predetermined distance or a predetermined time has expired; and (c) otherwise, if said velocity of said handheld device is above said predetermined velocity threshold, then filtering said data generated by said first sensor, and said accelerometer to remove tremor by adaptive, model-based filtering using one of;
linear filtering, Kalman filtering, Kalman smoothing, extended Kalman filtering, state-space estimation, Expectation-Maximization, or another model-based technique. - View Dependent Claims (2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
6. The handheld device of 1, wherein said first sensor includes at least one of an accelerometer, a rotational sensor, a gyroscope, a magnetometer, an optical sensor and a camera.
-
21. A method comprising:
-
sensing motion of a handheld device and generating a first data associated therewith; sensing an acceleration of said handheld device and outputting an acceleration output associated therewith; determining a velocity of said handheld device based upon at least one of said first output and said acceleration output; if said velocity of said handheld device is below a predetermined velocity threshold, then discarding or attenuating data associated with at least one of said first output and said acceleration output, until either said handheld device has moved more than a predetermined distance or a predetermined time has expired; and otherwise, if said velocity of said handheld device is above said predetermined velocity threshold, then filtering said data to remove tremor by adaptive, model-based filtering using one of;
linear filtering, Kalman filtering, Kalman smoothing, extended Kalman filtering, state-space estimation, Expectation-Maximization, or another model-based technique. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 135, 136)
-
-
68. A handheld device comprising:
-
means for sensing motion of a handheld device and generating a first output associated therewith; means for sensing an acceleration of said handheld device and outputting an acceleration output associated therewith; means for determining a velocity of said handheld device based upon at least one of said first output and said acceleration output; means for, if said velocity of said handheld device is below a predetermined velocity threshold, discarding or attenuating data associated with at least one of said first output and said acceleration output, until either said handheld device has moved more than a predetermined distance or a predetermined time has expired; and means for, if said velocity of said handheld device is above said predetermined velocity threshold, filtering said data to remove tremor by adaptive, model-based filtering using one of;
linear filtering, Kalman filtering, Kalman smoothing, extended Kalman filtering, state-space estimation, Expectation-Maximization, or another model-based technique. - View Dependent Claims (69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84)
-
-
85. A system comprising:
a handheld device including; a first sensor for sensing motion of said handheld device and generating a first output associated therewith; and an accelerometer for sensing an acceleration of said handheld device and outputting an acceleration output associated therewith; and a processing unit for receiving said first output and said acceleration output and for; (a) determining a velocity of said handheld device based upon at least one of said first output and said acceleration output; (b) if said velocity of said handheld device is below a predetermined velocity threshold, then discarding or attenuating data generated by said first sensor and said accelerometer until either said handheld device has moved more than a predetermined distance or a predetermined time has expired; and (c) otherwise, if said velocity of said handheld device is above said predetermined velocity threshold, then filtering said data generated by said first sensor, and said accelerometer to remove tremor by adaptive, model-based filtering using one of;
linear filtering, Kalman filtering, Kalman smoothing, extended Kalman filtering, state-space estimation, Expectation-Maximization, or another model-based technique.- View Dependent Claims (86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 137, 138, 139, 140, 141, 142)
-
143. A computer-readable medium containing program instructions which, when executed on a computer or a processor, perform the steps of:
-
determining motion of a handheld device and generating a first output associated therewith; determining an acceleration of said handheld device and outputting an acceleration output associated therewith; determining a velocity of said handheld device based upon at least one of said first output and said acceleration output; if said velocity of said handheld device is below a predetermined velocity threshold, then discarding or attenuating data associated with at least one of said first output and said acceleration output, until either said handheld device has moved more than a predetermined distance or a predetermined time has expired; and otherwise, if said velocity of said handheld device is above said predetermined velocity threshold, then filtering said data to remove tremor by adaptive, model-based filtering using one of;
linear filtering, Kalman filtering, Kalman smoothing, extended Kalman filtering, state-space estimation, Expectation-Maximization, or another model-based technique.
-
-
144. A handheld device comprising:
-
a first sensor for determining motion of said handheld device and generating a first output associated therewith; an accelerometer for determining an acceleration of said handheld device and outputting an acceleration output associated therewith; and a processing unit for receiving said first output and said acceleration output and for; (a) determining a velocity of said handheld device based upon at least one of said first output and said acceleration output; (b) attenuating data generated by at least one of said first sensor and said accelerometer as a function of at least one of said velocity, said first output and said acceleration; and (c) filtering said data to remove tremor by adaptive, model-based filtering using one of;
linear filtering, Kalman filtering, Kalman smoothing, extended Kalman filtering, state-space estimation, Expectation-Maximization, or another model-based technique.
-
Specification