The patent's assignee for patent number 8786549 is
News editors obtained the following quote from the background information supplied by the inventors: "The present invention relates to gyroscopes integrated into handheld devices. More specifically, it relates to methods/systems for mitigating gyroscope drift error and hand jitter error in such devices.
"A computer mouse is a type of computer input device. A common form of these input devices is the planar-surface-based computer mouse, which is moved on a planar surface to control a computer cursor on a screen, with movements of the cursor corresponding to movements of the mouse. Objectives in the design of a computer mouse are versatility, accuracy, ease of use, and intuitiveness of corresponding movements between the mouse and the cursor on the screen.
"Computer mouse technology has undergone various permutations over the years. An early computer mouse technology used a light beam emanated from under the mouse onto a planar, reflective surface covered with a grid line pattern. Mouse movement was tracked by noting the grid lines that the emanated light beam crossed as the mouse was moved. This technology offered relatively high accuracy, as determined by the pitch of the grid lines, but was hindered by high cost and the need for specialized reflective grid surfaces.
"Another computer mouse technology used a mechanical roller ball, or track ball, to track mouse movements. This reduced the cost of the mouse and removed the need for a reflective grid surface, but offered lower accuracy and reliability. To improve the accuracy of this type of mouse, a high friction surface, i.e. a mouse pad, was typically required.
"The introduction of inexpensive silicon lasers and LEDs greatly improved the accuracy of a computer mouse while at the same time eliminating the need for a mechanical ball and high friction surface. However, mouse movement was still restricted to a planar surface.
"Human arm and hand movements, or gestures, are free flowing and not restricted to a two-dimensional plane. More specifically, such hand gestures are not restricted to a flat surface, although a computer screen (at which the hand gestures may be directed) is typically a flat surface. Thus, a need exist for better translation of free-flowing hand gestures within a three-dimensional space to movements of a computer cursor on a two-dimensional computer screen.
"The introduction of miniature gyroscope technology brought about the advent of the gyroscope-based mouse, which is not limited to movements on a planar surface. Rather, a group of gyroscopes (i.e. three gyroscopes) within the mouse permit it to detect mouse motion within a three-dimensional space.
"Several challenges stand in the way of the gyroscope-based mouse becoming a prevalent computer mouse technology. First is a limitation of the gyroscope technology itself. To make a commercially viable mouse, requires the use of relatively inexpensive gyroscopes, which unfortunately are prone to drift error. That is, they will indicate a motional drift even when there is no motion. This motional drift is typically small, but cumulative, and its cumulative effect can cause a computer cursor to drift in an unintended manner. A gyroscope-based mouse should compensate for this drift error phenomenon.
"Another limitation of the gyroscope-based mouse is the human operator of the mouse. A human typically cannot maintain a perfectly steady hand for prolong periods; rather, the hand is prone to involuntary shaking (i.e. hand jitter). When a gyroscope-based mouse is held in the hand in a free-flowing manner, hand jitter will translate into unwanted shaking of the mouse, which will then result in unintended shaking of a corresponding cursor on a computer screen. A gyroscope-based mouse should likewise compensate for this hand jitter phenomenon.
"One method of addressing drift error and hand jitter error is to filter out small and/or slow movements, but this tends to reduce the mouse's fine cursor control since it no longer responds accurately to intentional small/slow movements.
"The company Gyration.TM. produces an example of a gyroscope-based mouse that is a combination of a traditional flat surface-based mouse and a Gyro mouse. A description of their gyroscope-based mouse, and of how they address some of the issues that afflict a Gyro mouse are described in U.S. Pat. No. 5,825,350 and U.S. Pat. No. 5,898,421, herein incorporated in their entirety by reference. One approach to addressing drift error and hand jitter, as proposed by Gyration, is to provide an activation button to enable/disable the Gyro mouse, or to lock the computer cursor in place on a display screen. Although this effectively masks the effects of drift error and hand jitter on the computer cursor while the Gyro mouse is disabled, these errors return when the mouse is once again enabled. Furthermore, since drift error and hand jitter are not addressed directly, fine cursor control remains illusive.
"What is needed is a gyroscope-based mouse that offers fine cursor control and high accuracy. Preferably, such a gyroscope-based mouse should utilized inexpensive gyroscopes, but offer effective compensation for drift error and hand jitter. Furthermore, its error compensation should not impede the mouse's ability to quickly respond to intended small and/or slow mouse movements."
As a supplement to the background information on this patent, VerticalNews correspondents also obtained the inventor's summary information for this patent: "It is an object of the present invention to provide a gyroscope-based mouse that utilizes inexpensive gyroscopes, but that compensates for gyroscope drift while maintaining a high level of accuracy, even with intentionally small movements.
"It is another object of the present invention to provide a gyroscope-based mouse that compensates for natural shaking in a human hand, while still responding quickly to intended mouse movement.
"These objects are met in a gyroscope-based device having: an input for receiving angle velocity data obtained from digitized gyroscope sensor data; a first summation node for reducing said angle velocity data by a drift error compensation offset; a first multiplication node for multiplying the result of said first summation node by a variable hand jitter compensation factor to produce a new angle velocity; and an output node for outputting said new angle velocity; wherein the value of said variable hand jitter compensation factor is dependent upon a computation of involuntary movement currently experienced by said gyroscope-based device as determined from a currently received angle velocity datum.
"In one embodiment of the present invention, the computation of involuntary movement is a determination of the amount of hand jitter being currently experienced by the gyroscope-based device, and the value of the variable hand jitter compensation factor is directly proportional to the determined amount of hand jitter being currently experienced by the gyroscope-based device.
"In this approach, it is preferred to define a predefined number of fixed hand jitter compensation values and the same predefined number of hand jitter value ranges in a one-to-one correspondence. The gyroscope-based device then identifies the hand jitter value range within which the determined amount of hand jitter being currently experienced resides, and assigns the fixed hand jitter compensation value corresponding to the identified hand jitter value range to the variable hand jitter compensation factor.
"Further in this embodiment, it is preferred that the predefined number of fixed hand jitter compensation values is set to three corresponding to three hand jitter value ranges, the three hand jitter value ranges defining a 'small hand jitter user style' range for the lowest hand jitter range, a 'normal hand jitter user style' range for the intermediate hand jitter range, and a 'big hand jitter user style' range for the highest hand jitter range, and the hand jitter style range of the gyroscope-based device is continuously monitored, and a determination of whether the gyroscope-based device is being operated in the 'small hand jitter user style', the 'normal hand jitter user style', or 'big hand jitter user style' is continuously updated; and the fixed hand jitter compensation value corresponding to the 'big hand jitter user style' is greater than the fixed hand jitter compensation value corresponding to the 'normal hand jitter user style', which in turn is greater than the fixed hand jitter compensation value corresponding to the 'small hand jitter user style'.
"Preferably, the determined amount of hand jitter being currently experienced is determined by comparing the gyroscope-based device's current movements along a given axis with similar movements in its immediate past along the same axis.
"In another embodiment of the present invention, the computation of involuntary movement is a computation of probability of the gyroscope-based device being in a static state.
"In this other embodiment, each current sample n of the digitized gyroscope sensor data defines a current cycle; the currently received angle velocity datum is identified as G_Corr(n) and is obtained from current sample n of the digitized gyroscope sensor data; the new angle velocity obtained from the current sample n of the digitized gyroscope sensor data is denoted as G_New(n); and the gyroscope-based device further having: a) a probability processing unit receiving the intermediate angle velocity and determining a probability p(n) value for the current sample n, the probability p(n) being the computation of probability of the gyroscope-based device being in a static state within the current cycle defined by current sample n; and wherein the value of the variable hand jitter compensation factor for the current sample n is denoted as k(n) and is defined as k(n)=1-p(n).
"Preferably, the probability processing unit implements a static-condition model defined as:
".function.e.function..times..sigma..times.e.function..times..sigma..times- .e.omega.'.function..times..sigma..omega.'.times. ##EQU00001## where v(n) is the variance of angle velocity data G_Corr over an immediate history period, m(n) is the mean of the angle velocity data over the same fixed immediate history period, .omega.'(n) is an intermediate angle velocity defined as .omega.'(n)=G.sub.--Corr(n)-b' where b' is an estimated drift error compensation offset not derived from a current drift error compensation offset computed for the current sample n, and .sigma..sub.v, .sigma..sub.m and .sigma..sub..omega.' are predefined probability parameters.
"In this approach, the immediate history period is fixed and set to the immediate 500 samples of the digitized gyroscope sensor data.
"Also in this approach, the probability parameters .sigma..sub.v, .sigma..sub.m and .sigma..sub..omega.' have values of 1 dps, 0.3 dps, and 3 dps, respectively. Additionally, variance v(n) and mean m(n) are determined for a period T defined by 30 samples of the digitized gyroscope sensor data. The variance v(n) is defined as:
".function..times..times..function. ##EQU00002## and mean m(n) is defined as:
".function..times..times. ##EQU00003## where i
"Preferably, samples n of the digitized gyroscope sensor data are provided at a rate of 100 Hz, and period T 300 milliseconds.
"Further preferably, this embodiment has a first memory for storing a history of past G_New(n) values determined from previous samples of the digitized gyroscope sensor data, the first memory being coupled to the probability processing unit.
"Additionally in this embodiment, the current compensation offset for the current sample n of the digitized gyroscope sensor data is denoted as b(n), and is defined as: b(n)=(k(n).times..omega.'(n).times.p(n))+(b.sub.--p(n).times.(1-p(n))) where b_p(n) is a prediction value based on a moving average over a fixed period defined by a fixed number of a number of samplings M in an immediate history of past b(n) values, b_p(n) being defined as:
".times..times..function. ##EQU00004## where b(i) are the compensation offset values from the indicated previous cycles, and i
"This embodiment may also have a second memory for storing a history of past b(n) values determined from previous samples of the digitized gyroscope sensor data, the second memory being coupled to the first summation node.
"In one implementation of this embodiment, the first summation node receives b' and G_Corr(n). In an alternate implementation of this embodiment, the first summation node received b(n) and G_Corr(n).
"Also in this embodiment, a current compensation offset b is preferably determined for each current sample n of the digitized gyroscope sensor data, and estimated compensation offset b' is set to the compensation offset b determined in the immediately previous cycle.
"Other objects and attainments together with a fuller understanding of the invention will become apparent and appreciated by referring to the following description and claims taken in conjunction with the accompanying drawings."
For additional information on this patent, see: Fu, Guoyi. Gyro Mouse De-Drift and Hand Jitter Reduction. U.S. Patent Number 8786549, filed
Keywords for this news article include: Technology,
Our reports deliver fact-based news of research and discoveries from around the world. Copyright 2014, NewsRx LLC
Most Popular Stories
- Bently Creates Alabama Small Business Commission
- Is Alibaba's IPO Price a Fairytale?
- Kardashian: Kanye Never Told Fan in Wheelchair to Stand Up
- California King Fire Roars Out of Control
- Mercedes Rolls Out S550 Plug-in Hybrid
- U.S. Tobacco Growers Lose Last of Price Supports
- CalPERS Pulls Out of Hedge Funds
- SBA Kicks off Hispanic Heritage Month
- Los Angeles Angels Clinch Playoff Spot
- Sanctions Push Russian Ruble to Historic Low