CN103049101B - The method of positioning pointer position, system and equipment - Google Patents

The method of positioning pointer position, system and equipment Download PDF

Info

Publication number
CN103049101B
CN103049101B CN201210521174.3A CN201210521174A CN103049101B CN 103049101 B CN103049101 B CN 103049101B CN 201210521174 A CN201210521174 A CN 201210521174A CN 103049101 B CN103049101 B CN 103049101B
Authority
CN
China
Prior art keywords
factor
coordinate system
control device
current moment
attitude
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
CN201210521174.3A
Other languages
Chinese (zh)
Other versions
CN103049101A (en
Inventor
黄炜
汪沁
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.)
SHANGHAI FLYDIGI ELECTRONICS TECHNOLOGY Co Ltd
Original Assignee
SHANGHAI FLYDIGI ELECTRONICS TECHNOLOGY Co Ltd
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 SHANGHAI FLYDIGI ELECTRONICS TECHNOLOGY Co Ltd filed Critical SHANGHAI FLYDIGI ELECTRONICS TECHNOLOGY Co Ltd
Priority to CN201210521174.3A priority Critical patent/CN103049101B/en
Publication of CN103049101A publication Critical patent/CN103049101A/en
Application granted granted Critical
Publication of CN103049101B publication Critical patent/CN103049101B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Manipulator (AREA)

Abstract

The invention provides a kind of method of positioning pointer position, system and equipment.According to method of the present invention, first estimate the first attitude factor of described hand-control device under the second coordinate system based on 3-axis acceleration under the first coordinate system of the hand-control device of steering needle and three axis angular rates, distribute to estimate the second attitude factor of described hand-control device under the second coordinate system based on described three axis angular rates and three axle earth magnetism, and estimate the 3 d pose of described hand-control device under the second coordinate system based on the described first attitude factor and the second attitude factor; Again the 3 d pose of described hand-control device under the second coordinate system is mapped to two-dimensional space to determine the positional information of described pointer subsequently, the pointer that can realize the hand-control device by taken away from desktop controls accurately is located thus.

Description

