METHOD FOR USER CALIBRATION AND FOR THE MOVEMENT CORRECTION
OF AN INPUT DEVICE FOR INPUT OF DATA TO A COMPUTER, SUCH AS
POSITIONING OF A CURSOR ON A COMPUTER SCREEN
The present invention relates to a method for user calibration, a method of movement correction, a storage medium and an input device for the input of data to a computer, such as positioning of a cursor on a computer screen.
It is known that input devices, such as computer mice for the input of data to a computer e.g. cursor positioning data to a computer screen, involves some disadvantages, such as pains in fingers and hand wrist of the operator by frequent use. Moreover, the known devices require a considerable amount of space within the reach of the computer operator. Several attempts have been made to eliminate these defects, e.g. several attempts have been made to shape the computer mouse like a writing utensil.
Examples of such pen-like configurations are known from e.g. the German patent no. DE 39 00 622 Al, where the movement of a ball is registered by two rollers, the European patent application no. EP-A-0 413 606, where a computer mouse is combined with a writing pen containing ink and registering the angular rotation of the ball with a flow meter, and the international patent application no. WO-A 1-94/22071, wherein a track-ball primarily is described where the angular rotation of the ball is optically registered; however the possibility of a pen-like design is also mentioned.
These publications mention the possibility of configuring a computer input device as a pen, but are all based in the known technology concerning the transfer of positional data from a computer mouse to a computer. None of the disclosures mentions the fundamental difference in configuring the computer input device as a writing utensil,. That is the circumstance that the detection means - be it by rotation rollers, optical readings, flow measurement or other means of detection - in the known configurations of computer mice, track-balls and "pen-like" configurations are always implied to be orthogonally positioned relative to the plane, defined by a X- and a Y-direction, that the movements are to be registered in. Is the computer mouse somewhat inclined as it is moved in a certain
direction, e.g. "north to south" - away from or towards the user, an unrepresentative diagonal movement of the cursor on the screen will occur.
This phenomenon occurs by the known computer mice and non-track-ball solutions, and does only occur when the user angles the detection means of the computer mouse in relation to the X-Y plane. By an input device in the shape like a pen, the detection means are almost always angled, since the pen are naturally placed and used in a by the user preferred writing position. A computer input device configured like a pen exhibits precisely its many advantages by the fact that is can be used like a normal ball-point pen. However, by the known detection means and the associated driver software installed on the computers no compensation for erroneously detection by angling and inclination of the computer input device.
By the invention it is realised that there is a need for the provision of a system for correction of movement by an inclined movement of a computer input device in order to make utilisation of pen-like computer input devices possible in practise.
Initially, it is realised by the invention that in order to compensate for the error by the detection it is necessary for the correction system to know the writing position of the user.
The first aspect of the invention is a method for individual user calibration of an input device for the input of data to a computer through movement of the input device relative to an underlying surface for correction of movements of this input device by performing the following steps of guiding the input device in a user defined operative position in a predetermined calibration movement, detection and direct or indirect registration of the calibration movement as a detected movement in a to the input device connected registration unit, thereafter calculation of a correction representation for use by the correction of the deviation between the calibration movement and the detected movement, and storage of the calculated correction representation in a storage unit.
By this first aspect of the invention, there is provided a user calibration of an input device for the input of data to a computer, such as an input device for positioning of a cursor on a computer screen, whereby the computer input device can be adjusted according to the
preferred operational position of the user, such as the preferred writing position, by the movement of the input device in a calibration movement in a plane corresponding to the underlying surface, and that is defined in relation to a X- and a Y-direction and that a detection and registration of the calibration movement is carried out by the detection system of the input device, that is mounted in the housing of the input device.
By as described in claim 2, that the calculation of a correction representation involves determining the angular rotation of the input device so that a correction movement can be calculated that corresponds to the calibration movement, and whereby the movement of the cursor on the screen is in accordance with the actual movement of the input device, a particularly simple embodiment of the correction representation is provided. Here, the compensation is accomplished by calculating the angular rotation of the input device in relation to the plane in which the input device is moved.
By as described in claim 3, that the input device in the operative position is moreover held with an inclination angle in relation to the underlying surface an that this inclination angle is calculated and included in the correction representation, the preferred angular rotation as well as inclination angle of the operator is registered making it possible to compensate for errors of the detected movement due to these angular positions of the input device during operation.
By as described in claim 4, that the calibration movement is a linear movement of a predetermined length in a predetermined direction and where the detection of the calibration movement involves registration of a length and a direction for the detected movement and that a correction factor for the correction of the length of the detected movement is calculated by the computation of the correction representation, an advantageous method for user calibration of the computer input device, whereby the sensitivity of the input device can be regulated. In relation, it should be noticed that the length correction is specific to the construction of the input device and not user specific.
By as described in claim 5, that a determined correction representation is stored together with an assigned identification code and that a multiple of correction representations having different identification codes can be stored in the storage unit, it is possible to store
different preferred user writing positions for the computer input device, e.g. one preferred writing position for drawing, another for hand writing and yet another for cursor movement on the screen. The computer input device can likewise be pre-calibrated for more users.
The stored user calibrations could e.g. by a suitable key combination for instance on the computer input device be listed together with their given identification codes in a list on the computer screen, from where the preferred calibration can be chosen.
The invention further relates to a method of movement correction during the operation of an input device for input of data to a computer by performing a movement of the input device relative to a substrate, where a correction representation is stored in a storage unit arranged in connection with the input device, and by repeatedly performing the following steps of detecting the movement of the input device, computing a corrected movement and making use of the correction representation in such a way that the corrected movement essentially corresponds to the actual movement of the input device in relation to the substrate.
By a method of movement correction according to the invention the detected movement is transformed into cursor movement data that correspond to the actual movement of the input device. Hereby, a co-ordination between the operator's movement of the computer input device and the wanted activity on the associated computer screen.
By as described in claim 7, that the computing of the corrected movement involves correction for both the angular displacement and the inclination of the input device relative to the underlying surface, a compensation is carried out for a potential angular rotation of the input device in relation to a Z-axis that is orthogonal on the X-Y plane, in which the input device is moved in.
By as described in claim 8, that the length of the detected movement is calculated, and that the length of the detected movement is also corrected by making use of the length correction factor of the correction representation, the input device will automatically be corrected in the length direction. However, by the invention it is realised that this correction could also be accomplished by the manufacture of the input device. The length
correction might be necessary due to the design and the mutual outline of the individual components in the input device.
By as described in claim 9, that one or more correction representations have been stored in a storage medium in relation to the input device for by the performance of a method for user calibration, a comprehensive method for correction that as a whole can be implemented in a software solution in connection with the input device, either in a storage medium arranged in the input device or in a to the input device connected unit, such as a storage medium in the computer itself.
The invention further relates to a storage medium for intended use with a computer system comprising a CPU unit, a screen and an input device for the input of data to a computer, such as positioning of a cursor on a computer screen through movement of the input device relative to an underlying surface, said storage medium comprising a readable code, such as a driver software, for the performance of a method for user calibration according to the first aspect of the invention and/or a method of movement correction according the second aspect of the invention.
Consequently, software for movement correction of an input device is easy to store, preferably in connection with the regular type driver software for controlling an input device.
In a further aspect, the invention relates to an input device for input of data to a computer, such as positioning a cursor on a computer screen, comprising an elongated, substantively tubular housing, wherein detection means are mounted for registration of the movements of the input device at least in a plane corresponding to an underlying surface, and that said housing is provided with means for registration of relative movement between the input device and an underlying surface.
By the movement correction of a pen-shaped input device it is realised by the invention that in order for the correction of errors in the movement works satisfactory it is important that the input device, such as a computer pen, is not rotated in the hand of the operator during use.
In order to prevent a pen-like shaped input device from turning or rotating around its longitudinal axis, the elongated, substantively tubular housing is at least in a section provided with a rotary non-symmetrical cross-sectional shape.
Hereby a rotation of the input device in the hand of the operator is obstructed, which means that the movement correction is possible in practice, as it is not needed to take the pen rotation in the users hand into consideration by the movement correction. By a penlike shaped input device the tubular housing acts as a hand gripping for the operator. As the tubular housing is designed with a rotary non-symmetrical cross-sectional shape the input device will not unintentionally tend to rotate in the user's hand. This means that a satisfactory correction by a movement correction according to the method according to the other aspects of the invention is achieved.
It is by the invention realised that the methods for user calibration and for movement correction according to the present invention are applicable for use with conventional computer mice having a somewhat bulky shape fitting into the palm of a hand as well as pen-like shaped computer input devices, as long as the computer mouse has a shape obstructing unintended rotation in the operator's hand during use. In particular by cordless a computer mouse the present invention will offer an improvement with respect to the ergonomics involved in using the computer mouse, since by the present invention it is made possible to use a conventional computer mouse in an angular rotated position, i.e. rotated around the Z-axis perpendicular to the surface underneath.
The invention will be described more detail below with reference o the accompanying drawings, in which
fig. la-c displays the difference between the actual movement and the detected movement, fig. 2 is a schematic view of a computer system including an input device in the form of a so called computer pen moved in a particular direction, fig. 3 is a graphic representation of the movements by the guiding of the computer pen,
fig. 4 is a side view of a computer pen with an angle of inclination, fig. 5 and 6 show side view details of the position of the detection means in a computer pen, fig. 7 is a top view of the position of the detection means as shown in fig. 5, fig- 8-11 are further top views of the detection means in relation to the ball in the computer pen, fig- 12 is a graphic representation of the movement of the pen in relation to the orientation of the detection means, as shown in fig. 11, fig- 13 displays the computer system according to fig. 1 comprising a multiple of movements, fig- 14 is a flow chart for the performance of a method for user calibration according to the first aspect of the invention, fig- 15 is a flow chart for the performance of a method for movement correction according to the second aspect of the invention, and f fiigg.- 1 166 shows a preferred embodiment of the computer pen.
In figure 1 a to c the problem concerning cursor movement by a pen-like shaped input device, a so called computer pen 1, is displayed. The pen 1 comprises a ball 10 and detection means in the shape of detectors 11, 12 for measurement of the angular rotation of the ball 10 in two with each other perpendicular directions, since the detectors 11, 12 are arranged in such a way that they measure the movements of the ball in a X-axis and a Y- axis, respectively (see fig. 7 to 11). In fig. la a computer pen is shown that is held in such a very exact orientation in relation to the underlying surface which results that the detected direction of the movement DM corresponds to the actual direction of the movement AM.
In fig. lb the pen 1 is guided with an angle compared to the direction of movement AM, which results in an erroneous detected movement DM. The same erroneous detection can also occur when the pen 1 is rotated around its own longitudinal axis, as illustrated in fig. lc.
In fig. 2 is shown a computer pen 1 that for user calibration is moved in a calibration or initiating movement IM along a marking line or the like on a surface. This marking is in its most simple form a straight line with a well defined length and direction. The computer
pen 1 is guided in this initiation movement IM with an angular rotation φ and an angular inclination v. This detected movement DM is hereafter to be transformed to the actual movement AM so that the cursor 3 on the computer screen 2 undergoes a movement that corresponds to the actual movement of the pen.
The computer pen 1 is provided with detection means that detects the movements of the pen in a fixed X- and Y-direction. If the pen 1 all the time is held in the same angle φ, a constant angular displacement φ is present between the detected movement DM and the actual movement AM, which in relation to the user calibration is equal to the calibration movement. Moreover, the pen is held with a substantively constant angular inclination v.
The user calibration by a method according to the invention comprises accordingly a determination of the angles φ and v, or alternatively at least an algorithm for the correction representation.
The detected movement DM and the actual movement AM are represented by respectively (Xm, Ym) and (X, Y) as illustrated in fig. 3. The length £m of the detected movement DM is:
*m ~ * Xm + Ym
The length of the calibration movement IM is known as the movement is known. The length is defined as follows:
^ = V x2 + γ2 .
The length of the detected movement DM can be corrected so that it corresponds to the length of the calibration movement IM through determining of a length correction factor C,:
i l l*
In the following it is assumed that the movement length I is corrected or that the two lengths t, £m are equal, i.e.: £ = £m x Ct .
The angle a between the actual movement AM and the X-axis of the system of coordinates of underlying surface/the computer screen, and the angle b between the detected movement DM and this X-axis, are:
a = arccos (XI i) = arcsin (Y/£) = arctan (Y/X), and b = arccos (Xm/£) - arcsin (Y £) = arctan (Y_2Xm) .
The angle φ between the two movements can be determined, since:
φ = b - a
φ = arctan (Ym/Xm) - arctan (Y/X) .
This means that:
X = £ x cos a = £ x cos (b - φ) = £ x cos (arccos (XJ£) - φ) , and
Y = £ x sin a = £ x sin (b - φ) = £ x sin (arcsin Y £ ) - φ) , where £ = £m .
The correction representation CR for correction of the angular rotation φ is:
(X,Y) = f (Xm,Ym,φ) = £ x (cos (arccos (X £) - φ), sin (arcsin (Y £) - φ)) .
In the preferred embodiment of the invention, that is implemented in the driver software for the computer pen, the method for user calibration further comprises a compensation for the angle of inclination v of the pen. When the pen 1 is inclined relative to the underlying surface the detection means 11, 12 are being displaced relatively to the ball 10.
The detectors 11, 12 are in a preferred embodiment of the computer pen 1 positioned in such a way that the computer pen 1 by a certain inclination position the detectors vertically above the ball 10, see fig. 5. This inclination is called the natural inclination, shown by the pen In in fig. 4. In fig. 4 the pen la is the actual or true inclination. The compensation of
the inclination is a compensation of the difference between the actual inclination and the natural inclination. The angular size of this difference is v.
The detectors 11, 12 in the pen 1 is in a preferred embodiment orientated in such a way that the first detector 11 (the X-detector) is positioned such that it detects in a plane corresponding to the longitudinal axis 13n (or 13 a) of the pen 1. The second detector 12 (the Y-detector) measures in a similar way the angular rotation of the ball in a plane perpendicular to this longitudinal plane. This position of the detectors 11, 12 means that movement in the X-direction is insensitive to the inclination of the pen and all movement in the Y-direction of the detection is fully influenced (see fig. 5 to 7).
Consequently, the compensation factors for the inclination v are:
- in the X-direction: 1, and
- in the Y-direction: 1/cos v .
This means that a corrected movement CM has the following relation with the detected movement DM:
CM = (Xm.,Ym.) = (Xm, Y^cos v) .
By the user calibration the angle of inclination v is determined by the guidance of the pen 1 through the initiating movement IM by the following calculation:
v = arccos ( Y V 1 - Xm ) , as the length of the movement is taken to have the unitary value of 1.
This results in that the compensation representation CR for movement correction for both angular rotation and inclination of the pen according to this preferred method for user calibration according to the invention is:
(X,Y) = f (Xm,Ym-,φ) = f (Xm,Ym,φ,v)
= £ x (cos (arccos (XJ£) - φ), sin (arcsin {YJ(£ x cos v)) - φ)) .
The orientation of the detectors in relation to the direction of the pen is given by the angle β. By the above compensation the detectors 11, 12 are positioned in relation to the pen 1 in such a way that the angle β is 0. This situation is shown in fig. 8 and fig. 10 where the detectors 11, 12 are shown in relation to the ball 10 with β = 0.
Alternatively, the detectors 11, 12 could be positioned with an arbitrary orientation relative to the pen direction, i.e. β ≠ 0. The angle β is a characteristic of the pen 1 that is not user dependent. This means that the value of the angle β can be measured directly on the pen and is thus known. This is illustrated in figures 9 and 11. This results in that the system of co-ordinates (Xd,Yd) in which the detection is carried out is different from the system of co-ordinates (XP,YP) of the pen, as shown in fig. 12.
In the figure 12 is shown that the detected movement has a direction with an angle α in relation to the X-axis of the orientation of the detectors. Thus, the angle relative to the X- axis of the pen is α + β .
By the inclination v of the pen 1 the measurements are still unaffected in the x-direction of the pen, i.e. ot + β = 0 and cos v perpendicular to this. The corrected movement CM can be expressed as:
Ym. = Ym x (1 - ((1 - cos v)(sin (α + β)))) , and
Xm' - Xm x (1 - ((1 - cos v)(sin (α + β)))), where α = arcsine (Ym/Xm) •
By using these algorithms for correction of the inclination v, the following correction representation CR for the movement correction according to the invention of a computer pen having an arbitrary orientation of the detectors in relation to the direction of the pen:
(X,Y) = f(Xm,Ym.,φ) = f (Xm,Ym,φ,v) = £ x (cos (arccos ((Xm x (1 - ((1 - cos v)(sin (α + β)))))/ ) - φ), sin (arcsine ((Ym x (1 - ((1 - cos v)(sin (α + >)))))/(£ x cos v)) - φ)) .
By the correction representation CR an algorithm is provided for use for movement correction of the detected movement DM so that this movement is corrected in such as way that it substantively corresponds to the actual movement AM, so that the movement of the cursor on the computer screen 2 corresponds to the movement of the computer pen relative to the underlying surface.
The correction representation CR is stored in connection with the pen 1, preferably in the storage unit of the computer together with the driver software for the control of the pen, for the performance of the methods according to the invention. Alternatively, a correction software could be stored directly in the pen 1, so that the signals that are transmitted to the computer unit involves corrected signals.
During the use of the computer pen 1 for screen work a repeated movement correction is carried out, so that the cursor movements on the screen continuously follows the movements of the pen. As illustrated in principle in fig. 13, a first detected movement DMi is made which is corrected, as shown by CRi. Then a similar correction CR2 is done for the second detected movement DM2, whereby the actual movement of the pen 1 and the movement of the cursor basically correspond to each other.
In fig. 14 is shown a flow chart for a preferred embodiment of a method for user calibration according to the invention, where the user initially guide the computer pen 1 along a calibration movement IM (see also fig. 2). Hereby the calibration movement EM is detected by 101. Then a calculation of the angular rotation φ is carried out by 102 using the known data 104 about the calibration movement. Then a calculation 105 of the inclination angle v is done. Moreover, the system is provided with a possibility for determining a length correction by calculating the length £m by 103 and calculating the correction factor C, by 112. Finally, the correction representation CR is stored by 106. The correction representation CR can either be stored as an algorithm or as a set of calculated correction factors depending on the kind of data the repeating correction system is prepared for.
In fig. 15 is shown a flow chart for the movement correction by use of the computer pen 1 (see also fig. 13). The user moves the computer pen 1 relative to a substrate by 107. This movement is measures by a detection of the actual movement AM by 108. On this basis,
the actual movement is calculated by 109 making use of the correction representation found by the user calibration. The cursor on the screen of the computer is moved according to the calculated actual movement, as indicated by 110.
As indicated by the arrow I l i a repetition of the movement correction is being executed. This repetition is carried out with a suitable large frequency of the detections of the movement, resulting in a frequent update of the position of the cursor on the computer screen.
In fig. 16 a preferred embodiment of the design of the computer pen 1 is shown. It comprises a substantially tubular housing 16 that at its lower end is provided with a ball 10. This housing 16 is shaped with a concave surface 17 that acts as a finger grip. This surface has this essential significance for the movement correction that the pen 1 as a result of this non-symmetrical cross-section cannot rotate in the hand of the user during operation. Hereby the erroneous detection as shown in fig. lc is avoided, as the detection means 11, 12 otherwise would be able to rotate around the longitudinal axis 13 of the pen.
At the opposite side of the finger grip 17, the housing 16 is provided with preferably two buttons 14 for user initiated data input to the computer. The pen 1 is furthermore provided with a clip 15 for the ease of storing the pen 1 when it is not in use. Moreover, the clip 15 will in itself be able to obstruct the unwanted rotation in the hand.
List of signatures:
IM Initiating Movement / calibration movement
AM Actual Movement, where AM = (X , Y)
DM Detected Movement, where DM = (Xm , Ym)
CM Corrected Movement, where CM = (Xm- , Ym')
CR Correction Representation, where
CR = f(Xm,Ym.,φ), f(Xm,Ym,v,φ) or f(Xm,Ym,v,φ,Cf)
a Angle between the X-axis and the vector of the detected movement
b Angle between the X-axis and the vector of the actual movement
φ Angular rotation ; φ = b - a
v Angular inclination ; v = va - vn
va the natural angle of inclination (that the pen is prepared with)
vn the actual angle of inclination
α the detected movement relative o the system of co-ordinates of the detection means
β Angle of the direction of the detection means (the system of co-ordinates of the
detection means (Xd,Yd)) relative to the direction of movement
£ length of the calibration movement
£m length of the detected movement
C( length correction factor