CN100440313C - Free space pointing devices with tilt compensation and improved usability - Google Patents

Free space pointing devices with tilt compensation and improved usability Download PDF

Info

Publication number
CN100440313C
CN100440313C CNB2005800211637A CN200580021163A CN100440313C CN 100440313 C CN100440313 C CN 100440313C CN B2005800211637 A CNB2005800211637 A CN B2005800211637A CN 200580021163 A CN200580021163 A CN 200580021163A CN 100440313 C CN100440313 C CN 100440313C
Authority
CN
China
Prior art keywords
free space
pointing devices
space pointing
motion
theta
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CNB2005800211637A
Other languages
Chinese (zh)
Other versions
CN1973316A (en
Inventor
马修·G·利伯蒂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tag Comm Inc
Original Assignee
Hillcrest Laboratories Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hillcrest Laboratories Inc filed Critical Hillcrest Laboratories Inc
Priority to CN200810095047.5A priority Critical patent/CN101256456B/en
Publication of CN1973316A publication Critical patent/CN1973316A/en
Application granted granted Critical
Publication of CN100440313C publication Critical patent/CN100440313C/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Systems and methods according to the present invention address these needs and others by providing a handheld device, e.g., a free space pointing device, which uses at least one sensor to detect motion of the handheld device. The detected motion can then be mapped into a desired output, e.g., cursor movement.

Description

Free space pointing devices and free space localization method
Technical field
The present invention relates generally to handheld positioning device, relate in particular to free space (three-dimensional) locating device and relative slope compensation and improved availability technology.
Background technology
The 60/566th, No. 444 U.S. Provisional Patent Application of submitting in the application and on April 30th, 2004 that is entitled as " free space pointing devices " is relevant and require its right of priority, and the content of this application is incorporated this paper by reference into.The application also is correlated with the 60/612nd, No. 571 U.S. Provisional Patent Application of submitting on September 23rd, 2004 that is entitled as " free space pointing devices and method " and requires its right of priority, and the content of this application is incorporated this paper by reference into.The application also is correlated with the 60/641st, No. 410 U.S. Provisional Patent Application of submitting on January 5th, 2005 that is entitled as " free space pointing devices and using method thereof " and requires its right of priority, and the content of this application is incorporated this paper into as a reference.The application also relates to be entitled as " method and apparatus that is not intended to motion that is used to remove free space pointing devices ", " based on shake identification user's method and apparatus " and three U.S. Patent applications of submitting simultaneously with the application of " free space pointing devices and method ", and (application number is respectively: 11/119,987,11/119,688 and 11/119,663), the content of above-mentioned all applications is incorporated this paper by reference into.
In decades recently, the technology relevant with message exchange is rapidly developed.TV, cellular telephony, internet and optical communication technique (only exemplifying out several) combine, and the consumer is submerged in available information and the amusement selection.With the TV is example, has introduced CATV (cable television) service, satellite TV, pay-per-use film and video request program in nearest 30 years.The TV watching person of nineteen sixties can receive about 4 or 5 radiotelevision channels usually on its televisor, yet current televiewer has an opportunity to select from hundreds of, thousands of even possible millions of programs and info-channel.The current video on demand techniques that is mainly used in hotel etc. provides and carried out the possibility that home entertaining is selected from thousands of movie title.
For the final user provides the technical capability of bulk information like this and content is that system designer and service provider have brought opportunities and challenges.A challenge is, though the final user more wishes to have than more options rather than less selection usually, this can wish that selection course not only fast but also conflict simply mutually with it usually.Unfortunately, the exploitation at the system of visit to end user media item and interface causes selection course neither remarkable again fast.Be example once more with the TV programme.When TV during in the starting stage, determining to watch which program is simple relatively process, and this is mainly owing to select that number is less to be caused.People for example, have the row and column of the corresponding informance that shows following project: television channel, the program that transmits on (2) these channels and (3) date and time near (1) with reference to the printing listing through layout.By regulating tuner knob TV is transferred to the channel of expectation, the beholder just can watch selected program.Then, telechiric device has appearred, its make the beholder can be outside remote tuning television channel.This increase to user's television interfaces has produced the phenomenon that is known as " channel surfing (channel surfing) ", thereby the beholder can check broadcast disconnected than short-movie fast on a plurality of channels, to determine the program seen of any preset time apace.
Though number of channels and can see that the quantity of content sharply increases, in the period of nearest 30, the widely available user interface, control device option and the framework that are used for TV do not have significant change.Print listing and remain the mode the most in vogue of transmitting programme information.Having up and down, many button remote control of arrow remain channel/content choice mode the most in vogue.Design and enforcement personnel that those are selected for the media content that increases television user interface are directly to expand existing selection mode and interface object for the reaction of this problem.Therefore, increase the line number of printing listing and hold more channel.Increase the function and content operation that the number of buttons support on the telechiric device is added, for example, as shown in Figure 1.But this method has significantly increased the beholder and has checked the required time of available information and carry out the complicacy of selecting required action.In view of this, the characteristic of existing interface complexity has hindered the commerce of some service to implement, such as video request program.The consumer can conflict new service because will make interface (consumer thinks that these interfaces are too slow and complicated) complicated more like that.
Except the increase of bandwidth and content, the user interface bottleneck problem is also owing to the set of technology is aggravated.The consumer is more prone to select to buy integrated system rather than a plurality of separable assembly.A combination that example is TV/VCR/DVD of this trend, before three independently assembly often selling now as an integrated unit.This trend may continue, its net result may be, great majority (if not all words) communication facilities that has in the current family will be wrapped into together as integrated unit, for example, and TV VCR/DVD/ internet access/radio/stereophony unit.Even those people that continue to buy independent assembly also may wish to obtain for the seamless control of independent assembly and between cooperatively interact.The increase of above-mentioned set may make the complicacy of user interface further increase.For example, when introducing so-called " general " remote control unit with for example in conjunction with the function of TV remote unit and VCR remote control unit the time, the number of buttons on these general remote-control units is usually greater than the number of buttons on independent TV remote unit or the independent VCR remote control unit.If the feasible suitable button that does not have correctly to search on the telepilot of the increase of number of buttons and function will be difficult to control except the simplest aspect of TV or VCR anything.Usually, these universal remote controls do not provide enough buttons to realize the specific function of multilayer control or some televisor.In this case, because the user interface problems that the complexity of set causes also needs to use former remote control unit, and can't reduce the trouble of using a plurality of remote controls originally.For head it off, some remote control unit has increased " soft " button of the enough specific command programmings of energy.Sometimes these soft key can attach the function of LCD display with the indication soft key.The defective of these remote control unit is will be difficult to carry out remote control if sight line is not forwarded to telepilot from TV.Another defect map of these remote control unit these remote controls now reduce button quantity with the method for " pattern ".On these " pattern " general remote-control units, having specific button still is that other devices are communicated by letter to select remote control with televisor, DVD player, CATV set-top-box, VCR.This has caused a lot of use problems, comprises, order is sent to wrong device, makes the user have to seeing that remote control to guarantee to be in correct pattern, also has itself any simplification not to be carried out in the remote control of many device sets one.State-of-the-art general remote-control unit is realized certain integrated by allowing the user that the command sequence programming of multiple device is set to remote control unit.But this is the work of a difficulty, and a lot of users hire the qualified installation person that their general remote-control unit is set.
Also carry out some and attempted improving screen interface between terminal user and the media system.But except other shortcoming, these attempt generally all can't easily regulating (scale) between bigger media item set and the set of less media item.For example, be applicable to little media item set based on the interface of bulleted list, but the fashionable longsomeness that then becomes of the big set of media items of will reading.And, can travel through the set of big media item quickly, but and be not suitable for little media item set based on comparing with list interface at the interface of hierarchical navigation (tree).In addition, when the process need of selecting pass tree more than three layers or three layers the time, the user can lose interest to selection course.For all above-mentioned examples, present remote control unit make the user have to repeatedly come operating list or hierarchical navigation by last knob down, make more longsomeness of selection course.Although providing the control of jumping as page up, following one page, the user generally will see remote control unit or pass through training and just know their existence.Therefore, the Application No. of submitting on January 30th, 2004 is 10/768,432, the application that name is called " control framework that has the scalable graphical user interface that is used to organize, select, start media item " has proposed a kind of like this organization framework, technology and system, control and screen interface and accelerating selection process that it can be simplified between user and the media system allow the service provider to utilize the growth of the available bandwidth of terminal user's device to promote to provide a large amount of media item and new services for the user simultaneously.Its disclosed content is incorporated the application by reference into.
The present specification special concern be to can be used to use and system carries out mutual telechiric device with said frame and other.Mentioned as the above application of incorporating this paper into, can under this framework, use dissimilar telechiric devices, such as tracking ball (trackball), the locating device of " mouse " type, light pen etc.But the another kind of telechiric device that can use down this framework (and other are used) is a free space pointing devices.The ability that on behalf of the three-dimensional of input media before display screen for example (or more multidimensional) space, phrase " free space location " move in this manual, and correspondingly user interface is directly changed into those actions the ability of user interface command (for example, cursor moving at display screen).The data transfer of free space pointing devices can wirelessly realize or wired realization the by free space pointing devices is connected with other device.Therefore, " free space location " is different from the conventional computer mouse location technology that for example needs to use plane (for example, desktop or mouse pad, this plane is as acting on behalf of the plane, the mouse mobile cursor that is converted on the computer display screen thereon moves).The example of such free space pointing devices can be from United States Patent (USP) 5,440, and 326 li are found.
At United States Patent (USP) 5,440, described in 326 patents that the repacking of vertical gyroscope is used for the locating device of the position of cursor on the control computer display screen.The motor that is positioned at this gyroscope core place hangs on the hand held controller device by two pairs of vertical universal joints, and nominal ground makes this shaft of motor vertical by the device that dangles.When the orientation of user's electric light bar angular encoder sensing hand held controller during at operation control, and the electronics that obtains output is converted into form the moving with cursor on the controlling computer display screen that computing machine can be used.
But the corresponding degree of freedom of free space location has been drawn new challenge.Such as, generally speaking not one act on behalf of the plane and place free space pointing devices, the orientation of control device can be obviously different because of end user's difference (even each use).If a kind of free space pointing devices is used for for example being controlled at moving of the cursor that shows on the screen, so need the hand-held device that detects move and the moving of onscreen cursor between carry out certain mapping.
A kind of method of carrying out this mapping is, the reference frame that the body series of device is moved as the mobile expectation that is mapped as cursor that is used for the free space pointing devices that handle detects.Term " body series " is meant and the relevant one group of axle of body of the object that moves, hereinafter will describes in detail.But the body series that is used as reference shines upon the shortcoming that it is also arranged.For example, it needs the user to hold device with particular orientation to move with the cursor that obtains him and want.When the user takes device sidewards, and move left and right it, the cursor on the screen can be up and down rather than move left and right.
Therefore, the present invention will describe the method and apparatus of handling in such a way from the data of sensor reception, and it can solve such and such problem that conventional free space pointing devices is faced.
Summary of the invention
System and a method according to the invention, a kind of free space pointing devices has been described, be transformed into second reference frame (for example, user's reference frame) by exercise data from first reference frame (for example, the body of free space pointing devices) and improve its availability sensing.Exemplified embodiment of the present invention has been removed the relevant influence of well azimuth of holding free space pointing devices with the user.
According to an exemplary of the present invention, a kind of handheld positioning device comprises: first rotation sensor is used for determining that described locating device is about the rotation of first axle and generate relative first and rotate output; Second rotation sensor is used for determining that described locating device is about the rotation of second axis and generate relative second and rotate output; Accelerometer is used for determining the acceleration of described locating device and exports relative acceleration output; And processing unit, receive described first and second and rotate output and the output of described acceleration, and be used for: (a) described first and second rotation outputs and the output of described acceleration are transformed into user's reference frame from the body reference frame relevant with described handheld positioning device, hold the relevant obliquity effects of described handheld positioning device mode with the user thereby remove; And (b) determine data relevant with X and Y coordinates and that therefore move and be correlated with screen cursor, the acceleration output after output and the described conversion is rotated in first and second after based on the described conversion of described data, and wherein said switch process makes the motion of described screen cursor and orientation that the user holds described hand-held device irrelevant substantially.Wherein, described step (a) comprises that further rotating output by the calculating of following formula with described first and second turns in described user's reference frame:
R = cos θ sin θ - sin θ cos θ · αy αz
Wherein, θ is described inclination, and α y is the described first rotation output, and α z is the described second rotation output.
According to another embodiment of the invention, a kind of method of using free space pointing devices said method comprising the steps of: detect the motion of described free space pointing devices; Be transformed into inertial reference system by motion from the body reference frame relevant, and described detection campaign is compensated with described free space pointing devices with described detection.Wherein, described compensation process further comprises: determine the inclination relevant with the orientation of holding described free space pointing devices; And the motion that compensates described detection to be to calibrate described inclination, and this step further comprises:
Calculating by following formula is rotated first of described free space pointing devices and second is transformed in the described inertial reference system:
R = cos θ sin θ - sin θ cos θ · αy αz
Wherein, θ is described inclination, and α y is described first rotation, and α z is described second rotation.
According to another exemplary of the present invention, a kind of free space hand-held device comprises at least one sensor, detects the motion of described free space pointing devices; And processing unit, be transformed into inertial reference system by motion from the body reference frame relevant, and described detection campaign is compensated with described free space pointing devices with described detection.Wherein, described processing unit compensates the motion of described detection by following steps:
Determine the inclination relevant with the orientation of holding described free space pointing devices; And
The motion that compensates described detection to be calibrating described inclination, and
Described processing unit further the calculating by following formula with the movement conversion of described detection in described inertial reference system:
R = cos θ sin θ - sin θ cos θ · αy αz
Wherein, θ is described inclination, and α y is that first of described free space pointing devices rotates, and α z is that second of described free space pointing devices rotates.
The present invention also provides a kind of method of operating free space pointing devices, said method comprising the steps of:
The motion of the described free space pointing devices of sensing in first reference frame;
The motion of described sensing is transformed into other reference frames from first reference frame; And
With the signal output that produces described free space pointing devices of conversion,
Wherein, described switch process comprise by using following formula calculating with first and second of described free space pointing devices rotate output from described first reference frame be transformed into compensate institute's sensing described other reference frames motion to calibrate the inclination of described free space pointing devices:
R = cos θ sin θ - sin θ cos θ · αy αz
Wherein, θ is described inclination, and α y is described first rotation, and α z is described second rotation.
Description of drawings
Accompanying drawing has been described exemplary embodiment of the present invention, wherein:
Fig. 1 has shown the conventional remote control unit of entertainment systems;
Fig. 2 has shown a kind of exemplary media system of the enforceable illustrative embodiments of the present invention;
Fig. 3 has shown free space pointing devices according to an illustrative embodiment of the invention;
Fig. 4 has shown the sectional view of free space pointing devices, comprises two rotation sensors and an accelerator;
Fig. 5 illustrates block scheme according to an illustrative embodiment of the invention, that be used to handle the data relevant with free space pointing devices;
Fig. 6 (a)-6 (d) has shown the influence of tilting;
Fig. 7 has shown the hardware configuration of free space pointing devices according to an illustrative embodiment of the invention;
Fig. 8 is the constitutional diagram of the Static Detection mechanism of explanation illustrative embodiments of the present invention;
Fig. 9 shows block scheme according to a present invention exemplary, the exercise data that detects is converted to second coordinate system by first coordinate system; And
Figure 10 shows process according to a present invention exemplary, the exercise data that detects is converted to second coordinate system by first coordinate system with the mode of chart.
Embodiment
Describe the present invention below with reference to the accompanying drawings.Identical Reference numeral is represented same or similar element in different accompanying drawings.Should be appreciated that the following detailed description is not a limitation of the present invention.Scope of the present invention is limited by appending claims.
For for following discussion provides some backgrounds, with reference to figure 2 the enforceable exemplary aggregate media system 200 of the present invention is described earlier.It will be understood by those skilled in the art that the present invention is not limited to the enforcement of this class media system, but can add or reduce parts therein.Wherein, I/O (I/O) bus 210 connects together each system unit of media system 200.I/O bus 210 representative is used for the signal between the media system parts is carried out a kind of of the multiple different mechanisms of route and technology.For example, I/O bus 210 can comprise right quantity, sound signal is carried out independent audio " grafting (the patch) " cable of route, vision signal is carried out the coaxial cable of route, control signal is carried out the two-wire system string line or the infrared or radio-frequency (RF) transceiver of route and the optical fiber or any other routing mechanism that the signal of other types are carried out route.
In this example embodiment, media system 200 comprises the televisor/display screen 212 that is connected to I/O bus 210, video Cassette recorder equipped (VCR) 214, data video dish (DVD) recording/reproducing device 216, audio/video tuner 218 and compact disk player 220.VCR214, DVD 216 and compact disk player 220 can be single dish or single magnetic tape equipment, or DVD multidisc or many magnetic tape equipments.They can be considered as independently, and the unit also can be integrated.In addition, media system 200 comprises microphone/speaker system 222, video camera 224 and wireless I/O control device 226.According to exemplified embodiment of the present invention, wireless I/O control device 226 is a free space pointing devices, and its relevant exemplary embodiment will be described below.Wireless I/O control device 226 can communicate by infrared ray (IR) or radio frequency (RF) transmitter or transceiver and entertainment systems 200.As a kind of selection, the I/O control device is via being wired to entertainment systems 200.
Entertainment systems 200 also comprises system controller 228.According to exemplified embodiment of the present invention, system controller 228 operation is to store and to show available entertainment system data from a plurality of entertainment system datas source and the control a large amount of functions relevant with each system unit.Show that as Fig. 2 system controller 228 connects each system unit (if desired) directly or indirectly by I/O bus 210.In an exemplary embodiment, except I/O bus 210 (perhaps as an alternative), system controller 228 also is equipped with radio communications transmitter (or transceiver), and it can communicate by IR signal or RF Signals ﹠ Systems parts.No matter adopt which kind of control medium, system controller 228 is configured to control media component to media system 200 by graphic user interface as described below.
Shown in Fig. 2 was further, media system 200 can be configured to reception from different source of media and service provider's media item.In this exemplary embodiment, media system 200 is from one of following source or all receiving media inputs, and alternatively to one of following source or all send information: electrophone 230, satellite broadcasting 232 (for example, pass through satellite dish), very high frequency(VHF) (VHF) or ultrahigh frequency (UHF) radio frequency communication (such as, pass through antenna) television network broadcast 234, telephone network 236 and wired modem 238 (or source of other Web contents).It will be appreciated by those skilled in the art that these with reference to figure 2 explanations and media component of describing and the only effect for giving an example of medium source, media system 200 can comprise more or less media component and medium source.Such as, other input styles of system comprise AM/FM radio and satellite radio.
About the more details of this exemplary entertainment systems and relevant framework thereof can from above-mentioned, and U.S.'s patent application " control framework that has the scalable graphical user interface that is used for organizing, select, start media item " of incorporating this paper by reference into find out.Perhaps, telechiric device of the present invention can use in conjunction with other system, such as, comprise for example display, processor and storage system or other system and applications computers system.
As already mentioned in the background technology, the special concern of this instructions can be used as the telechiric device of free space location.These devices can be with the action of gesture class for being converted to the order that user interface is sent.Fig. 3 has described an exemplary free space pointing devices 400.Wherein free space located subscriber action can be defined as free space pointing devices 400 at x-axle height (rolling), the y-axle elevation angle (gradient) and/or z-axle whereabouts (driftage) or it is in conjunction with last motion.In addition, illustrative embodiments more of the present invention can also be measured free space pointing devices 400 along the translation motion on x axle, y axle and the z axle, to produce moving or the order of other user interfaces of cursor.In the illustrative embodiments in Fig. 3, free space pointing devices 400 comprises two buttons 402 and 404 and roller 406 (other illustrative embodiments can comprise other physics setting).According to exemplified embodiment of the present invention, can expect, the user will hold free space pointing devices 400 before display 408, and free space pointing devices 400 is the interactional output of information (for example moving cursor 410 on display 408) that can be used to and be presented on the display 408 with its movement conversion.For example, free space pointing devices 400 sensings its about the rotation of y axle and convert the output that system can use to, with y along display 408 2Axle moving cursor 410.In like manner, free space pointing devices 400 sensings its about the rotation of z axle and convert the output that system can use to, with x along display 408 2Axle moving cursor 410.Be appreciated that, except moving cursor (perhaps as an alternative), the output of free space pointing devices 400 can also additive method and display 408 carry out alternately, can control the transmission (play, tentative, F.F., refund) of cursor brightness power, volume or medium such as free space pointing devices.Except that cursor moved, input command can comprise the operation of for example specific region of display being carried out convergent-divergent.Cursor can be visible or sightless.Equally, its rotation along the x axle that free space pointing devices 400 senses can be used as the rotation of (or being additional to y axle and/or z axle) beyond y axle and/or the z axle, so that the input of user interface to be provided.
The exemplary embodiment according to the present invention, as shown in Figure 4, free space pointing devices 400 adopts two rotation sensors 502 and 504 and accelerometers 506 as sensor.Rotation sensor 502 and 504 can for example use by the ADXRS150 sensor or the ADXRS401 sensor of analog device manufacturing and realize.The rotation sensor that it will be understood by those skilled in the art that other types also can be used as sensor 502 and 504 and uses, and ADXRS150 that carries of institute and ADXRS401 are the embodiment in order to be used for illustrating.Be different from traditional gyroscope, the ADXRS150 rotation sensor uses Micro Electro Mechanical System (MEMS) technology, and the resonance matter that is attached on the framework is provided, so that it can only be along a direction resonance.When the body that is attached with sensor when the sensing axes of sensor is rotated, this resonance matter will be shifted.Can measure this displacement by Coriolis (Coriolis) acceleration effect, to determine and to rotate relevant angular velocity along sensitive axis.If rotation sensor 502 and 504 has a sensing axes (as ADXRS150), they will be installed in and make their sensitive axis align with rotation to be measured on the free space pointing devices 400 so.In exemplary embodiment of the present invention, this just means that rotation sensor 504 is mounted so that its sensing axes is parallel with the y axle, and rotation sensor 502 is mounted so that its sensing axes is parallel with the z axle, as shown in Figure 4.But, institute and be not necessary to ask the sensing axes of rotation sensor 502 and 504 and the measurement axis line parallel of its expectation is provided owing to provide in the exemplified embodiment of the present invention and be used for the technology that compensates of skew between axis.
The challenge that enforcement faced according to exemplary free space pointing devices 400 of the present invention is, use not too expensive parts (such as, rotation sensor 502 and 504), but provide again simultaneously motion, the user expectation user interface of free space pointing devices 400 which kind of reaction the specific action of free space pointing devices is made and carry out in response to the effective user interface of this action between high correlation.For example, if free space pointing devices 400 does not move, the user will think that cursor should not be in drift on the display screen.Equally, if the user only rotates free space pointing devices 400 along the y axle, he will not expect to see that the cursor on display 408 has moved any tangible x 2The axle component.For realizing these and other exemplified embodiment of the present invention, hand-held device 400 will be carried out various measurements and calculations, these measurements and calculations are used to adjust sensor 502, one or more output in 504 and 506, and/or determine the suitable output of user interface according to the output of sensor 502,504 and 506 as the part of the input of processor.These measurements and calculations are used for compensating following two kinds of factors: the intrinsic factor of (1) free space pointing devices 400, for example, with the particular sensor of using in the device 400 502,504 errors relevant with 506, perhaps with sensor relevant error of mounting means in device 400, and the extrinsic factor of (2) free space pointing devices 400 is promptly used the relevant factor of mode of free space pointing devices 400 with the user, for example, linear acceleration, inclination and shake.Use description to handle the example technique of above-mentioned each factor below.
Fig. 5 has shown transaction module 600 according to an illustrative embodiment of the invention, and it has described the routine operation of free space pointing devices.Rotation sensor 502 and 504 and accelerometer 506 produce simulating signals, these simulating signals will periodically be sampled (for example, 200 samples/sec).For the ease of discussing, by symbol (x, y, x, α y, α z) represents one group of such input, wherein, x, y, z be exemplary three axis accelerometer 506 the sampling output valve (respectively with free space pointing devices at the x axle, the y axle is relevant with the axial acceleration of z), α y is from rotation sensor 502, rotate relevant sampling output valve with free space pointing devices about the y axle, α z from rotation sensor 504, with free space pointing devices 400 about the relevant sampling output valve of z axle rotation.
The output of accelerometer 506 is provided.If accelerometer 506 provides simulation output, then will export the also digitizing of sampling to produce the accelerometer output 602 of sampling by analog/digital (A/D) converter (not shown).Shown in conversion functional module 604, the output valve of sampling is converted to unit of acceleration from original unit, for example, gravity (g).Acceleration calibration block 606 provides conversion functional module 604 used numerical value.Calibration to accelerometer output 602 for example comprises, to one or more the compensating in the inclined to one side error of scale, skew and axle relevant with accelerometer 506.Formula below using is carried out the exemplary conversion for accelerometer data:
A=S*((M-P).*G(T)) (1)
Wherein M serve as reasons sampling output valve (x, y, 3 * 1 the column vector of z) forming, wherein, P is 3 * 1 sensor offset column vector, S comprises that scale, axle are partially and 3 * 3 matrix of sensor rotation compensation.G (T) is a gain coefficient, and it is the function of temperature.Operational character " * " is represented multiplying each other of matrix, and operational character " .* " representative element multiplies each other.Exemplary accelerometer 506 have the four corner of example+/-2g.When the measured value of accelerometer was 0g, sensor offset P was exactly sensor output M.Scale is meant the unit value of sampling and the conversion factor between the g.Owing to for example manufacturing variation, the actual scale of any given acceierometer sensor may depart from the scale value of those nominals.Therefore the constant multiplier in the above-mentioned formula and this depart from proportional.
Departing from of the scale of accelerometer 506 and skew can be measured in the following way, for example, applies the power of 1g and obtains measurement result R along an axle 1Then, apply the power of one-1g and obtain measurement result R 2Can calculate the scale s of single shaft and the skew p of single shaft by following formula:
S = ( R 1 - R 2 ) 2 - - - ( 2 )
P = ( R 1 + R 2 ) 2 - - - ( 3 )
In this simple example, the column vector that P is made up of each p, the diagonal matrix that S is made up of each l/s.
But except that scale and skew, the readout that accelerometer 506 generates also may be subjected to the influence of intersecting axle (cross-axes).The intersecting axle influence (for example comprises unjustified axle, when degree of will speed up meter 506 is installed in the free space pointing devices 400, one or more sensitive axis of accelerometer 506 are with accordingly unjustified with reference to the axle in the inertial system) or the machine error relevant with the processing of accelerometer 506 itself is (for example, even axle has alignd, but simple y axle acceleration power might cause the reading of sensor along the z axle of accelerometer 506).These two kinds of influences can be measured and join in the calibration of functional module 606 execution.
Accelerometer 506 plays a plurality of effects in the exemplary free space pointing devices according to exemplary of the present invention.For example, if use aforesaid exemplary Coriolis effect rotation sensor to realize rotation sensor 502 and 504, then rotation sensor 502 and 504 output will be based on linear accelerations that each rotation sensor experienced and are changed.Therefore, accelerometer 506 exemplary purposes is the fluctuation (it is caused by the variation of linear acceleration) of rotation sensor 502 and 504 readings that produce is compensated.This can realize by following computing: to carrying out multiply operation through the accelerometer readings of gain matrix 610 conversion, deduct The above results with corresponding sampling rotation sensor data 612 then or with The above results and 612 additions of corresponding sampling rotation sensor data.For example, from the sampling rotation data α y of rotation sensor 502 can be at module 614 places according to following formula by linear acceleration compensation:
αy′=αy-C*A (4)
Wherein, C be by for along the linear acceleration of each axis, be 1 * 3 the row vector that the rotation sensor susceptibility of unit constitutes with/g, and A is the linear acceleration through calibration.Similarly, also can be the linear acceleration of the sampling rotation data α z that comes from rotation sensor 504 be compensated at module 614 places.Gain matrix C changes according to rotation sensor owing to make difference.Can use the mean value of a plurality of rotation sensors to calculate C, perhaps can be each rotation sensor customization C.
As accelerometer data, the rotation data 612 of will sampling at functional module 616 places then is the value relevant with the angle slewing rate, for example radian per second from the sample unit value transform.This shift step also can comprise the calibration that is provided by functional module 618, to compensate for example scale and skew to the sampling rotation data.For example, can use following formula to realize conversion/calibration to α y and α z:
αrad/s=(α′-offset(T))*scale+dOffset (5)
Wherein, the value that α ' expression is transformed/calibrates, the off-set value of offset (T) expression and temperature correlation, scale represents the conversion coefficient between sample unit value and the rad/s (radian per second), dOffset represents the dynamic deflection value.Formula (5) can be embodied as matrix equation, and all variablees all are vectors except scale in this case.In matrix form equation, scale revises axis misalignment and pivot offset factor.To more go through each in these variablees below.
Off-set value offset (T) and dOffset can determine in several ways.For example, when free space pointing devices 400 rotates on the y direction of principal axis, then sensor 502 should be exported its off-set value.Yet skew may be subjected to Temperature Influence to a great extent, thereby makes this off-set value change.Offset temperatures calibration can be carried out in factory, and the value that is worth offset (T) in this case is programmed in the hand-held device 400, perhaps as a kind of selection, the offset temperatures calibration also can be in the term of life of this device dynamic learning.In order to realize dynamic migration, in rotation calibration function module 618, use input, to calculate the currency of offset (T) from temperature sensor 619.Offset (T) coefficient has been removed most of skew tendency (bias) from sensor reading.Yet zero motion (zeromovement) of the cursor drift that cancellation (negate) is nearly all helps forming high performance locating device.Therefore, when free space pointing devices 400 in use, but the other factor dOffset of dynamic calculation.Static Detection functional module 608 determines when most probable is static and when should calculates skew hand-held device.Example technique and other purposes thereof of carrying out Static Detection functional module 608 are as described below.
A kind of exemplary realization that dOffset calculates is adopted through sensor output low-pass filtering, calibration.Static output measuring ability module 608 provides indication (indication) to rotation calibration function module 618, to trigger for example calculating of the mean value of low-pass filter output.Static output measuring ability module 608 also may command when with the mean value calculation of latest computed in the existing value of dOffset.It should be appreciated by those skilled in the art that the new value that to use multiple different technologies to calculate dOffset from the existing value of dOffset and new mean value (including but not limited to simple average, low-pass filtering and Kalman filtering).In addition, it should be appreciated by those skilled in the art that the multiple variation of the migration that can use rotation sensor 502 and 504.For example, offset (T) function can have steady state value (for example, not varying with temperature), can use two above migration values, and/or can calculate/use single off-set value and be used for migration.
After module 616 places have carried out conversion/calibration, input from rotation sensor 502 and 504 can be further processed at functional module 620 places, so that these inputs are turned in the inertial system, thereby the inclination relevant with the mode of user's handling free space pointing devices 400 compensated.Tilt correction is another significant aspect of exemplary more of the present invention, and it is intended to compensate the difference according to the use pattern (usagepattern) of free space pointing devices of the present invention.More specifically, tilt correction according to illustrative embodiments of the invention is intended to the following fact is compensated, promptly, the user holds locating device with different x axle turned positions in its hand, but the sensing axis of the rotation sensor 502 in the free space pointing devices 400 and 504 is but fixed.Ideal situation is, the basic mode with user's grasping free space pointing devices 400 of the translation of cursor on display 408 is irrelevant, for example, and with common horizontal dimensions (x corresponding to display 508 2Axle) rotating free space pointing devices 400 before and after the mode should cause cursor along x 2The axle translation is with common vertical dimensions (y corresponding to display 508 2Axle) mode is rotated free space pointing devices 400 up and down and should be caused cursor along y 2The axle translation, and hold the orientation-independent of free space pointing devices 400 with the user.
In order to understand necessity better, consider the embodiment shown in Fig. 6 (a) according to the slope compensation of illustrative embodiments of the invention.Wherein, the user holds free space pointing devices 400 in exemplary inertial system, described inertial system may be defined as the x axle rotational value with 0 degree, for example in inertial system, the bottom of free space pointing devices and the floor in house (for example, TV is placed thereon) are substantially parallel.Inertial system can corresponding with the orientation shown in Fig. 6 (a) (only as embodiment), perhaps may be defined as any other orientation.The rotation of free space pointing devices 400 on y axle or z direction of principal axis will be detected by rotation sensor 502 and 504 respectively.For example, shown in Fig. 6 (b), free space pointing devices 400 rotates Δ z around the z axle will make the x of cursor at display 408 2Corresponding translation Δ x on the axis dimension 2(that is the distance between the dotted portion of cursor 410 and the solid line part).
On the other hand, if the user with different azimuth (for example, having a certain amount of x axle with respect to inertial system rotates) grip free space pointing devices 400, then the information that provides of sensor 502 and 504 will can (not lack slope compensation) provides statement accurately to user's intentional interface action.For example, with reference to Fig. 6 (c), consider that the user holds the situation of free space pointing devices 400 with the x axle rotation that has 45 degree with respect to the exemplary inertial system shown in Fig. 6 (a).Shown in Fig. 6 (b), suppose that the user rotates Δ z around the z axle simultaneously with free space pointing devices 400, then cursor 410 will become at x 2On the direction of principal axis and y 2Translation on the direction of principal axis, shown in Fig. 6 (d), this is that orientation owing to the sensing axis of rotation sensor 502 is between y axle and the z axle and (causes because be arranged in the orientation of the device of user's hand).Similarly, the orientation of the sensing axis of rotation sensor 504 is also between y axle and z axle (though at different quadrants).How to hold transparent interface, free space pointing devices 400 aspects in order to be provided to the user, slope compensation according to illustrative embodiments of the invention is changed back the reading output of sensor 502 and 504 in the inertial system, and a part that is treated to the information that rotatablely moves of expression free space pointing devices 400 as the reading with these sensors is handled.
According to exemplary of the present invention, get back to Fig. 5, above-mentioned processing can determine that the inclination of free space pointing devices 400 realizes by use the input y and the z that receive from accelerometer 506 at functional module 622 places.More specifically, after acceleration information has carried out conversion and calibration as mentioned above, carry out low-pass filtering, to provide average acceleration (gravity) value to definite functional module 622 that tilts at LPF 624 places.Then, in functional module 622, calculate cant angle theta:
θ = tan - 1 ( y z ) - - - ( 7 )
Value θ can by numerical value be calculated as atan2 (y, z), to avoid division by 0 and to provide correct symbol.Then, functional module 620 can use following formula to conversion/the input α y and the α z of calibration carry out to rotate R:
R = cos θ sin θ - sin θ cos θ · αy αz - - - ( 8 )
Thereby make conversion/the input α y and the α z of calibration rotate with compensating for tilt θ.According to another exemplary of the present invention as described below, aforesaid slope compensation is the subclass than ordinary skill that is used for sensor reading is converted to from the object reference frame user's reference frame in this exemplary.
After the sensor reading to calibration carries out linear acceleration compensation and it is treated to the reading that the angle of expression free space pointing devices 400 rotates and it has been carried out slope compensation, can carry out aftertreatment in module 626 and 628 places.Exemplary aftertreatment can comprise compensation various factors, for example people's shake.Though can use several distinct methods to remove shake, a kind of method of removing shake is by using hysteresis phenomenon.Combined by the angular velocity that rotating function module 620 produces to produce the position, angle.Then, the hysteresis with calibration amplitude is applied to this position, angle.Output to hysteresis block is differentiated, thereby generates angular velocity once more.Scale (for example, based on the sampling period) and be used for bearing results (for example, the motion of cursor 410 on display 408) are carried out in the output that is generated then in the interface at functional module 628 places.
After the processing to exemplary free space pointing devices of the present invention was described, Fig. 7 showed exemplary hardware structure.Wherein, other components communicate of processor 800 and free space pointing devices comprises roller 802, JTAG 804, LED 806, switch matrix 808, IR photodetector 810, rotation sensor 812, accelerometer 814 and transceiver 816.Roller 802 is to make that the user can be by clockwise or rotate counterclockwise roller 802 provides optional input module from input to the interface.JTAG 804 provides programming and debugging interface to processor.LED 806 provides visual feedback for the user when for example pressing the button.Switch matrix 808 receives input (for example the button on free space pointing devices 400 be pressed or discharged indication), then, this input is passed to processor 800.Can provide IR photodetector 810 so that exemplary free space pointing devices can be from other telechiric device study IR coding.Rotation sensor 812 provides the aforesaid y axle of free space pointing devices and the reading that the z axle rotates of for example relating to for processor 800.Accelerometer 814 provides the reading of the linear acceleration that relates to free space pointing devices 400 for processor 800, be used for as described above (for example) carry out slope compensation and error that the rotation reading that linear acceleration produces for rotation sensor 812 is introduced compensates.Transceiver 816 is used for information is sent to free space pointing devices 400 and will be sent to system controller 228 or the processor relevant with computing machine from the information that free space pointing devices 400 receives.Transceiver 816 can be wireless transceiver (for example coming work according to the bluetooth standard that is used for short-distance wireless communication) or infrared transceiver.As a kind of selection, free space pointing devices 400 can connect and system communication by Wireline.
In the exemplary of Fig. 4, free space pointing devices 400 comprises two rotation sensors 502 and 504 and accelerometer 506.Yet as a kind of selection, according to another exemplary of the present invention, free space pointing devices can only comprise a rotation sensor (for example, be used to measure on the z direction of principal axis angular velocity) and accelerometer.For this exemplary, can determine that the angular velocity (its can't help rotation sensor detect) along axis provides similar as mentioned above function by using accelerometer.For example, the data and the following formula that can use accelerometer to produce around the velocity of rotation of y axle calculates:
ω Y = ∂ θ Y ∂ t = ∂ ∂ t tan - 1 ( x z ) - - - ( 9 )
In addition, also should remove the parasitic acceleration effect that rotation sensor does not measure.Acceleration that these effects comprise actual linear acceleration, measure owing to velocity of rotation and rotation acceleration and the acceleration that measures owing to people's shake.
The Static Detection functional module of briefly mentioning above 608 can be operated and is used for determining whether free space pointing devices 400 is for example static or dynamic (motion).This classification can be undertaken by multiple distinct methods.According to exemplary of the present invention, a kind of method is the variation of calculating (for example) per quart second once in the sampling input data of all inputs (x, y, z, α y, α z) of predetermined window.Should change with threshold value comparing then, thereby free space pointing devices was divided into static state or dynamic.
Another Static Detection technology according to illustrative embodiments of the invention comprises by for example the input data being carried out Fast Fourier Transform (FFT) (FFT) and input being transformed in the frequency domain.Then, can for example use peak-value detection method to analyze data, to determine that whether free space pointing devices 400 is for for example static or dynamic.In addition, can distinguish the third class, particularly be that the user holds free space pointing devices 400 but do not move the situation (also being referred to as " stablizing " state herein) of this device.When free space pointing devices 400 is held by the user, can by detect the slight movement of introducing free space pointing devices 400 by user's hand shake come from static (holding) and dynamic do not distinguish this third class.Peak value detects also to be made by Static Detection functional module 608 and is used for carrying out this and determines.Peak value (for example, being nominally 8-12Hz) in people's the chattering frequency scope exceeds the about 20dB of noise level (noise that is experienced) of device usually when device is in static state and is not held.
In the aforementioned embodiment, the variation in the frequency domain is detected in particular frequency range, yet the actual frequency scope that to be monitored and the state to free space pointing devices 400 of being used for carries out characterization may change.For example, the nominal dither frequency range can be for example be transferred to for example 4-7IIz based on the ergonomics and the weight of free space pointing devices 400 from 8-12Hz.
According to another exemplary of the present invention, Static Detection mechanism 608 can comprise state machine.Fig. 8 shows exemplary state machine.Wherein, in this embodiment, " activity " state is default conditions, and free space pointing devices 400 moves under this state, and is used for for example providing input for user interface.Free space pointing devices 400 can power at this device (as reset the input shown in) after enter " activity " state.If free space pointing devices 400 stop motions, then it can enter " non-activity " state thereupon.Various state exchanges as shown in Figure 8 can trigger by in the multiple different criterions any, described criterion includes but not limited to: rotation sensor 502 and one or two data output of 504, the data output of accelerometer 506, time domain data, the combination in any of frequency domain data or above data.Use conventional " condition herein prevailingly State A → state B" represent state transition condition.For example, when " condition Live Moving → non-activity" when taking place, free space pointing devices 400 will be " non-activity " state from " activity " state exchange.For simple illustration purpose, consider in exemplary free space pointing devices 400 " condition Activity → non-activity" can when the two average and/or standard deviation value of rotation sensor and accelerometer drops under first predetermined threshold in first predetermined period, take place.
State exchange can be determined by a plurality of different conditions based on the sensor output of explaining (interpret).Exemplary conditional plan comprises that the value below using triggers state exchange: the variation of the specification signal of explanation on time window, threshold value between the signal of reference value and explanation on time window, threshold value between the signal of reference value and filtered explanation on time window, and the threshold value between the specification signal when reference value and beginning.All of these conditional plans or wherein combination in any can be used to trigger state exchange.As a kind of selection, also can use Else Rule.According to an exemplary of the present invention, take place when the conversion of " activity " state one of is meeting the following conditions from " non-activity " state: the mean value on time window of (1) sensor output is greater than predetermined threshold value; (2) variation of sensor output on time window is greater than predetermined threshold value; (3) the instantaneous increment between the sensor values is greater than predetermined value.
" non-activity " state make Static Detection mechanism 608 can between minibreak, distinguish free space pointing devices 400 still be used (for example about 1/10th seconds) still actual converted to stable or static state.This has been avoided by mistake carrying out the function of carrying out (as described below) under " stablizing " and " static state " state when using free space pointing devices.When " condition Activity → non-activity" when taking place (for example; if second predetermined period " non-activity " state under in the past before; free space pointing devices 400 is setting in motion once more; thus feasible output by rotation sensor and accelerometer measures has surpassed first threshold), free space pointing devices 400 will be converted back to " activity " state.
After past, free space pointing devices 400 will be converted to " stablizing " state or " static state " state at second predetermined period.As mentioned above, " stablizing " state has reflected the characteristic that free space pointing devices 400 is held by the user but do not move, and " static state " state has then reflected the characteristic that free space pointing devices is not held by the user.Therefore, the state machine exemplary according to the present invention can provide:, if shake relevant minimum movement with hand, then be converted to " stablizing " state, otherwise be converted to " static state " state after the past at second predetermined period.
" stablize " and " static state " state defines the time that free space pointing devices 400 can be carried out various functions betwixt.For example, hold free space pointing devices 400 but do not make time of its motion because " stablize " state is intended to reflect the user, so the motion of can be for example when being in " stablizing " state writing down free space pointing devices 400 by the output of storing rotation sensor and/or accelerometer when this state of this device.The measured value of these storages can be used to determine the jitter mode relevant with one or more specific users, and is as described below.Equally, when being in " static state " state, free space pointing devices 400 can obtain reading from rotation sensor and/or accelerometer, is used to carry out aforesaid migration.
If free space pointing devices 400 is being in setting in motion under " stablizing " or " static state " state, then can trigger " activity " state of getting back to.Otherwise after measuring, this device can be switched to " sleep " state.When being in sleep state, device can enter power saving (powerdown) pattern, and at this moment, the power consumption of free space pointing devices reduces, and for example the sampling rate of rotation sensor and/or accelerometer also reduces.Also can enter " sleep " state, make user or other devices can control free space pointing devices 400 and enter " sleep " state by external command.
Receiving another when order, if perhaps during free space pointing devices 400 setting in motions, this device can be from " sleep " state exchange to " reviving " state.With " non-activity " state class seemingly, " reviving " state for device provide can subtend " activity " state the whether suitable affirmation chance of conversion, for example, free space pointing devices 400 is not subjected to pushing unintentionally.
The condition of state exchange can be symmetrical, also can be different.Therefore, with " condition Activity → non-activity" relevant threshold value can with " condition Non-activity → activity" relevant threshold value identical (or different).This makes can catch user's input more accurately according to free space pointing devices of the present invention.For example, comprised that the exemplary that state machine is implemented makes that especially the threshold value that is converted to static state is different with the threshold value of changing out from static state.
Enter or leave the apparatus function that a state also can be used to trigger other.For example, can be based on user interface being powered on from any state exchange to " activity " state.On the contrary, when free space pointing devices from " activity " or " stablizing " when " static state " or " non-activity " is changed, free space pointing devices and/or user interface can be closed (or entering sleep pattern).As a kind of selection, cursor 410 can be changed out or be converted to static state and be presented on the screen or from screen from static state and disappear based on free space pointing devices 400.
As mentioned above, exemplary of the present invention is handled the exercise data that the sensor from free space pointing devices receives, so that the reference frame of these data from the free space pointing devices body is transformed into another reference frame (for example user's reference frame).Be used for being controlled at the exemplary application that screen (for example TV) is gone up the free space pointing devices of the user interface that shows, user's reference frame can be the coordinate system relevant with TV screen.In any case,, data are transformed into the availability that will improve hand-held device another reference frame from the body reference frame by forming operation from user perspective rather than space positioning apparatus angle.Therefore, when the user makes its hand in display the place ahead when mobile from left to right when holding free space pointing devices, no matter the orientation of free space device how, the cursor on the left side all can will move right.
In order to simplify this discussion, the exemplary process system relevant with free space pointing devices (for example, as mentioned above) has been shown among Fig. 9.Wherein, hand system uses one or more sensors 901 (for example, rotation sensor, gyroscope, accelerometer, magnetometer, optical sensor, camera or their combination in any) to detect motion.Then, in module 902, sensor is made an explanation, so that the motion that takes place is estimated.The motion that processing module 903 will be measured then is converted to user's the reference frame from nature (body) reference frame.This motion mapped then 904 is the action of expection justice, and this action makes an explanation at module 905 places and is sent to system, to form the response of expection justice, for example cursor on the moving screen.
Module 903 is with the movement conversion that detects in user's reference frame rather than in the reference frame of device.Can explain the orientation by similar method on the multiple different mathematics, these methods comprise Eulerian angle, direction cosine matrix (DCM) or unit quaternion (unit quaternion).The position is expressed as the skew with respect to coordinate origin with consistent unit representation usually, described consistent unit include but not limited to meter, centimetre, foot, inch and mile.In an above-mentioned exemplary, the free space pointing devices measurement comprises the inertial force of acceleration and velocity of rotation.The sensor that these power are installed in the device is measured with respect to the body that installs.For the data-switching that will measure in user's reference frame, locating device is estimated its position and orientation.
In this exemplary embodiment, suppose that user's reference frame is static and has fixing orientation, but it will be appreciated by those skilled in the art that, can easily expand to the situation that user's reference frame is a nonstatic (then become system by Direct Transform, perhaps at first transform to rest system and change to kinetic system then) according to this technology of the present invention.For the example of user's reference frame of static, constant bearing, can calculate by using following formula with reference to the conversion that is tied to user's reference frame from body:
Pu=Rotate(Pb,Q)+Pdelta
Pu’=Rotate(Pb’,Q)
Pu”=Rotate(Pb”,Q)
Wu=Rotate(Wb,Q)
Wu’=Rotate(Wb’,Q)
Wherein:
Rotate represents hypercomplex number rotation operator, and (A Q) equals Q to Rotate *AQ, wherein, Q *Be the hypercomplex number conjugation, vectorial A is that complex number components equals A and hypercomplex number that real component equals 0;
Pu is the position in user's reference frame;
Pb is the position in the device reference frame;
' the expression differentiate.Therefore, Pu ' is the derivative of the position in user's reference frame, that is, and and the speed in user's reference frame;
Wu in user's reference frame, the angular velocity at body angle of device;
Wb is the angular velocity at body angle in the body reference frame of device, device;
The difference of Pdelta in user's reference frame, between the initial point of the initial point of user's reference frame and body reference frame;
Q is the rotation hypercomplex number of normalization, and its expression is tied to the rotation of user's reference frame from the body reference.Because is Q from the user with reference to the rotation hypercomplex number that is tied to the rotation of body reference frame *, so we can use R *Replace Q, wherein, R is with reference to the rotation that is tied to the body reference frame from the user.Note, can use the multiple equivalent form of value (comprising Eulerian angle and direction cosine matrix (DCM)) to represent Q, top formula can and slightly change on its equivalent form of value according to the difference statement of Q.Figure 10 diagram shows from body with reference to the conversion that is tied to user's reference frame.
In operating process, locating device is estimated Q to implement independently mode, to carry out this conversion.An above-mentioned exemplary enforcement comprises compensating for tilt (that is, free space pointing devices is based on its variation of mode on the x axle rolls of being held by the user).By at first estimating because the component of acceleration that the gravity Ab in the body reference frame causes comes computer azimuth.According to definition, the vector acceleration that causes owing to the gravity Ag in user's reference frame is set to [0,0 ,-1].Because gravity can not be estimated direction (heading) (around the rotation of z axle), so use the body reference frame to estimate direction.Therefore, the rotation hypercomplex number has the pivot center on the z=0 plane.Be calculate to rotate a kind of in several mathematics equivalent method of hypercomplex number below:
V=||Ab||x||Ag|| (cross product of vector of unit length)
qV=||V||
α=hypercomplex number [qV, α/2]=[qV*sin (α/2), cos (α/2)]
Calculating location is as the double integral of acceleration in user's reference frame then.Acceleration in user's reference frame is the acceleration that turns to the body reference frame in user's reference frame by above Q.Usually, the hypothesis initial point is 0 when device starts for the first time, but initial point can be resetted in normal artificial or automatic operating period.
Usually, when device when not moving, Pu ', Pu ", Wu ' and Wu " all be 0.In this exemplary embodiment, measure Pb " and Wb.Though have unlimited a plurality of rotation Q, can come from usable set, to select minimum rotation also to estimate Wu based on Wb with this minimum rotation.As a kind of selection, the startup direction of displacement Qo of working hypothesis, by in time the Wb integration being calculated Q, described integration uses following discrete time integration to carry out:
WbAngle=|Wb|* period
Q DELTA=[||Wb||sin(WbAngle),cos(WbAngle)]
Q NEXT=Q 0**Q DELTA
Wherein, * represents multiplication, and * * represents the hypercomplex number multiplication.Can provide additional stability by stationary field vector (comprising gravity and magnetic field of the earth), this additional stability can combine with The above results.Described combination can obtain by using several numerical value and filtering method (including but not limited to Kalman filtering).
Can adopt a plurality of different sensors, as long as they can measure the motion with respect to device body.Exemplary sensor comprises accelerometer, rotation sensor, gyroscope, magnetometer and video camera.User's reference frame is also nonessential to be static.For example, if elect user's reference frame as user's forearm, then locating device will only respond wrist and finger motion.
It will be understood by those skilled in the art that the reference frame conversion that the present invention describes has exchangeability.Therefore, the order of mathematical operation can be changed, and can not cause materially affect to the present invention described herein.In addition, especially be chosen as when keeping static, can use many motion process algorithms to reference frame in ground of equal value with constant orientation in user's reference frame.
Except ease of use was provided, the reference frame conversion of this exemplary also can be used at other challenge in the hand-held device enforcement according to the present invention.For example, if sensor (for example accelerometer) accurately is not positioned at the center of rotation place of body reference frame, then the acceleration of Ce Lianging will comprise the acceleration of this reference frame and the acceleration that is caused by the rotation of reference frame.Therefore, the acceleration of measurement can at first use following relation to be converted into the interior different target position of body reference frame of device:
Abody=Aaccelerometer+ω’x?R+ωx(ωx?R)
Wherein, R is the vector from the accelerometer to the target location, and ω is the angular velocity of body reference frame, and ω ' is the angular acceleration of body reference frame.If the body reference frame of device is built as and is positioned at range acceleration meter R place, then it should have the zero angle acceleration effect, and can more easily be used for the motion of calculation element in user's reference frame.This will to the expection between accelerometer and the body reference frame center or unintentionally misalignment compensate.In addition, will become much simple to the estimation of gravity vector, this is because the power that applies at the center of rotation place is very little.Therefore,
Auser=Rotate(Abody,Q)
Wherein, Q is with reference to the rotation that is tied to the accelerometer reference frame from body.
Unfortunately, different users have different R values.For example, a user can use hand-held device by rotating its ancon, and another user can use this device by rotating its wrist.In addition, people have the wrist and the forearm of different sizes.In order to improve availability, the exemplary of this hand-held device is dynamically calculated R, and mobile body initial point is so that its component of acceleration minimum that causes owing to angular motion.This exemplary is defined as R [Rx, 0,0], uses and minimize Abody-Rotate[Ag, Q] obtain Rx, thus estimation R.Note, exist many numerical methods to carry out and minimize, comprise recursive least square and Kalman filtering to calculate Rx.
Be appreciated that according to the above the motion that the invention describes the hand-held device that will detect is mapped to the multiple technologies of another reference frame (for example, user's reference frame) from a reference frame (for example, body reference frame).These mappings can be independent of other mapping relevant with the use of hand-held device (being cursor movement with detected Motion mapping for example) or can it combine.In addition, can carry out,, conversion is carried out in the motion (translation motion and rotational motion or its random subset) that detects on all three dimensions with angle from the input end or the output terminal of the equation of motion according to conversion of the present invention.In addition, can select the Motion mapping that will detect or be transformed into wherein reference frame by multiple distinct methods.More than providing an embodiment to show second reference frame is and the relevant user's of inclination of device reference frame that still, many other variations also are possible.For example, the user can select the reference frame of its expectation, and this setting can be stored in the hand-held device one of them as a plurality of user preferences, and is used to carry out conversion.Can select second reference frame based on multiple technologies.Second Choice of Frame of Reference can or automatically realize by the User Recognition of being determined by device users pattern, shake and other biometrics based on implicit commands (for example, button or user interface are selected).
In addition, though some exemplary have been described the above computing to data in the speed territory, the present invention is not limited to this.As a kind of selection or additionally, can carry out according to mapping of the present invention or conversion, perhaps mapping according to the present invention or conversion can be used for translation motion and/or rotational motion for example position or acceleration information.Equally, the order of processing is unimportant.For example,, can at first carry out mapping and determine attitude then, perhaps also can at first determine attitude, carry out mapping then if hand-held device is used for exporting the attitude order.
Above-mentioned schematic embodiment all is schematic but not determinate in all fields.Therefore those skilled in the art can derive the present invention in the multiple variation aspect the specific implementation from the instructions that this paper comprises.For example, though the aforementioned exemplary embodiment has especially been described the motion of using inertial sensor to come pick-up unit, but also can use the sensor (for example, sonac, magnetic sensor or optical sensor) of other types to replace being combined with the inertial sensor of aforementioned signal Processing or append to the inertial sensor that is combined with aforementioned signal Processing.All such changes and modifications all are regarded as being positioned at by within the scope and spirit of the present invention that claim limited subsequently.Do not offer some clarification on if having, the element that uses in the present specification, action or instruction are not indispensable for the purpose of the present invention.In addition, such as used in this article, article " (a) " is intended to comprise one or more projects.

Claims (22)

1. handheld positioning device comprises:
First rotation sensor is used for determining that described locating device is about the rotation of first axle and generate relative first and rotate output;
Second rotation sensor is used for determining that described locating device is about the rotation of second axis and generate relative second and rotate output;
Accelerometer is used for determining the acceleration of described locating device and exports relative acceleration output; And
Processing unit receives described first and second and rotates output and the output of described acceleration, and is used for:
(a) described first and second rotation outputs and the output of described acceleration are transformed into user's reference frame from the body reference frame relevant with described handheld positioning device, hold the relevant obliquity effects of described handheld positioning device mode with the user thereby remove; And
(b) determine data relevant with X and Y coordinates and that therefore be correlated with the screen cursor motion, the acceleration output after output and the described conversion is rotated in first and second after based on the described conversion of described data, wherein said switch process makes the motion of described screen cursor and orientation that the user holds described hand-held device irrelevant substantially
Wherein, described step (a) comprises that further rotating output by the calculating of following formula with described first and second turns in described user's reference frame:
R = cos θ sin θ - sin θ cos θ · αy αz
Wherein, θ is described inclination, and α y is the described first rotation output, and α z is the described second rotation output.
2. handheld positioning device as claimed in claim 1, wherein, described user's reference frame is relevant with TV screen.
3. a method of using free space pointing devices said method comprising the steps of: detect the motion of described free space pointing devices; And
Be transformed into inertial reference system by motion from the body reference frame relevant, and described detection campaign compensated with described free space pointing devices with described detection,
Wherein, described compensation process further comprises:
Determine the inclination relevant with the orientation of holding described free space pointing devices;
And
The motion that compensates described detection is to calibrate described inclination, and this step further comprises:
Calculating by following formula is rotated first of described free space pointing devices and second is transformed in the described inertial reference system:
R = cos θ sin θ - sin θ cos θ · αy αz
Wherein, θ is described inclination, and α y is described first rotation, and α z is described second rotation.
4. method as claimed in claim 3 further comprises:
The information relevant with motion described compensation, that the detect input as user interface is provided.
5. method as claimed in claim 3 further comprises:
Determine described inclination according to the output of accelerometer.
6. method as claimed in claim 3, wherein, the step that detects the motion of described free space pointing devices further comprises:
Use rotation sensor, accelerometer, gyroscope, at least one in optical sensor, magnetometer and the camera detects described motion.
7. free space hand-held device comprises:
At least one sensor detects the motion of described free space pointing devices; And
Processing unit is transformed into inertial reference system by the motion with described detection from the body reference frame relevant with described free space pointing devices, and described detection campaign is compensated,
Wherein, described processing unit compensates the motion of described detection by following steps:
Determine the inclination relevant with the orientation of holding described free space pointing devices; And
The motion that compensates described detection to be calibrating described inclination, and
Described processing unit further the calculating by following formula with the movement conversion of described detection in described inertial reference system:
R = cos θ sin θ - sin θ cos θ · αy αz
Wherein, θ is described inclination, and α y is that first of described free space pointing devices rotates, and α z is that second of described free space pointing devices rotates.
8. free space hand-held device as claimed in claim 7 further comprises:
Accelerometer detects the acceleration of described free space hand-held device, and wherein, described processing unit uses the output of described accelerometer to determine described inclination.
9. free space hand-held device as claimed in claim 7, wherein, described at least one sensor comprises: rotation sensor, accelerometer, gyroscope, at least one in optical sensor, magnetometer and the camera.
10. method of operating free space pointing devices said method comprising the steps of:
The motion of the described free space pointing devices of sensing in body series;
With described movement conversion is the signal of the motion of the described free space pointing devices of representative;
Described signal is transformed into other reference frames from described body series; And
Signal with conversion produces output.
Wherein, described switch process comprises: to the described signal of the tilt calibration of described free space pointing devices,
The step of described calibration comprises:
Calculating by following formula with the movement conversion of described sensing in described other reference frames:
R = cos θ sin θ - sin θ cos θ · αy αz
Wherein, θ is described inclination, and α y is that first of described free space pointing devices rotates, and α z is that second of described free space pointing devices rotates.
11. method as claimed in claim 10 further comprises:
Reference frame in the middle of at least one between body reference frame and other reference frames of calculating.
12. method as claimed in claim 10, wherein, described other reference frames are user's reference frames.
13. method as claimed in claim 10 further comprises:
Described signal is transformed into described body reference frame from sensing reference system.
14. method as claimed in claim 10, wherein, the step that described signal with conversion produces output further comprises:
Signal according to conversion produces the cursor movement data.
15. method as claimed in claim 10, wherein, described output is a kind of posture.
16. a free space pointing devices comprises:
Detect the device of the motion of described free space pointing devices; And
Compensate detected, because the device of the motion bring of tilting,
The described device that is used for compensating the further calculating by using following formula rotates output with first and second of described free space pointing devices and is transformed into motion that inertial reference system compensates described detection to calibrate described inclination:
R = cos θ sin θ - sin θ cos θ · αy αz
Wherein, θ is described inclination, and α y is the described first rotation output, and α z is the described second rotation output.
17. a method of operating free space pointing devices said method comprising the steps of:
The motion of the described free space pointing devices of sensing in first reference frame;
The motion of described sensing is transformed into other reference frames from first reference frame; And
With the signal output that produces described free space pointing devices of conversion,
Wherein, described switch process comprise by using following formula calculating with first and second of described free space pointing devices rotate output from described first reference frame be transformed into compensate institute's sensing described other reference frames motion to calibrate the inclination of described free space pointing devices:
R = cos θ sin θ - sin θ cos θ · αy αz
Wherein, θ is described inclination, and α y is described first rotation, and α z is described second rotation.
18. method as claimed in claim 17, wherein, described switch process comprises: on x, y and z dimension to the conversion of translation motion and rotational motion.
19. method as claimed in claim 17, wherein, described switch process comprises: the conversion on the subclass of x, y and z dimension.
20. method as claimed in claim 17, its switch process comprises: only to a kind of conversion the in translation motion and the rotational motion.
21. method as claimed in claim 17 further comprises:
Carry out second conversion to produce described output.
22. method as claimed in claim 17, wherein, described other reference frames are selected by the user.
CNB2005800211637A 2004-04-30 2005-05-02 Free space pointing devices with tilt compensation and improved usability Active CN100440313C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200810095047.5A CN101256456B (en) 2004-04-30 2005-05-02 There is free space localization method and the device of the availability of slope compensation and improvement

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US56644404P 2004-04-30 2004-04-30
US60/566,444 2004-04-30
US60/612,571 2004-09-23
US60/641,410 2005-01-05

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN200810095047.5A Division CN101256456B (en) 2004-04-30 2005-05-02 There is free space localization method and the device of the availability of slope compensation and improvement

Publications (2)

Publication Number Publication Date
CN1973316A CN1973316A (en) 2007-05-30
CN100440313C true CN100440313C (en) 2008-12-03

Family

ID=38113180

Family Applications (3)

Application Number Title Priority Date Filing Date
CN200810095047.5A Active CN101256456B (en) 2004-04-30 2005-05-02 There is free space localization method and the device of the availability of slope compensation and improvement
CNB2005800211637A Active CN100440313C (en) 2004-04-30 2005-05-02 Free space pointing devices with tilt compensation and improved usability
CN2005800211622A Active CN101427570B (en) 2004-04-30 2005-05-02 Free space pointing devices and method

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN200810095047.5A Active CN101256456B (en) 2004-04-30 2005-05-02 There is free space localization method and the device of the availability of slope compensation and improvement

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN2005800211622A Active CN101427570B (en) 2004-04-30 2005-05-02 Free space pointing devices and method

Country Status (1)

Country Link
CN (3) CN101256456B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106959770A (en) * 2011-03-28 2017-07-18 曦恩体感科技股份有限公司 3D instruction devices and the method for the rotation of compensation 3D instruction devices
US10852846B2 (en) 2010-01-06 2020-12-01 Cm Hk Limited Electronic device for use in motion detection and method for obtaining resultant deviation thereof

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101472095B (en) * 2007-12-26 2011-05-25 原相科技股份有限公司 Cursor control method and device using the method
CN101813982B (en) * 2010-03-10 2012-05-30 鸿富锦精密工业(深圳)有限公司 Electronic device with motion response function and method for excusing input operation using same
US8373658B2 (en) * 2010-05-24 2013-02-12 Cywee Group Limited Motion sensing system
CN103003869B (en) * 2010-07-05 2015-04-15 富士通株式会社 Display control device and method
CN103153790B (en) * 2010-10-01 2016-06-08 希尔克瑞斯特实验室公司 The measurement data of the magnetometer using motion sensor and be attached to device estimates equipment and the method for this device yaw angle in gravitational frame of reference
US8884877B2 (en) * 2011-04-29 2014-11-11 Movea Pointing device
US10145707B2 (en) 2011-05-25 2018-12-04 CSR Technology Holdings Inc. Hierarchical context detection method to determine location of a mobile device on a person's body
US8875576B2 (en) * 2012-03-21 2014-11-04 The United States Of America As Represented By The Secretary Of The Navy Apparatus and method for providing an in-plane inertial device with integrated clock
TWI469574B (en) * 2012-10-04 2015-01-11 Powertech Ind Co Ltd Controlling system and method for automatically turning on/off device
CN103105176B (en) * 2012-10-24 2015-08-05 清华大学深圳研究生院 A kind of motion tracking system based on MEMS sensor and method
KR102049475B1 (en) * 2013-01-08 2020-01-08 삼성전자주식회사 Input device, display device and methods of controlling thereof
CN104598050A (en) * 2013-10-31 2015-05-06 深圳市启望科文技术有限公司 Motion sensing air mouse aligning method and device
CN106125904B (en) * 2013-11-26 2019-03-26 青岛海信电器股份有限公司 Gesture data processing method and gesture input device
CN107754310B (en) * 2013-12-18 2020-09-15 原相科技股份有限公司 Handheld device and positioning method thereof
CN105095959B (en) * 2014-05-22 2018-09-18 昆达电脑科技(昆山)有限公司 Method and device for estimating object periodic motion
US9577992B2 (en) * 2015-02-04 2017-02-21 Aerendir Mobile Inc. Data encryption/decryption using neuro and neuro-mechanical fingerprints
US9590986B2 (en) * 2015-02-04 2017-03-07 Aerendir Mobile Inc. Local user authentication with neuro and neuro-mechanical fingerprints
US9977887B2 (en) * 2015-09-17 2018-05-22 Sony Mobile Communications Inc. Electronic device and method for validation of a trusted user
CN109145387B (en) * 2018-07-25 2022-11-15 西北工业大学 Intelligent identification method of space rolling target inertia characteristics based on characteristic frequency
CN111551973B (en) * 2020-04-16 2022-04-05 北京踏歌智行科技有限公司 Fault detection and correction method for unmanned inertial navigation system of strip mine

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5181181A (en) * 1990-09-27 1993-01-19 Triton Technologies, Inc. Computer apparatus input device for three-dimensional information
US5898421A (en) * 1990-03-21 1999-04-27 Gyration, Inc. Gyroscopic pointer and method
US6208038B1 (en) * 1996-01-23 2001-03-27 Ocean Electro Systems Ltd. Electrical load management method and apparatus for a vessel
JP2003345476A (en) * 2002-04-17 2003-12-05 Microsoft Corp Improved system and method for reducing power consumption of network type battery-driven device using sensor

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5598187A (en) * 1993-05-13 1997-01-28 Kabushiki Kaisha Toshiba Spatial motion pattern input system and input method
US6100874A (en) * 1995-11-17 2000-08-08 Immersion Corporation Force feedback mouse interface
US6473713B1 (en) * 1999-09-20 2002-10-29 American Gnc Corporation Processing method for motion measurement
CN1275718A (en) * 2000-04-25 2000-12-06 黄松柏 High speed self adaptable acceleration and slope measuring sensor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5898421A (en) * 1990-03-21 1999-04-27 Gyration, Inc. Gyroscopic pointer and method
US5181181A (en) * 1990-09-27 1993-01-19 Triton Technologies, Inc. Computer apparatus input device for three-dimensional information
US6208038B1 (en) * 1996-01-23 2001-03-27 Ocean Electro Systems Ltd. Electrical load management method and apparatus for a vessel
JP2003345476A (en) * 2002-04-17 2003-12-05 Microsoft Corp Improved system and method for reducing power consumption of network type battery-driven device using sensor

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10852846B2 (en) 2010-01-06 2020-12-01 Cm Hk Limited Electronic device for use in motion detection and method for obtaining resultant deviation thereof
US11698687B2 (en) 2010-01-06 2023-07-11 Cm Hk Limited Electronic device for use in motion detection and method for obtaining resultant deviation thereof
CN106959770A (en) * 2011-03-28 2017-07-18 曦恩体感科技股份有限公司 3D instruction devices and the method for the rotation of compensation 3D instruction devices

Also Published As

Publication number Publication date
CN101427570B (en) 2012-01-18
CN101427570A (en) 2009-05-06
CN1973316A (en) 2007-05-30
CN101256456B (en) 2015-12-02
CN101256456A (en) 2008-09-03

Similar Documents

Publication Publication Date Title
CN100440313C (en) Free space pointing devices with tilt compensation and improved usability
US10782792B2 (en) 3D pointing devices with orientation compensation and improved usability
US8072424B2 (en) 3D pointing devices with orientation compensation and improved usability
CN102566751B (en) Free space pointing devices and method
EP2337016B1 (en) Free space pointing devices with tilt compensation and improved usability
US10120463B2 (en) Determining forward pointing direction of a handheld device
US20050174324A1 (en) User interface devices and methods employing accelerometers
CN1942924A (en) User interface devices and methods employing accelerometers

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180606

Address after: Delaware

Patentee after: IDHL HOLDINGS, Inc.

Address before: American Maryland

Patentee before: HILLCREST LABORATORIES, Inc.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231102

Address after: Delaware

Patentee after: TAG-COMM Inc.

Address before: Delaware

Patentee before: IDHL HOLDINGS, Inc.