Method, system and equipment for positioning pointer position
Technical Field
The present invention relates to the field of electronics, and in particular, to a method, system, and device for locating a pointer.
Background
Currently, most of the mice in the market rely on an optical sensor or a laser sensor to realize cursor positioning, and the mouse needs to be placed on a desktop or other planes, and then an operator moves the mouse, so that a pointer is controlled. With the popularization of large-screen display equipment, the integration of three networks of products such as televisions, set-top boxes and the like, the televisions, the set-top boxes and the like carry more interactive contents, at the moment, users put higher requirements on a pointer control mode, the control mode is expected to be more convenient, fast and free, and the mouse cursor is directly positioned by a controller which is freely moved in a three-dimensional space without the help of a desktop or other planes. For example, a mouse cursor is positioned based on the pointing position of the controller to the screen in three-dimensional space so that the movement of the mouse and the position of the controller to the screen remain the same, thus making an updated requirement for the positioning of the pointer controlled by the mouse.
For this reason, many researchers have developed some inertial sensor cursor control devices, and for example, U.S. patent document "gyroscopic pointerside method" with patent number 5898421 proposes to construct a spatial indicator with a X, Y two-axis gyroscope. For another example, U.S. patent No. 2008291163a1, "3 dpoingtdeviceswithorietationmodeandsimplusabilityaand U.S. patent No. 2009326857a1," hand heldpoingtdevicewithrolcombination "both propose to construct an airborne pointing positioner using an architecture of gyroscopes and accelerometers. Wherein X, Y, Z a three-axis accelerometer is used to compensate for tilt that occurs when the positioner is held in a hand. The solutions proposed in the above patents only rely on the angular velocity value obtained by the gyroscope or the acceleration value obtained by the accelerometer in cooperation with the angular velocity value to calculate the position of the cursor, and only the relative position of the cursor movement can be calculated, but the absolute position of the cursor in the screen cannot be calculated, so that the absolute corresponding relationship between the pointing direction of the cursor and the position of the screen cannot be established. For another example, US8032324B1 proposes to calculate the absolute position of the mouse cursor using the geomagnetic distribution value in combination with the acceleration value or the angular velocity value. However, in this type of patent, the geomagnetic distribution value and the acceleration value (or the angular velocity value) are combined and put in a model to calculate the attitude of the control device, and since the geomagnetic distribution value and the acceleration value are two parameters that are not related to each other, the combination and put in a model to calculate the attitude of the control device may cause a large deviation in the positioning of the cursor.
For the inertial sensor cursor control device, how to accurately estimate the posture and the motion track of the cursor control device in space in real time because a user moves the control device to position a cursor in the air instead of on a desktop, so that the pointing direction of the control device is kept consistent with the absolute position of a screen cursor, and the input device positioned by the inertial sensor obtains good user experience, which is a problem to be solved by technical personnel in the field.
Disclosure of Invention
In view of the above-mentioned shortcomings of the prior art, the present invention provides a method, system and device for locating a pointer to achieve precise location of the pointer.
To achieve the above and other related objects, the present invention provides a method for locating a pointer, comprising:
1) estimating a first attitude factor of a hand control device in a second coordinate system based on a triaxial acceleration and a triaxial angular velocity of the hand control device in a first coordinate system for controlling a pointer, estimating a second attitude factor of the hand control device in the second coordinate system based on the triaxial angular velocity and a triaxial geomagnetic distribution in the first coordinate system, and estimating a three-dimensional attitude of the hand control device in the second coordinate system based on the first attitude factor and the second attitude factor;
2) and mapping the three-dimensional posture of the hand control device in a second coordinate system to a two-dimensional space to determine the position information of the pointer.
The invention also provides a positioning system for positioning the position of the pointer, which at least comprises:
the attitude determination module is used for estimating a first attitude factor of the manual control device in a second coordinate system based on three-axis acceleration and three-axis angular velocity of the manual control device for controlling a pointer in the first coordinate system, estimating a second attitude factor of the manual control device in the second coordinate system based on the three-axis angular velocity and three-axis geomagnetic distribution in the first coordinate system, and estimating a three-dimensional attitude of the manual control device in the second coordinate system based on the first attitude factor and the second attitude factor;
and the pointer position calculation module is used for mapping the three-dimensional posture of the manual control device in a second coordinate system to a two-dimensional space to determine the position information of the pointer.
The invention also provides intelligent equipment which at least comprises the positioning system.
As described above, the method, system and device for locating the position of the pointer of the present invention have the following advantages: accurate absolute positioning of the pointer controlled by a hand control that is off the table top can be achieved.
Drawings
FIG. 1 is a flow chart of a preferred method of locating a pointer position according to the present invention.
Fig. 2 shows a schematic view of the hand control and the first coordinate system.
FIG. 3 shows a second coordinate system and attitude angle θ,Schematic representation.
FIG. 4 is a flow chart of another preferred method of locating the position of the pointer according to the present invention.
Fig. 5 is a flow chart of a preferred method of locating the position of the pointer according to the present invention.
FIG. 6 is a schematic diagram of a preferred positioning system for positioning the position of a pointer according to the present invention.
FIG. 7 is a schematic diagram of another preferred positioning system for positioning the position of a pointer according to the present invention.
FIG. 8 is a schematic diagram of another preferred positioning system for positioning the position of a pointer according to the present invention.
Description of the element reference numerals
1 positioning system
11 attitude determination module
111 first estimation module
112 second estimation Module
113 third estimation module
114 fourth estimation module
111' first determination module
112' second determination Module
113' third determining module
114' fourth determination Module
12 pointer position calculation module
S1, S2, S11-S15, S11' -S15
Detailed Description
The embodiments of the present invention are described below with reference to specific embodiments, and other advantages and effects of the present invention will be easily understood by those skilled in the art from the disclosure of the present specification. The invention is capable of other and different embodiments and of being practiced or of being carried out in various ways, and its several details are capable of modification in various respects, all without departing from the spirit and scope of the present invention.
Please refer to fig. 1 to 8. It should be noted that the drawings provided in the present embodiment are only for illustrating the basic idea of the present invention, and the components related to the present invention are only shown in the drawings rather than drawn according to the number, shape and size of the components in actual implementation, and the type, quantity and proportion of the components in actual implementation may be changed freely, and the layout of the components may be more complicated.
As shown in FIG. 1, the present invention provides a method for locating a pointer. The method according to the present invention is mainly accomplished by a positioning system, including but not limited to a system such as an application module, an operating system, a processing controller, etc. installed in a smart device and capable of implementing the solution of the present invention. Wherein, this smart machine includes but not limited to: a hand control for positioning the pointer, a computer device, etc. The hand control comprises means for controlling the displayed position of the pointer based on manipulation by an operator, preferably including but not limited to: a mouse, a remote controller, a gamepad, etc. The computer devices include, but are not limited to: personal computers, smart televisions, set-top boxes, and the like. The pointer includes a pointer, a cursor, or the like displayed on a display device such as a display screen of a computer or a television.
In step S1, the positioning system estimates a first attitude factor of the hand control in the second coordinate system based on the three-axis acceleration and the three-axis angular velocity of the hand control controlling the pointer in the first coordinate system, estimates a second attitude factor of the hand control in the second coordinate system based on the three-axis angular velocity and the three-axis geomagnetic distribution in the first coordinate system, and estimates the three-dimensional attitude of the hand control in the second coordinate system based on the first attitude factor and the second attitude factor.
The first coordinate system is a coordinate system established according to the vertical, horizontal, front-back directions of the manual control device. For example, as shown in fig. 2, the left-right direction of the control surface of the hand control shown in the figure is the X-axis of the first coordinate system, the front-back direction of the control surface is the Y-axis of the first coordinate system, and the up-down height direction of the hand control is the Z-axis, wherein the right direction is the positive X-axis direction, the left direction is the negative X-axis direction, the front direction is the positive Y-axis direction, the back direction is the negative Y-axis direction, the up direction is the positive Z-axis direction, and the down direction is the negative Z-axis direction.
Wherein the second coordinate system is a coordinate system established according to the earth system where the display device is placed, for example, as shown in fig. 3, when the display screen 122 of the display device 120 for displaying the pointer is placed perpendicular to the earth surface, the width direction of the display device is the X-axis and the height direction of the second coordinate system is the Y-axis of the second coordinate system.
The three-axis acceleration of the manual control device in the first coordinate system is obtained by sensing the acceleration in the X direction, the Y direction and the Z direction of the first coordinate system to which the manual control device belongs through a three-axis accelerometer arranged in the manual control device, and the angular velocity of the manual control device in the first coordinate system is obtained by sensing the angular velocity in the X direction, the Y direction and the Z direction of the first coordinate system to which the manual control device belongs through a three-axis gyroscope arranged in the manual control device. The three-axis geomagnetic distribution is obtained by sensing the magnetic field intensity in the X direction, the Y direction and the Z direction of a first coordinate system to which the three-axis magnetometer arranged in the manual control device belongs by the three-axis magnetometer
Wherein the three-dimensional attitude of the hand control in the second coordinate system is typically in degrees, e.g. pitch angle θ, roll angleAnd yaw angle y, as shown in fig. 3. In the figure, the directions indicated by the broken lines of the hand control unit correspond to the directions of one directional axis in the second coordinate system.
Preferably, the positioning system estimates a first attitude factor of the hand control device in a second coordinate system directly based on the three-axis acceleration and the three-axis angular velocity of the hand control device controlling the pointer in a first coordinate system at the current time and the three-dimensional attitude of the hand control device in a predetermined time before the current time, and estimates a second attitude factor of the hand control device in the second coordinate system based on the three-axis angular velocity of the current time, the three-axis geomagnetic distribution, and the three-dimensional attitude of the hand control device in the predetermined time before the current time; and then estimating the three-dimensional posture of the hand control device under a second coordinate system based on the first posture factor and the second posture factor.
Next, in step S12, the positioning system maps the three-dimensional pose of the hand control in the second coordinate system to a two-dimensional space to determine the position information of the pointer.
Specifically, the positioning system is based on a pitch angle theta (t) and a roll angle of the manual control device in a second coordinate system at the current momentAnd pitch angle θ (t) and yaw angle γ (t) in yaw angle γ (t), and pitch angle θ (0) and yaw angle γ (0) at the center of the corresponding display screen to which the initial three-dimensional attitude of the hand control is directed, the position information (x, y) of the pointer is determined according to the following formula:
x=(θ(t)-θ(0))×scale;
y=(γ(t)-γ(0))×scale;
wherein scale is a predetermined scale factor that determines the sensitivity of the pointer.
Fig. 4 shows another preferred flow chart of the method of locating a pointer position of the present invention.
In step S11, the positioning system estimates a first pose factor of the hand control in the second coordinate system based on the three-axis acceleration of the hand control at the current time, and uses the obtained first pose factor as a first observation factor at the current time.
Wherein said first attitude factor comprises any attitude factor that can be used to determine the three-dimensional attitude (i.e. pitch angle theta, roll angle) of the hand control in the second coordinate systemAnd yaw angle γ).
For example, the positioning system is based on the three-axis acceleration g of the hand control at the current momentx(t)、gy(t)、gz(t) estimating the first attitude in the following mannerAnd taking the obtained first attitude factor as a first observation factor G1(t) at the current moment:
G 1 ( t ) = G 1 x ( t ) G 1 y ( t ) G 1 z ( t ) = g x ( t ) g y ( t ) g z ( t ) / g xyz ( t )
wherein,;gx(t) is the acceleration of the hand control in the first direction axis direction of the first coordinate system at the present moment, gy(t) is the acceleration of the hand control in the second direction axis direction of the first coordinate system at the present moment, gzAnd (t) is the acceleration of the manual control device in the third direction axis direction of the first coordinate system at the current moment.
It should be noted that the skilled person will understand that the above illustration is only an example and not a limitation of the invention, and that in fact any way of estimating the first pose factor based on the three-axis acceleration of the hand control at the present moment is included within the scope of the invention.
In step S12, the positioning system estimates a first posture factor of the hand control at the current time based on a first a-priori estimation factor of the hand control in the second coordinate system at a time immediately before the current time and the three-axis angular velocity of the hand control at the current time, and uses the obtained first posture factor as the first a-priori estimation factor at the current time.
Specifically, the positioning system estimates a first attitude factor of the hand control at the current time by using a first prediction function L1(G3(t-1), r (t)) based on a first a-posteriori estimation factor G3(t-1) of the hand control at a second coordinate system at a previous time of the current time and a three-axis angular velocity r (t) of the hand control at the current time, and uses the obtained first attitude factor as a first a-priori estimation factor G2(t) of the current time.
The first prediction function L1(G3(t-1), r (t)) is any function capable of estimating the first a priori estimation factor G2(t) based on the first a posteriori estimation factor G3(t-1) and the three-axis angular velocity r (t), and preferably, the first prediction function L1(G3(t-1), r (t)) may take the form:
G 2 ( t ) = G 2 x ( t ) G 2 y ( t ) G 2 z ( t ) = L 1 ( G 3 ( t - 1 ) , R ( t ) ) G 3 x ( t ) G 3 y ( t ) G 3 z ( t ) * M 1 ( α ) ,
wherein, G3x(t-1)、G3y(t-1)、G3z(t-1) first a posteriori estimates of the three directional axis directions of the hand control in the second coordinate system determined at a previous time before the current time, M1(α) is a first rotation variation matrix,
M 1 ( α ) = cos ( α y ) cos ( α z ) - cos ( α x ) sin ( α z ) + sin ( α x ) sin ( α y ) cos ( α z ) sin ( α x ) sin ( α z ) + cos ( α x ) sin ( α y ) cos ( α z ) cos ( α y ) sin ( α z ) cos ( α x ) cos ( α z ) + sin ( α x ) sin ( α y ) sin ( α z ) - sin ( α x ) cos ( α z ) + cos ( α x ) sin ( α y ) sin ( α z ) - sin ( α y ) sin ( α x ) cos ( α y ) cos ( α x ) cos ( α y ) due to αxRepresenting the angle of rotation of the hand control around the X-axis in the first coordinate system from the previous moment to the present moment, with a value equal to the angular velocity R measured by the angular velocity meter in the left or right direction of the hand control at the present momentx(t),αyRepresenting the angle of rotation of the hand control around the Y-axis in the first coordinate system from the previous moment to the present moment, with a value equal to the angular velocity R in the front or rear direction of the hand control measured by the angular velocity meter at the present momenty(t),αzRepresenting the angle of rotation of the hand control around the Z-axis in the first coordinate system from the previous moment to the present moment, with a value equal to the angular velocity R in the up or down direction of the hand control measured by the angular velocity meter at the present momentz(t) in the presence of a catalyst, therefore, M 1 ( α ) =
cos ( R y ( t ) ) cos ( R z ( t ) ) - cos ( R x ( t ) ) sin ( R z ( t ) ) + sin ( R x ( t ) ) sin ( R y ( t ) ) cos ( R z ( t ) ) sin ( R x ( t ) ) sin ( R z ( t ) ) + cos ( R x ( t ) ) sin ( R y ( t ) ) cos ( R z ( t ) ) cos ( R y ( t ) ) sin ( R z ( t ) ) cos ( R x ( t ) ) cos ( R z ( t ) ) + sin ( R x ( t ) ) sin ( R y ( t ) ) sin ( R z ( t ) ) - sin ( R x ( t ) ) cos ( R z ( t ) ) + cos ( R x ( t ) ) sin ( R y ( t ) ) sin ( R z ( t ) ) - sin ( R y ( t ) ) sin ( R x ( t ) ) cos ( R y ( t ) ) cos ( R x ( t ) ) cos ( R y ( t ) )
it should be noted that the skilled person will understand that the above illustration is only an example and not a limitation of the invention, and in fact any way of estimating the first pose factor based on the first a posteriori estimation factor of the hand control in the second coordinate system at the time previous to the current time and the three-axis angular velocity of the hand control at the current time is included in the scope of the invention.
Next, in step S13, the positioning system estimates a first pose factor of the hand control in the second coordinate system based on the first observation factor and the first a priori estimation factor of the current time of the hand control and the related information, and uses the obtained first pose factor as a first a posteriori estimation factor of the current time.
Wherein the relevant information comprises information relating to the pose factor of the hand control estimating the current moment in addition to the first observed factor and the first a priori estimated factor at the current moment, preferably including, but not limited to, at least one of: i) triaxial acceleration at the current moment and within a predetermined time before the current moment; ii) the triaxial angular velocity at and within a predetermined time before the current time; iii) triaxial geomagnetic distributions at and in a predetermined time before the current time; iv) a first observation factor in a predetermined time before the current time instant; v) a first a priori estimation factor in a predetermined time before the current time instant; vi) a second observation factor (stated later) within a predetermined time before the current time; vii) a second a priori estimation factor (stated later) within a predetermined time before the current time instant, etc.
Specifically, the positioning system determines a first attitude factor of the current moment of the hand control device in a second coordinate system by using a first fusion function based on a first observation factor and a first a priori estimation factor of the current moment of the hand control device and related information, and uses the obtained first attitude factor as a first a posteriori estimation factor G3(t) of the current moment.
The first fusion function includes any one of the functions with the observation factor G1(t), the prior estimation factor G2(t) and the related information at the current time as independent variables and the posterior estimation factor G3(t) at the current time as dependent variables.
For example, when the related information includes three-axis acceleration values and three-axis angular velocity values at and in a predetermined time before the current time, a preferred first fusion function is as follows:
g3(t) = G2(t) + β 1(t) (G1(t) -G2 (t))), wherein β 1(t) is a scale factor that can be determined using iterative operations that fit the principle of minimizing the mean square error of the first a posteriori estimation factores(t)=Q(t-1)+Z(t),β1(t)=Qes(t)/(Qes(t)+N(t)),Q(t)=(I-β1(t))*Qes(t), wherein Q is the mean square error of the first a posteriori estimation factor G3 (t); qes(t) is the mean square error of the first a priori estimation factor G2 (t); z (t) is the mean square error of the measured value of the angular velocity sensor, the value is related to the selection of the angular velocity sensor, a value model can be obtained by pre-calculation according to experience, and the value model can be a function taking the triaxial acceleration value and the triaxial angular velocity value as dependent variables; n (t) of measurements from acceleration sensorsThe mean square error is related to the selection of the acceleration sensor, a value model can be obtained through pre-calculation according to experience, and the value model can also be a function with triaxial acceleration values and triaxial angular velocity values as dependent variables; and I is a unit array.
For another example, when the related information includes the first observation factors G1(t-1), G1(t-2), …, G1(t-n), and the first a priori estimation factors G2(t-1), G2(t-2), …, G2(t-n) before the current time, a preferred first fusion function is as follows:
G 3 ( t ) = G 2 ( t ) + Σ t - n t ( G 1 ( x ) - G 2 ( x ) ) / n
for another example, when the related information includes three-axis acceleration at the current time and within a predetermined time before the current time, a preferred first fusion function is as follows:
g3(t) = G2(t) + μ (t) (G1(t) -G2 (t)); wherein, mu (t) is a scale factor, and can be taken as a value according to the current moment and the change amplitude of the triaxial acceleration in a preset time before the current moment, and the determination principle of mu (t) is as follows: the larger the change width of the triaxial acceleration, the closer to 0 μ (t), and the smaller the change width of the triaxial acceleration, the closer to 1 μ (t), for example, μ (t) = a max (E (g)x),E(gy),E(gz) Wherein E (g)x),E(gy),E(gz) The first coordinate system is a first coordinate system, and the second coordinate system is a second coordinate system, and the third coordinate system is a third coordinate system.
It should be noted that, when the related information is other than the above listed information, a person skilled in the art should understand the fusion function corresponding to each other situation based on the above listed information, and therefore, the detailed description is omitted here. It should be noted that the skilled person will understand that the above-mentioned illustration is only an example and not a limitation of the present invention, and that in fact any way of determining the first pose factor of the hand control in the second coordinate system based on the first observed factor and the first a priori estimated factor of the hand control at the present moment and the relevant information is within the scope of the present invention.
In step S14, the positioning system estimates a second attitude factor of the hand control in a second coordinate system based on the three-axis angular velocities and the three-axis geomagnetic distribution.
Preferably the positioning system estimates a second attitude factor N4(t) of the hand control in a second coordinate system based on the three-axis angular velocity r (t), the three-axis geomagnetic distribution N (t), and the three-dimensional attitude of the hand control within a predetermined time before the current time.
Next, in step S15, the positioning system determines the three-dimensional pose of the hand control in the second coordinate system at the current time based on the first a posteriori estimation factor and the second pose factor at the current time of the hand control.
Next, the positioning system performs step S2, which is not described in detail herein since step S2 is described in detail in the embodiment of FIG. 1 and is incorporated by reference.
It should be noted that steps S11 and S12 are not in sequence, for example, step S12 is performed before step S11, and for example, steps S11 and S12 are performed simultaneously.
Fig. 5 shows a further preferred flow chart of the method of locating a pointer position of the present invention.
In step S11', the positioning system estimates a second attitude factor of the hand control in the second coordinate system based on the triaxial geomagnetic distribution at the current time, and takes the obtained second attitude factor as a second observation factor at the current time.
Wherein said second attitude factor comprises any attitude factor that can be used to determine the three-dimensional attitude (i.e. pitch angle theta, roll angle) of the hand control in the second coordinate systemAnd yaw angle γ).
In particular, the positioning system directly estimates the magnetometric distribution N (t) of the current position of the hand control obtained by the measurements from the magnetometer triads as the second attitude factor of the hand control in the second coordinate system, and takes the obtained second attitude factor as the observed magnetometric distribution N1(t), i.e. N1(t) = N (t).
In step S12', the positioning system estimates a second pose factor of the hand control in the second coordinate system at the current time based on a second a-posteriori estimation factor of the hand control in the second coordinate system at the previous time of the current time and the three-axis angular velocity of the hand control at the current time, and uses the obtained second pose factor as a second a-priori estimation factor of the current time.
Specifically, the positioning system estimates a second attitude factor of the hand control in the second coordinate system at the current time by using a second prediction function L2(N3(t-1), r (t)) based on a second a-priori estimation factor N3(t-1) of the hand control in the second coordinate system at the previous time of the current time and a triaxial angular velocity r (t) of the hand control at the current time, and uses the obtained second attitude factor as a second a-priori estimation factor N2(t) of the current time.
The second prediction function L2(N3(t-1), r (t)) is any function capable of estimating the second a priori estimation factor N2(t) at the current time based on the second a posteriori estimation factor N3(t-1) and the triaxial angular velocity r (t), and preferably, the second prediction function L2(N3(t-1), r (t)) may take the form of:
N 2 ( t ) = N 2 x ( t ) N 2 y ( t ) N 2 z ( t ) = L 2 ( N 3 ( t - 1 ) , R ( t ) ) N 3 x ( t ) N 3 y ( t ) N 3 z ( t ) * M 2 ( α ) ,
wherein, N3x(t-1)、N3y(t-1)、N3z(t-1) second posterior estimation factors representing three directional axis directions in a second coordinate system determined at a previous time before the current time, M3(α) is a second rotation variation matrix, N 2 ( α ) = M 1 ( α ) =
cos ( R y ( t ) ) cos ( R z ( t ) ) - cos ( R x ( t ) ) sin ( R z ( t ) ) + sin ( R x ( t ) ) sin ( R y ( t ) ) cos ( R z ( t ) ) sin ( R x ( t ) ) sin ( R z ( t ) ) + cos ( R x ( t ) ) sin ( R y ( t ) ) cos ( R z ( t ) ) cos ( R y ( t ) ) sin ( R z ( t ) ) cos ( R x ( t ) ) cos ( R z ( t ) ) + sin ( R x ( t ) ) sin ( R y ( t ) ) sin ( R z ( t ) ) - sin ( R x ( t ) ) cos ( R z ( t ) ) + cos ( R x ( t ) ) sin ( R y ( t ) ) sin ( R z ( t ) ) - sin ( R y ( t ) ) sin ( R x ( t ) ) cos ( R y ( t ) ) cos ( R x ( t ) ) cos ( R y ( t ) )
it should be noted that the skilled person in the art will understand that the above illustration is only an example and not a limitation of the invention, and in fact any way of estimating the second a priori estimation factor of the hand control at the present moment based on the second a posteriori estimation factor of the hand control at the moment before the present moment and the three-axis angular velocity of the hand control at the present moment is included in the scope of the invention.
Next, in step S13', the positioning system estimates a second pose factor of the hand control in a second coordinate system based on the second observed factor and the second a priori estimated factor of the current time of the hand control and the related information, and uses the obtained second pose factor as a second a posteriori estimated factor of the current time.
The related information is described in detail in the embodiment shown in fig. 4, and is included by reference, which is not described in detail herein.
Specifically, the positioning system estimates a second attitude factor of the hand control device in a second coordinate system at the current time by using a second fusion function based on a second observation factor N1(t), a second a priori estimation factor N2(t) and related information at the current time of the hand control device, and uses the obtained second attitude factor as a second a posteriori estimation factor N3(t) at the current time.
Wherein the second fusion function comprises any function with the second observation factor N1(t), the second a priori estimate factor N2(t) as independent variables and the second a posteriori estimate factor N3(t) as dependent variables at the current moment of the hand control.
For example, when the relevant information includes the three-axis angular velocity at the current time and within a predetermined time before the current time, a preferred second fusion function is as follows:
N3(t)=N2(t)+β2(N1(t)-N2(t)),
where β 2 is a scale factor determined by the angular velocity r (t) at the present time, and β 2 is closer to 1 as the angular velocity r (t) is larger, whereas β 2 is closer to 0.
In step S14', the positioning system estimates a first pose factor of the hand control in a second coordinate system based on the three-axis acceleration and the three-axis angular velocity of the hand control in a first coordinate system controlling the pointer.
Preferably, the positioning system estimates a first pose factor G4(t) of the hand control in the second coordinate system directly based on the three-axis acceleration G (t) and three-axis angular velocity r (t) of the hand control controlling the pointer in the first coordinate system and the three-dimensional pose of the hand control in a predetermined time before the current time.
Next, in step S15', the positioning system determines the three-dimensional pose of the hand control in the second coordinate system based on the first pose factor and a second a posteriori estimation factor for the current time.
Preferably, the positioning system estimates the three-dimensional pose (θ (t)) of the hand control at the current moment in time in the second coordinate system based directly on the first pose factor G4(t) and the second a posteriori estimation factor N3(t) at the current moment in time,、γ(t))。
More preferably, the positioning system determines the three-dimensional pose (θ (t)) of the hand control in the second coordinate system at the current moment of time based on the first a posteriori estimation factor G3(t) and the second a posteriori estimation factor N3(t) of the current moment of time of the hand control determined in the previous step S13,、γ(t))
Specifically, the positioning system determines the three-dimensional attitude (theta (t)) of the hand control device at the current moment in the second coordinate system based on the first a-posteriori estimation factor G3(t) and the second a-posteriori estimation factor N3(t) at the current moment in the second coordinate system as follows,、γ(t)):
θ ( t ) = arctan ( G 3 x ( t ) / G 3 y ( t ) 2 + G 3 z ( t ) 2 )
γ ( t ) = arc tan ( Nw ′ x ( t ) / Nw ′ y ( t ) )
Wherein Nw' (t) is the magnetic field distribution of the hand control in the second coordinate system,
N w ′ ( t ) = Nw ′ x ( t ) Nw ′ y ( t ) N w ′ z ( t ) = N 3 ( t ) * M 3 ( α ) = N x ( t ) N y ( t ) N z ( t ) / M 3 ( α ) m3(α) is a third rotation variation matrix,
M 3 ( α ) = cos ( α y ′ ) cos ( α z ′ ) - cos ( α x ′ ) sin ( α z ′ ) + sin ( α x ′ ) sin ( α y ′ ) cos ( α z ′ ) sin ( α x ′ ) sin ( α z ′ ) + cos ( α x ′ ) sin ( α y ′ ) cos ( α z ′ ) cos ( α y ′ ) sin ( α z ′ ) cos ( α x ′ ) cos ( α z ′ ) + sin ( α x ′ ) sin ( α y ′ ) sin ( α z ′ ) - sin ( α x ′ ) cos ( α z ′ ) + cos ( α x ′ ) sin ( α y ′ ) sin ( α z ′ ) - sin ( α y ′ ) sin ( α x ′ ) cos ( α y ′ ) cos ( α x ′ ) cos ( α y ′ ) wherein α'xEqual to the inverse of the pitch angle of the hand control at the current moment in the second coordinate system-theta (t), α'yEqual to the current moment of the hand control at the secondThe inverse number of roll angles in a coordinate system,α′zIs equal to 0, and, therefore,
next, the positioning system performs step S2, which is not described in detail herein since step S2 is described in detail in the embodiment of FIG. 1 and is incorporated by reference.
It should be noted that, the steps S11 'and S12' are not in sequence, for example, the step S12 'is performed before the step S11', and for example, the steps S11 'and S12' are performed simultaneously.
As a preferred mode, according to the method of the present invention, the step S14 may also use the mode described in step S14', i.e. the three-dimensional pose of the hand control in the second coordinate system at the current moment of time is determined based on the first a posteriori estimation factor G3(t) and the second a posteriori estimation factor N3(t) at the current moment of time of the hand control.
As shown in fig. 6, the present invention provides a positioning system for positioning the position of a pointer. Wherein, this positioning system 1 includes: a gesture determination module 11 and a pointer position calculation module 12.
The attitude determination module 11 estimates a first attitude factor of the hand control device in a second coordinate system based on a triaxial acceleration and a triaxial angular velocity of the hand control device controlling the pointer in a first coordinate system, estimates a second attitude factor of the hand control device in the second coordinate system based on the triaxial angular velocity and a triaxial geomagnetic distribution, and estimates a three-dimensional attitude of the hand control device in the second coordinate system based on the first attitude factor and the second attitude factor.
Wherein the pointer includes a pointer or cursor or the like displayed on a display device such as a display screen of a computer or a television; the hand control comprises means for controlling the displayed position of the pointer based on manipulation by an operator, preferably including but not limited to: a mouse, a remote controller, a gamepad, etc.
The first coordinate system is a coordinate system established according to the vertical, horizontal, front-back directions of the manual control device. For example, as shown in fig. 2, the left-right direction of the control surface of the hand control shown in fig. 2 is taken as the X-axis of the first coordinate system, the front-back direction of the control surface is the Y-axis of the first coordinate system, and the up-down height direction of the hand control is taken as the Z-axis, wherein the right direction is the positive X-axis direction, the left direction is the negative X-axis direction, the front direction is the positive Y-axis direction, the back direction is the negative Y-axis direction, the up direction is the positive Z-axis direction, and the down direction is the negative Z-axis direction.
Wherein the second coordinate system is a coordinate system established according to the earth system where the display device is placed, for example, as shown in fig. 3, when the display screen 122 of the display device 120 for displaying the pointer is placed perpendicular to the earth surface, the width direction of the display device is the X-axis and the height direction of the second coordinate system is the Y-axis of the second coordinate system.
The three-axis acceleration of the manual control device in the first coordinate system is obtained by sensing the acceleration in the X direction, the Y direction and the Z direction of the first coordinate system to which the manual control device belongs through a three-axis accelerometer arranged in the manual control device, and the angular velocity of the manual control device in the first coordinate system is obtained by sensing the angular velocity in the X direction, the Y direction and the Z direction of the first coordinate system to which the manual control device belongs through a three-axis gyroscope arranged in the manual control device. The three-axis geomagnetic distribution is obtained by sensing the magnetic field intensity in the X direction, the Y direction and the Z direction of a first coordinate system to which the three-axis magnetometer is arranged in the manual control device.
Wherein the three-dimensional attitude of the hand control in the second coordinate system is typically in degrees, e.g. pitch angle θ, roll angleAnd yaw angle y, as shown in fig. 3. It is to be noted thatThe directions indicated by the dashed lines of the hand control part in the figure correspond to the directions of one directional axis in the second coordinate system, respectively.
Preferably, the attitude determination module 11 estimates a first attitude factor of the hand control in the second coordinate system directly based on the three-axis acceleration and the three-axis angular velocity of the hand control controlling the pointer in the first coordinate system and the three-dimensional attitude of the hand control in a predetermined time before the current time, and estimates a second attitude factor of the hand control in the second coordinate system based on the three-axis angular velocity, the three-axis geomagnetic distribution and the three-dimensional attitude of the hand control in a predetermined time before the current time; and then estimating the three-dimensional posture of the hand control device under a second coordinate system based on the first posture factor and the second posture factor.
Next, the pointer position calculation module 12 maps the three-dimensional pose of the hand control in the second coordinate system to a two-dimensional space to determine the position information of the pointer.
In particular, the pointer position calculation module 12 is based on the pitch angle θ (t), roll angle of the hand control in a second coordinate systemAnd a pitch angle θ (t) and a yaw angle γ (t) of the yaw angle γ (t), and a pitch angle θ (0) and a yaw angle γ (0) of the center of the corresponding display screen to which the initial three-dimensional attitude of the hand control attitude is directed, the position information (x, y) of the pointer is determined in accordance with the formula x = (θ (t) - θ (0)) × scale;
y=(γ(t)-γ(0))×scale;
wherein scale is a predetermined scale factor that determines the sensitivity of the pointer.
FIG. 7 shows another preferred schematic diagram of the positioning system for positioning the position of a pointer of the present invention. Wherein the positioning system 1 comprises: the gesture determining module 11 and the pointer position calculating module 12; the attitude determination module 11 further includes: a first estimation module 111, a second estimation module 112, a third estimation module 113, and a fourth estimation module 114.
The first estimation module 111 estimates a first pose factor of the hand control in the second coordinate system based on the three-axis acceleration of the hand control at the current time, and uses the obtained first pose factor as a first observation factor at the current time.
Wherein said first attitude factor comprises any attitude factor that can be used to determine the three-dimensional attitude (i.e. pitch angle theta, roll angle) of the hand control in the second coordinate systemAnd yaw angle γ).
For example, the first estimation module 111 is based on the three-axis acceleration g of the hand control at the current momentx(t)、gy(t)、gz(t) estimating a first attitude factor in the following manner, and taking the obtained first attitude factor as a first observation factor G1(t) at the current time:
G 1 ( t ) = G 1 x ( t ) G 1 y ( t ) G 1 z ( t ) = g x ( t ) g y ( t ) g z ( t ) / g xyz ( t )
wherein,;gx(t) is the acceleration of the hand control in the first direction axis direction of the first coordinate system at the present moment, gy(t) is the acceleration of the hand control in the second direction axis direction of the first coordinate system at the present moment, gzAnd (t) is the acceleration of the manual control device in the third direction axis direction of the first coordinate system at the current moment.
It should be noted that the skilled person will understand that the above illustration is only an example and not a limitation of the invention, and that in fact any way of estimating the first pose factor based on the three-axis acceleration of the hand control at the present moment is included within the scope of the invention.
The second estimation module 112 estimates a first attitude factor of the hand control device at the current time based on a first a posteriori estimation factor of the hand control device at the second coordinate system at the previous time of the current time and a three-axis angular velocity of the hand control device at the current time, and uses the obtained first attitude factor as a first a priori estimation factor of the current time.
Specifically, the second estimation module 112 estimates a first attitude factor of the hand control at the current time using a first prediction function L1(G3(t-1), r (t)) based on a first a-posteriori estimation factor G3(t-1) of the hand control at a second coordinate system at a time previous to the current time and a three-axis angular velocity r (t) of the hand control at the current time, and uses the obtained first attitude factor as a first a-priori estimation factor G2(t) at the current time.
The first prediction function L1(G3(t-1), r (t)) is any function capable of estimating the first a priori estimation factor G2(t) based on the first a posteriori estimation factor G3(t-1) and the three-axis angular velocity r (t), and preferably, the first prediction function L1(G3(t-1), r (t)) may take the form:
G 2 ( t ) = G 2 x ( t ) G 2 y ( t ) G 2 z ( t ) = L 1 ( G 3 ( t - 1 ) , R ( t ) ) G 3 x ( t ) G 3 y ( t ) G 3 z ( t ) * M 1 ( α ) ,
wherein, G3x(t-1)、G3y(t-1), G (t-1) representing first a posteriori estimates of the three directional axial directions of the hand control in the second coordinate system determined at a previous time instant before the current time instant, M1(α) being a first rotation variation matrix,
M 1 ( α ) = cos ( α y ) cos ( α z ) - cos ( α x ) sin ( α z ) + sin ( α x ) sin ( α y ) cos ( α z ) sin ( α x ) sin ( α z ) + cos ( α x ) sin ( α y ) cos ( α z ) cos ( α y ) sin ( α z ) cos ( α x ) cos ( α z ) + sin ( α x ) sin ( α y ) sin ( α z ) - sin ( α x ) cos ( α z ) + cos ( α x ) sin ( α y ) sin ( α z ) - sin ( α y ) sin ( α x ) cos ( α y ) cos ( α x ) cos ( α y ) due to αxRepresenting the angle of rotation of the hand control around the X-axis in the first coordinate system from the previous moment to the present moment, with a value equal to the angular velocity R measured by the angular velocity meter in the left or right direction of the hand control at the present momentx(t),αyRepresenting the angle of rotation of the hand control around the Y-axis in the first coordinate system from the previous moment to the present moment, with a value equal to the angular velocity R in the front or rear direction of the hand control measured by the angular velocity meter at the present momenty(t),αzRepresenting the angle of rotation of the hand control around the Z-axis in the first coordinate system from the previous moment to the present moment, with a value equal to the angular velocity R in the up or down direction of the hand control measured by the angular velocity meter at the present momentz(t) in the presence of a catalyst, therefore, M 1 ( α ) =
cos ( R y ( t ) ) cos ( R z ( t ) ) - cos ( R x ( t ) ) sin ( R z ( t ) ) + sin ( R x ( t ) ) sin ( R y ( t ) ) cos ( R z ( t ) ) sin ( R x ( t ) ) sin ( R z ( t ) ) + cos ( R x ( t ) ) sin ( R y ( t ) ) cos ( R z ( t ) ) cos ( R y ( t ) ) sin ( R z ( t ) ) cos ( R x ( t ) ) cos ( R z ( t ) ) + sin ( R x ( t ) ) sin ( R y ( t ) ) sin ( R z ( t ) ) - sin ( R x ( t ) ) cos ( R z ( t ) ) + cos ( R x ( t ) ) sin ( R y ( t ) ) sin ( R z ( t ) ) - sin ( R y ( t ) ) sin ( R x ( t ) ) cos ( R y ( t ) ) cos ( R x ( t ) ) cos ( R y ( t ) )
it should be noted that the skilled person will understand that the above illustration is only an example and not a limitation of the invention, and in fact any way of estimating the first pose factor based on the first a posteriori estimation factor of the hand control in the second coordinate system at the time previous to the current time and the three-axis angular velocity of the hand control at the current time is included in the scope of the invention.
Then, the third estimation module 113 estimates a first pose factor of the current time of the hand control device in the second coordinate system based on the first observation factor and the first a priori estimation factor of the current time of the hand control device and the related information, and uses the obtained first pose factor as a first a posteriori estimation factor of the current time.
Wherein the relevant information comprises information relating to the pose factor of the hand control estimating the current moment in addition to the first observed factor and the first a priori estimated factor at the current moment, preferably including, but not limited to, at least one of: i) triaxial acceleration at the current moment and within a predetermined time before the current moment; ii) the triaxial angular velocity at and within a predetermined time before the current time; iii) triaxial geomagnetic distributions at and in a predetermined time before the current time; iv) a first observation factor in a predetermined time before the current time instant; v) a first a priori estimation factor in a predetermined time before the current time instant; vi) a second observation factor within a predetermined time before the current time; vii) a second a priori estimation factor within a predetermined time before the current time instant, etc.
Specifically, the third estimation module 113 determines a first pose factor of the current time of the hand control device in the second coordinate system by using a first fusion function based on the first observation factor and the first a priori estimation factor of the current time of the hand control device and the related information, and uses the obtained first pose factor as the first a posteriori estimation factor G3(t) of the current time.
The first fusion function includes any one of the functions with the first observation factor G1(t), the first a-priori estimation factor G2(t) and related information at the current time as independent variables and the first a-posteriori estimation factor G3(t) at the current time as dependent variables.
For example, when the related information includes three-axis acceleration values and three-axis angular velocity values at and in a predetermined time before the current time, a preferred first fusion function is as follows:
g3(t) = G2(t) + β 1(t) (G1(t) -G2 (t))), wherein β 1(t) is a scale factor that can be determined using iterative operations that fit the principle of minimizing the mean square error of the first a posteriori estimation factores(t)=Q(t-1)+Z(t),β1(t)=Qes(t)/Qes(t)+N(t)),Q(t)=(I-β1(t))*Qes(t), wherein q (t) is the mean square error of the first a posteriori estimation factor G3 (t); qes(t) is the mean square error of the first a priori estimation factor G2 (t); z (t) is the mean square error of the measured value of the angular velocity sensor, the value is related to the selection of the angular velocity sensor, a value model can be obtained by pre-calculation according to experience, and the value model can be a function taking the triaxial acceleration value and the triaxial angular velocity value as dependent variables; n (t) is the mean square error of the measured value of the acceleration sensor, the value is related to the selection of the acceleration sensor, a value model can be obtained by pre-calculation according to experience, and the value model can also be a function taking the triaxial acceleration value and the triaxial angular velocity value as dependent variables; and I is a unit array.
For another example, when the related information includes the first observation factors G1(t-1), G1(t-2), …, G1(t-n), and the first a priori estimation factors G2(t-1), G2(t-2), …, G2(t-n) before the current time, a preferred first fusion function is as follows:
G 3 ( t ) = G 2 ( t ) + Σ t - n t ( G 1 ( x ) - G 2 ( x ) ) / n
for another example, when the related information includes three-axis acceleration at the current time and within a predetermined time before the current time, a preferred first fusion function is as follows:
g3(t) = G2(t) + μ (t) (G1(t) -G2 (t)); wherein, mu (t) is a scale factor, and can be taken as a value according to the current moment and the change amplitude of the triaxial acceleration in a preset time before the current moment, and the determination principle of mu (t) is as follows: the larger the change width of the triaxial acceleration, the closer to 0 μ (t), and the smaller the change width of the triaxial acceleration, the closer to 1 μ (t), for example, μ (t) = a max (E (g)x),E(gy),E(gz) Wherein E (g)x),E(gy),E(gz) The first coordinate system is a first coordinate system, and the second coordinate system is a second coordinate system, and the third coordinate system is a third coordinate system.
It should be noted that, when the related information is other than the above listed information, a person skilled in the art should understand the fusion function corresponding to each other situation based on the above listed information, and therefore, the detailed description is omitted here. It should be noted that the skilled person will understand that the above-mentioned illustration is only an example and not a limitation of the present invention, and that in fact any way of determining the first pose factor of the hand control in the second coordinate system based on the first observed factor and the first a priori estimated factor of the hand control at the present moment and the relevant information is within the scope of the present invention.
Next, the fourth estimation module 114 estimates a second attitude factor of the hand control in a second coordinate system based on the three-axis angular velocities and the three-axis geomagnetic distribution.
Preferably the fourth estimation module 114 estimates a second pose factor N4(t) of the hand control in a second coordinate system based on the three-axis angular velocity r (t), the three-axis geomagnetic distribution N (t) and the three-dimensional pose of the hand control in a predetermined time before the current time.
The fourth estimation module 114 then determines the three-dimensional pose of the hand control in the second coordinate system at the current moment of time based on the first a posteriori estimation factor and the second pose factor at the current moment of time of the hand control.
Next, the pointer position calculation module 12 maps the three-dimensional pose of the hand control in the second coordinate system at the current moment to a two-dimensional space to determine the position information of the pointer, since the pointer position calculation module 12 is described in detail in the embodiment shown in fig. 6 and is included herein by reference, which will not be described in detail herein.
It should be noted that the operations of the first estimation module 111 and the second estimation module 112 are not in sequence, for example, the operation of the second estimation module 112 is performed before the operation of the first estimation module 111, and for example, the operation of the first estimation module 111 and the operation of the second estimation module 112 are performed simultaneously.
FIG. 8 shows yet another preferred schematic diagram of the positioning system for positioning the position of a pointer of the present invention. Wherein the positioning system 1 comprises: the gesture determining module 11 and the pointer position calculating module 12; the attitude determination module 11 further includes: a first determination module 111 ', a second determination module 112', a third determination module 113 ', and a fourth determination module 114'.
The first determining module 111' estimates a second attitude factor of the hand control device in the second coordinate system based on the triaxial geomagnetic distribution at the current time, and uses the obtained second attitude factor as a second observation factor at the current time.
Wherein the second pose factor comprises any pose factor that can be used to determine the hand control in the second coordinate systemThree-dimensional attitude (i.e. pitch angle theta, roll angle)And yaw angle γ).
In particular, the first determination module 111' directly estimates the magnetic force distribution N (t) of the current position of the hand control obtained by the magnetometer measurements at three axes as the second attitude factor of the hand control in the second coordinate system, and takes the obtained second attitude factor as the second observation factor N1(t), i.e. N1(t) = N (t), at the current moment.
The second determining module 112' estimates a second pose factor of the hand control in the second coordinate system at the current time based on a second a posteriori estimation factor of the hand control at the previous time of the current time and a triaxial angular velocity of the hand control at the current time, and uses the obtained second pose factor as a second a priori estimation factor of the current time.
Specifically, the second determination module 112' estimates a second pose factor of the hand control in the second coordinate system at the current time based on a second a posteriori estimation factor N3(t-1) of the position of the hand control at the previous time of the current time and a three-axis angular velocity r (t) of the hand control at the current time using a second prediction function L2(N3(t-1), r (t)), and uses the obtained second pose factor as a second a priori estimation factor N2(t) at the current time.
The second prediction function L2(N3(t-1), r (t)) is any function capable of estimating the second a priori estimation factor N2(t) at the current time based on the second a posteriori estimation factor N3(t-1) and the triaxial angular velocity r (t), and preferably, the second prediction function L2(N3(t-1), r (t)) may take the form of:
N 2 ( t ) = N 2 x ( t ) N 2 y ( t ) N 2 z ( t ) = L 2 ( N 3 ( t - 1 ) , R ( t ) ) N 3 x ( t ) N 3 y ( t ) N 3 z ( t ) * M 2 ( α ) ,
wherein, N3x(t-1),、N3y(t-1)、N3z(t-1) second posterior estimation factors representing three directional axis directions in a second coordinate system determined at a previous time before the current time, M2(α) is a second rotation variation matrix, M 2 ( α ) = M 1 ( α )
cos ( R y ( t ) ) cos ( R z ( t ) ) - cos ( R x ( t ) ) sin ( R z ( t ) ) + sin ( R x ( t ) ) sin ( R y ( t ) ) cos ( R z ( t ) ) sin ( R x ( t ) ) sin ( R z ( t ) ) + cos ( R x ( t ) ) sin ( R y ( t ) ) cos ( R z ( t ) ) cos ( R y ( t ) ) sin ( R z ( t ) ) cos ( R x ( t ) ) cos ( R z ( t ) ) + sin ( R x ( t ) ) sin ( R y ( t ) ) sin ( R z ( t ) ) - sin ( R x ( t ) ) cos ( R z ( t ) ) + cos ( R x ( t ) ) sin ( R y ( t ) ) sin ( R z ( t ) ) - sin ( R y ( t ) ) sin ( R x ( t ) ) cos ( R y ( t ) ) cos ( R x ( t ) ) cos ( R y ( t ) )
it should be noted that the skilled person will understand that the above illustration is only an example and not a limitation of the invention, and in fact any way of estimating the second pose factor of the hand control in the second coordinate system at the present moment of time based on the second a posteriori estimation factor of the hand control at the moment before the present moment of time and the three-axis angular velocity of the hand control at the present moment of time is included in the scope of the invention.
Next, the third determining module 113' estimates a second pose factor of the hand control in a second coordinate system at the current time based on the second observation factor, a second a priori estimation factor, and related information, and uses the obtained second pose factor as a second a posteriori estimation factor of the current time.
The related information is described in detail in the embodiment shown in fig. 7, and is included by reference, which is not described in detail.
Specifically, the third determining module 113' estimates a second pose factor of the hand control in the second coordinate system at the current time based on the second observation factor N1(t), the second a priori estimation factor N2(t), and the related information by using a second fusion function, and uses the obtained second pose factor as a second a posteriori estimation factor N3(t) at the current time.
Wherein the second fusion function comprises any function with the second observation factor N1(t), the second a priori estimate factor N2(t) and related information at the current moment of the hand control as arguments and the second a posteriori estimate factor N3(t) at the current moment as dependent variables.
When the related information includes the current time and the three-axis angular velocity within a predetermined time before the current time, a preferred second fusion function is as follows:
N3(t)=N2(t)+β2(N1(t)-N2(t)),
where β 2 is a scale factor determined by the angular velocity r (t) at the present time, and β 2 is closer to 1 as the angular velocity r (t) is larger, whereas β 2 is closer to 0.
The fourth determination module 114' estimates a first pose factor of the hand control in the second coordinate system based on the three-axis acceleration and the three-axis angular velocity of the hand control controlling the pointer in the first coordinate system.
Preferably, the fourth determination module 114' estimates a first pose factor G4(t) of the hand control in the second coordinate system directly based on the three-axis acceleration G (t) and the three-axis angular velocity r (t) of the hand control in the first coordinate system controlling the pointer and the three-dimensional pose of the hand control at the time preceding the current time.
The fourth determination module 114' then determines the three-dimensional pose of the hand control in the second coordinate system based on the first pose factor and the second a posteriori estimation factor for the current time.
Preferably, the fourth determination module 114' estimates the three-dimensional pose (θ (t)) of the hand control at the current moment in time in the second coordinate system directly based on the first pose factor G4(t) and the second a posteriori estimation factor N3(t) at the current moment in time,、γ(t))。
More preferably, the fourth determination module 114' is based on the first a posteriori estimation factor G3(t) for the current moment of the hand control determined in the aforementioned third estimation module 113 (t)) And a second a posteriori estimation factor N3(t) for determining the three-dimensional attitude (θ (t)) of the hand control in a second coordinate system at the current moment of time,、γ(t))。
In particular, the fourth determination module 114' determines the three-dimensional pose (θ (t)) of the hand control at the current time in the second coordinate system based on the a posteriori estimation factor G3(t) and the second a posteriori estimation factor N3(t) at the current time in the second coordinate system as follows,、γ(t)):
θ ( t ) = arctan ( G 3 x ( t ) / G 3 y ( t ) 2 + G 3 z ( t ) 2 )
γ ( t ) = arc tan ( Nw ′ x ( t ) / Nw ′ y ( t ) )
Wherein Nw' (t) is the magnetic field distribution of the hand control in the second coordinate system,
N w ′ ( t ) = Nw ′ x ( t ) Nw ′ y ( t ) N w ′ z ( t ) = N 3 ( t ) * M 3 ( α ) = N x ( t ) N y ( t ) N z ( t ) / M 3 ( α ) m3(α) is a third rotation variation matrix, M 3 ( α ) = cos ( α y ′ ) cos ( α z ′ ) - cos ( α x ′ ) sin ( α z ′ ) + sin ( α x ′ ) sin ( α y ′ ) cos ( α z ′ ) sin ( α x ′ ) sin ( α z ′ ) + cos ( α x ′ ) sin ( α y ′ ) cos ( α z ′ ) cos ( α y ′ ) sin ( α z ′ ) cos ( α x ′ ) cos ( α z ′ ) + sin ( α x ′ ) sin ( α y ′ ) sin ( α z ′ ) - sin ( α x ′ ) cos ( α z ′ ) + cos ( α x ′ ) sin ( α y ′ ) sin ( α z ′ ) - sin ( α y ′ ) sin ( α x ′ ) cos ( α y ′ ) cos ( α x ′ ) cos ( α y ′ ) wherein α'xEqual to the inverse of the pitch angle of the hand control at the current moment in the second coordinate system-theta (t), α'yEqual to the inverse of the roll angle of the hand control in the second coordinate system at the current moment in time,α′zIs equal to 0, and, therefore,
the pointer position calculation module 12 then performs operations that will not be described in detail herein, since the pointer position calculation module 12 is described in detail in the embodiment shown in fig. 6 and is incorporated by reference.
It should be noted that, the operations of the first determining module 111 'and the second determining module 112' are not in sequence, for example, the operation of the second determining module 112 'is performed before the operation of the first determining module 111', for example, the operation of the first determining module 111 'is performed simultaneously with the operation of the second determining module 112', and the like.
The fourth determination module may be configured to determine the three-dimensional attitude (θ (t)) of the hand control in the second coordinate system at the current time based on the first a-posteriori estimation factor G3(t) and the second a-posteriori estimation factor N3(t) of the hand control at the current time determined by the third estimation module 113、γ(t))。
In summary, the present invention utilizes inertial sensors such as a three-axis accelerometer, a three-axis gyroscope, and a three-axis magnetometer to separate from a desktop or other auxiliary plane, and realizes absolute position positioning of a mouse cursor by freely moving a controller in a three-dimensional space. The method and the system for positioning the pointer position accurately estimate the three-dimensional posture of the manual control device based on the fusion of the acceleration, the angular velocity and the geomagnetic distribution data of the movement of the manual control device in all directions, and then map the three-dimensional posture of the manual control device to a two-dimensional space to determine the absolute position of the cursor in the screen. The method according to the invention allows to accurately map the movements of the hand control in three-dimensional space to the absolute position of the cursor in the screen, irrespective of whether the pose of the hand control in the user's hand is relatively stationary or changes of a large magnitude during operation. Therefore, the invention effectively overcomes various defects in the prior art and has high industrial utilization value.
The foregoing embodiments are merely illustrative of the principles and utilities of the present invention and are not intended to limit the invention. Any person skilled in the art can modify or change the above-mentioned embodiments without departing from the spirit and scope of the present invention. Accordingly, it is intended that all equivalent modifications or changes which can be made by those skilled in the art without departing from the spirit and technical spirit of the present invention be covered by the claims of the present invention.

Claims (12)

1. A method for locating a pointer position, the method at least comprising the steps of:
1) estimating a first attitude factor of a hand control device in a second coordinate system based on a triaxial acceleration and a triaxial angular velocity of the hand control device in a first coordinate system for controlling a pointer, estimating a second attitude factor of the hand control device in the second coordinate system based on the triaxial angular velocity and a triaxial geomagnetic distribution in the first coordinate system, and estimating a three-dimensional attitude of the hand control device in the second coordinate system based on the first attitude factor and the second attitude factor;
estimating a second attitude factor of the manual control device under the second coordinate system based on triaxial geomagnetic distribution at the current moment, and taking the obtained second attitude factor as a second observation factor at the current moment;
estimating a second attitude factor of the manual control device under a second coordinate system at the current moment based on a second posterior estimation factor of the manual control device under the second coordinate system at the previous moment of the current moment and a triaxial angular velocity of the manual control device at the current moment, and taking the obtained second attitude factor as a second prior estimation factor of the current moment;
estimating a second attitude factor of the current moment of the manual control device in a second coordinate system based on a second observation factor and a second prior estimation factor of the current moment of the manual control device and related information, and taking the obtained second attitude factor as a second posterior estimation factor of the current moment;
determining the three-dimensional attitude of the hand control device under a second coordinate system at the current moment based on a first attitude factor and a second posterior estimation factor of the hand control device at the current moment
2) And mapping the three-dimensional posture of the hand control device in a second coordinate system to a two-dimensional space to determine the position information of the pointer.
2. A method for locating the position of a pointer as claimed in claim 1, characterized in that the relevant information comprises information relating to an attitude factor of the hand control that estimates the current time, in addition to the first observation factor and the first a priori estimation factor at the current time, comprising at least one of: i) triaxial acceleration at the current moment and within a predetermined time before the current moment; ii) the triaxial angular velocity at and within a predetermined time before the current time; iii) triaxial geomagnetic distributions at and in a predetermined time before the current time; iv) a first observation factor in a predetermined time before the current time instant; v) a first a priori estimation factor in a predetermined time before the current time instant; vi) a second observation factor within a predetermined time before the current time; vii) a second a priori estimation factor within a predetermined time before the current time instant.
3. The method of locating a pointer position according to claim 2 wherein step 1) further comprises:
-estimating a first pose factor of the hand control in the second coordinate system based on the triaxial accelerations of the hand control at the current moment in time, and using the obtained first pose factor as a first observed factor at the current moment in time;
-estimating a first pose factor of the hand control at the current moment of time based on a first a posteriori estimation factor of the hand control at a second coordinate system at a moment preceding the current moment of time and on a three-axis angular velocity of the hand control at the current moment of time, and using the obtained first pose factor as a first a priori estimation factor at the current moment of time;
-estimating a first pose factor of the hand control at the current moment in the second coordinate system based on the first observed factor and the first a priori estimated factor of the hand control at the current moment and the relevant information, and using the obtained first pose factor as a first a posteriori estimated factor of the current moment;
-determining the three-dimensional pose of the hand control in the second coordinate system at the current moment of the hand control based on the first and second a posteriori estimation factors at the current moment of the hand control.
4. The method of locating a pointer position according to claim 2 wherein step 1) further comprises:
-estimating a first pose factor of the hand control in the second coordinate system based on the triaxial accelerations of the hand control at the current moment in time, and using the obtained first pose factor as a first observed factor at the current moment in time;
-estimating a first pose factor of the hand control at the current moment of time based on a first a posteriori estimation factor of the hand control at a second coordinate system at a moment preceding the current moment of time and on a three-axis angular velocity of the hand control at the current moment of time, and using the obtained first pose factor as a first a priori estimation factor at the current moment of time;
-estimating a first pose factor of the hand control at the current moment in the second coordinate system based on the first observed factor and the first a priori estimated factor of the hand control at the current moment and the relevant information, and using the obtained first pose factor as a first a posteriori estimated factor of the current moment;
-determining the three-dimensional pose of the hand control in the second coordinate system at the current moment in time based on the first a posteriori estimation factor and the second pose factor at the current moment in time.
5. A positioning system for positioning a position of a pointer, the positioning system for positioning a position of a pointer comprising at least: the attitude determination module is used for estimating a first attitude factor of the manual control device in a second coordinate system based on three-axis acceleration and three-axis angular velocity of the manual control device for controlling a pointer in the first coordinate system, estimating a second attitude factor of the manual control device in the second coordinate system based on the three-axis angular velocity and three-axis geomagnetic distribution in the first coordinate system, and estimating a three-dimensional attitude of the manual control device in the second coordinate system based on the first attitude factor and the second attitude factor; the pose determination module comprises: the first determining module is used for estimating a second attitude factor of the manual control device under the second coordinate system based on triaxial geomagnetic distribution at the current moment and taking the obtained second attitude factor as a second observation factor at the current moment; the second determination module is used for estimating a second attitude factor of the manual control device at the current moment in a second coordinate system based on a second posterior estimation factor of the manual control device at a second coordinate system at a previous moment of the current moment and a triaxial angular velocity of the manual control device at the current moment, and taking the obtained second attitude factor as a second prior estimation factor of the current moment; a third determining module, configured to estimate a second pose factor of the manual control device in a second coordinate system at the current time based on a second observation factor and a second prior estimation factor of the manual control device at the current time and related information, and use the obtained second pose factor as a second posterior estimation factor of the current time; the fourth determination module is used for determining the three-dimensional posture of the hand control device under the second coordinate system at the current moment based on the first posture factor and the second posterior estimation factor at the current moment;
and the pointer position calculation module is used for mapping the three-dimensional posture of the manual control device in a second coordinate system to a two-dimensional space to determine the position information of the pointer.
6. The positioning system for positioning a position of a pointer as recited in claim 5,
the related information includes at least one of:
triaxial acceleration at the current moment and within a predetermined time before the current moment;
the three-axis angular velocity at the current time and within a predetermined time before the current time;
triaxial geomagnetic distribution at and in a predetermined time before the current time;
a first observation factor within a predetermined time before the current time;
a first a priori estimation factor in a predetermined time before the current time;
a second observation factor within a predetermined time before the current time;
a second a priori estimated factor within a predetermined time before the current time.
7. The position location system for locating a position of a pointer as recited in claim 6, wherein the pose determination module further comprises:
a first estimation module, configured to estimate a first attitude factor of the manual control device in the second coordinate system based on a triaxial acceleration of the manual control device at a current time, and use the obtained first attitude factor as a first observation factor at the current time;
the second estimation module is used for estimating a first attitude factor of the manual control device at the current moment based on a first posterior estimation factor of the manual control device at the previous moment of the current moment in a second coordinate system and a triaxial angular velocity of the manual control device at the current moment, and taking the obtained first attitude factor as a first prior estimation factor of the current moment;
a third estimation module, configured to estimate a first attitude factor of the manual control device in a second coordinate system at the current time based on a first observation factor and a first prior estimation factor of the manual control device at the current time and related information, and use the obtained first attitude factor as a first posterior estimation factor of the current time;
and the fourth estimation module is used for determining the three-dimensional posture of the manual control device at the current moment in the second coordinate system based on the first posterior estimation factor and the second posterior estimation factor of the manual control device at the current moment.
8. The position location system for locating a position of a pointer as recited in claim 6, wherein the pose determination module further comprises:
a first estimation module, configured to estimate a first attitude factor of the manual control device in the second coordinate system based on a triaxial acceleration of the manual control device at a current time, and use the obtained first attitude factor as a first observation factor at the current time;
the second estimation module is used for estimating a first attitude factor of the manual control device at the current moment based on a first posterior estimation factor of the manual control device at the previous moment of the current moment in a second coordinate system and a triaxial angular velocity of the manual control device at the current moment, and taking the obtained first attitude factor as a first prior estimation factor of the current moment;
a third estimation module, configured to estimate a first attitude factor of the manual control device in a second coordinate system at the current time based on a first observation factor and a first prior estimation factor of the manual control device at the current time and related information, and use the obtained first attitude factor as a first posterior estimation factor of the current time;
and the fourth estimation module is used for determining the three-dimensional posture of the manual control device under the second coordinate system at the current moment based on the first posterior estimation factor and the second posture factor of the manual control device at the current moment.
9. Smart device characterized in that it comprises at least a positioning system according to any of claims 5 to 8.
10. The smart device of claim 9, wherein the smart device comprises a hand control or a computer device.
11. The smart device of claim 10, wherein the hand control comprises: a mouse, a remote control, or a gamepad.
12. The smart device of claim 10, wherein the computer device comprises: smart televisions, set-top boxes, or personal computers.
CN201210521174.3A 2012-12-06 2012-12-06 The method of positioning pointer position, system and equipment Active CN103049101B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210521174.3A CN103049101B (en) 2012-12-06 2012-12-06 The method of positioning pointer position, system and equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210521174.3A CN103049101B (en) 2012-12-06 2012-12-06 The method of positioning pointer position, system and equipment

Publications (2)

Publication Number Publication Date
CN103049101A CN103049101A (en) 2013-04-17
CN103049101B true CN103049101B (en) 2016-04-06

Family

ID=48061770

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210521174.3A Active CN103049101B (en) 2012-12-06 2012-12-06 The method of positioning pointer position, system and equipment

Country Status (1)

Country Link
CN (1) CN103049101B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103389808B (en) * 2013-07-18 2016-06-15 华南师范大学 A kind of space mouse and the method obtaining space mouse displacement

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101078957A (en) * 2006-05-23 2007-11-28 三星电子株式会社 Pointing device, pointer movement method and medium, and display device for displaying the pointer
CN101606120A (en) * 2007-12-07 2009-12-16 索尼株式会社 Control device, input media, control system, control method and hand-held device
CN202306460U (en) * 2011-08-26 2012-07-04 奇高电子股份有限公司 Optical pointer control device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101078957A (en) * 2006-05-23 2007-11-28 三星电子株式会社 Pointing device, pointer movement method and medium, and display device for displaying the pointer
CN101606120A (en) * 2007-12-07 2009-12-16 索尼株式会社 Control device, input media, control system, control method and hand-held device
CN202306460U (en) * 2011-08-26 2012-07-04 奇高电子股份有限公司 Optical pointer control device

Also Published As

Publication number Publication date
CN103049101A (en) 2013-04-17

Similar Documents

Publication Publication Date Title
US11828939B2 (en) Method and apparatus for adjusting motion-based data space manipulation
US10093280B2 (en) Method of controlling a cursor by measurements of the attitude of a pointer and pointer implementing said method
US8957909B2 (en) System and method for compensating for drift in a display of a user interface state
US20080042973A1 (en) System for sensing yaw rate using a magnetic field sensor and portable electronic devices using the same
US9261980B2 (en) Motion capture pointer with data fusion
CN101568896B (en) Information processing apparatus, input device, information processing system, information processing method
CN101872260B (en) Remote interactive pen and handwriting detection method
US9086724B2 (en) Display control system, display control method, computer-readable storage medium having stored thereon display control program, and display control apparatus
US10705113B2 (en) Calibration of inertial measurement units attached to arms of a user to generate inputs for computer systems
US20110307213A1 (en) System and method of sensing attitude and angular rate using a magnetic field sensor and accelerometer for portable electronic devices
JP5561092B2 (en) INPUT DEVICE, INPUT CONTROL SYSTEM, INFORMATION PROCESSING METHOD, AND PROGRAM
CN103116411B (en) The method and system of positioning pointer position
CN103940442A (en) Location method and device adopting accelerating convergence algorithm
EP2887184A1 (en) Air pointer with improved user experience
US20180307378A1 (en) Wearable display, image display apparatus, and image display system
CN204945943U (en) For providing the remote control equipment of remote control signal for external display device
WO2013173948A1 (en) Method and device for spatially positioning object in three-dimensional virtual reality scene
US9740307B2 (en) Processing unit, computer program amd method to control a cursor on a screen according to an orientation of a pointing device
CN104049773A (en) Writing position data processing method and device of electronic pen and writing system
US8708818B2 (en) Display control system, display control method, computer-readable storage medium having stored thereon display control program, and display control apparatus
KR20090106767A (en) Apparatus and method for pointing in three dimensions
CN103049101B (en) The method of positioning pointer position, system and equipment
US20090058803A1 (en) Pointing and control device and method for a computer system
CN103488312B (en) The method of positioning pointer position, system and equipment
CN103034345B (en) Geographical virtual emulation 3D mouse pen in a kind of real space

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
CP02 Change in the address of a patent holder

Address after: Room 511, No. 259 Guoxia Road, Yangpu District, Shanghai, 200433

Patentee after: SHANGHAI FLYDIGI ELECTRONICS TECHNOLOGY Co.,Ltd.

Address before: Room 12013-6, 335 Guoding Road, Yangpu District, Shanghai 200433

Patentee before: SHANGHAI FLYDIGI ELECTRONICS TECHNOLOGY Co.,Ltd.

CP02 Change in the address of a patent holder