The present invention relates to a method of estimating the orientation of an object in space, with or without proper acceleration and with or without magnetic disturbance, and to a device suitable for enabling the orientation to be estimated implementing said method.
Obtaining orientation generally involves using a number of sensors, forming part of an assembly designated as a motion capture device, also designated attitude control unit.
MEMS (Micro-Electro-Mechanical Systems) sensors can be used to construct this control unit, said MEMS sensors having the advantage of being small and inexpensive. The use of such MEMS sensors makes it possible to consider the use of attitude control units in various fields of application, notably the biomedical domain, for the monitoring of home-based elderly people, functional re-education, in the sporting domain, for the analysis of sports movements, in the automobile, robotics, virtual reality and three-dimensional animation domains, and more generally in any domain in which there is a need to determine or observe a movement.
However, compared to non-MEMS sensors (used, for example, in the navigation domain), these MEMS sensors have the drawbacks of being relatively noise- and bias-affected.
Moreover, it is known that there are attitude control units that use both accelerometers and magnetometers, which make it possible to reconstruct movements with three degrees of freedom, that is to say movements for which the proper accelerations and the magnetic disturbances are respectively negligible compared to the earth's gravity field and the earth's magnetic field. However, when this assumption is not observed, that is to say, the proper acceleration or magnetic disturbances cannot be disregarded, the movements exhibit six or nine degrees of freedom. It is then impossible, using an attitude control unit that uses only accelerometers and magnetometers to estimate the orientation of the moving object. That said, the diversification of motion capture applications makes it essential to overcome these constraints.
Consideration has therefore been given to the use of additional sensors, more particularly the combined use of rate gyros, accelerometers and magnetometers. The measurements obtained from these sensors are made up of two parts: an informative part directly linked to the orientation of the moving object and a disturbing part, the nature of which depends on the sensor concerned. Firstly, these are proper accelerations for the measurements supplied by the accelerometers, magnetic disturbances for the measurements delivered by the magnetometers and bias for the rate gyros. These disturbances lead to an incorrect orientation estimation. Currently, there are a number of methods for obtaining, from measurements supplied by accelerometers, magnetometers and rate gyros, an estimation of the orientation of the object.
There are so-called optimization methods that implement one or more optimization criteria, but these are relatively costly in terms of computation times. Furthermore, when the problem becomes complex, defining the optimization criteria is difficult.
There are also methods that implement neural networks, the latter requiring a consequent learning phase, notably with regard to the size of the database and the computation time, to obtain an accurate estimation.
Moreover, for the optimization methods and those that implement neural networks, it is difficult to take account of the concept of state trend over time, which makes them less robust.
There are also methods that implement an observer, which, unlike the abovementioned methods, make it possible to merge information from two sources: information originating from the measurements supplied by the sensors and information originating from a trend model, and do so while maintaining a computation time that is compatible with a real-time implementation.
The known methods that use an observer rely mainly on the use of a Kalman filter. The advantage of this technique is that it allows for the merging of the data while taking account of the quality of the information provided by the measurements supplied by the sensors and the quality of the model.
There are a number of types of Kalman filter, well known to those skilled in the art:
In addition to the choice of filter, the quality of the measurements injected into the filter, and notably the trustworthiness of their value, is of great importance.
In practice, as mentioned previously, the measurements include an informative part that is directly linked to the orientation of the moving object and a disturbing part, the nature of which depends on the sensor concerned. Firstly, these are proper accelerations for the measurements supplied by the accelerometers, magnetic disturbances for the measurements delivered by the magnetometer and bias for the rate gyros. It is also necessary to take account of the measurement noise, but said noise is conventionally processed in the filter.
There are currently a number of methods for processing the disturbances. One of them consists in considering the disturbances to be negligible and supplying the filter with the measurements as delivered by the sensors, as is the case in the documents “Design, implementation and experimental results of a quaternion-based Kalman filter for human body motion tracking”, YUN X., BACHMANN E. R. IEEE Transactions On Robotics, 2006, 22(6), and “Application of MIMU/Magnetometer integrated system on the attitude determination of micro satellite”, SU K., REN D. H., YOU Z., ZHOU Q., International Conference on Intelligent Mechatronics and Automation, August 2004, Chengdu, China. Consequently, in the case where a disturbance actually occurs on one of the sensors, the measurement supplied by the filter is errored but the filter will consider it to be exact. The estimation of the orientation then becomes incorrect. It is therefore not possible to neglect the disturbances to obtain an estimation with the desired accuracy, regardless of the number of degrees of freedom. Performance levels are therefore greatly degraded, since the disturbed measurements are supplied as such to the observer.
Estimation methods therefore make it possible to take account of the one-off imperfection in certain measurements by detecting the presence of disturbances and by updating the trustworthiness of these measurements, as is for example described in the document “Portable orientation estimation device based on accelerometers, magnetometers and gyroscope sensors for sensor network”, HARADA T., UCHINO H., MORI T., SATO T. IEEE Conference on Multisensor Fusion and Integration for Intelligent Systems, 2003. This method provides an additional step for detecting disturbance in the measurements. When a disturbance is detected, the trust in the corresponding measurement is minimized.
The information provided by the measurement including a disturbance is not therefore taken into account in estimating the orientation. The estimation of the orientation then relies only on the measurements supplied by the other sensors. Now, in the case where the measurements from a number of sensors simultaneously exhibit a disturbance, the observer no longer has enough information to offer a correct orientation estimation.
There is finally a method described in the documents “Inertial and magnetic sensing of human motion”, ROETENBERG D., doctoral thesis, Twente university, Netherlands, 2006, and “Measuring orientation of human body segment using miniature gyroscopes and accelerometers”, PhD Thesis, Inertial sensing of human movement, LUINGE H. J. n 2002b, in which provision is made to detect the presence of disturbances and estimate them, by virtue of the observer. For this, the state vector is augmented and the disturbances occur in the measurement model which becomes closer to reality. This technique seems, in principle, to be suited to the case of movements with six or nine degrees of freedom. However, the combined estimation of the disturbances and of the orientation is difficult because of a lack of observability. It also requires a large number of parameters to be set, which increases the complexity of its implementation.
It is therefore one aim of the present invention to offer an orientation estimation method that provides an accurate orientation estimation, regardless of whether proper accelerations and magnetic disturbances are present, and do so in a simplified manner compared to the existing methods.
The previously stated aim is achieved by a method of estimating orientation on the basis of measurements along the three spatial axes of acceleration, magnetic field and rotation speed, comprising:
The method does not disregard the disturbances, which means that the estimation is not errored; it constantly estimates them. If they exist, it does not reject the associated measurement or measurements, as in the case of other estimation methods. Furthermore, it does not incorporate them in the state vector or in the measurement model, which simplifies the model and does not lead to situations in which estimation becomes impossible.
Provision is therefore made to estimate the orientation, and possibly estimate the disturbances, in two successive steps. The observer is therefore provided with measurements from the accelerometers, magnetometers and rate gyros that are as close as possible to ideal conditions for estimating orientation: that is to say, without proper accelerations, without magnetic disturbances and without bias, respectively.
For this, provision is made to use the orientation estimated at the preceding moment as additional information for performing the preprocessing of the measurements.
The estimation method according to the invention therefore makes it possible to extract, from the sensor measurements, the orientation of the object in an optimal manner, regardless of the movement concerned. This method is, moreover, simple to implement and comprises only a small number of setting parameters.
The observer is advantageously an extended Kalman filter.
Provision can be made to estimate the disturbances, notably the proper accelerations, which makes it possible, by integration and double-integration, to get back to the speed and the position of the object respectively.
The main subject of the present invention is therefore a method of estimating the orientation of an object in space at time k using the measurements of the total acceleration, magnetic field and rotation speed of said object along three spatial axes, comprising the following steps:
A—preprocessing of said measurements at a moment k to detect the existence of a disturbance in said measurements, said disturbance belonging to a group comprising a proper acceleration of the object, a magnetic field added to the earth's magnetic field and a bias in the measurement of the rotation speed, and to estimate disturbance-free measurements at time k,
B—estimation of the orientation at time k by an observer from the estimated disturbance-free measurements at time k obtained from the step A.
The step A advantageously comprises:
A1—a preprocessing of the rotation speed measurements,
A2—a detection of the existence or non-existence of a disturbance at time k in said measurements of the total acceleration and magnetic field,
A3—in case of absence of disturbance at time k, the estimated disturbance-free measurement at time k is equal to the measurement at time k, and in case of disturbance, the disturbance-free measurement estimated at time k is calculated on the basis of the orientation estimated at the preceding moment k−1.
The step A1 consists in subtracting, from the rotation speed measurements, an average bias determined during a preliminary initialization step. This average bias can be obtained by immobilizing the means supplying the rotation speed measurements during a given time and calculating the average of the values of the rotation speed measurements on each axis. In the case of an attitude control unit worn by a person, this immobilization entails removing the control unit from the person to do away with the inevitable tremors of the person.
The step A2 for preprocessing the acceleration and magnetic field measurements may comprise:
Provision is advantageously made in the step A2.1 for an additional test on the estimated disturbance at time k−1: in the case where the absolute value of the difference between the norm of the measurements of the total acceleration and that of the gravitational field at time k is below the predetermined threshold, a check is carried out to see whether the norm of the estimated accelerometric disturbance at time k−1 is below a predetermined threshold, if this test is positive, it is assumed that the accelerometric disturbance is effectively zero at time k, and/or provision is made in the step A2.2 for an additional test on the estimated magnetic disturbance at time k−1: in the case where the absolute value of the difference between the norm of the magnetic field measurements and that of the earth's magnetic field is below the predetermined threshold, a check is carried out to see whether the absolute value of the estimated magnetic disturbance at time k−1 is below a predetermined threshold, if this test is positive, it is assumed that the magnetic disturbance is effectively zero at time k. This additional step makes it possible to improve the accuracy of the estimation method.
In unfavorable cases of use in which it is known that the estimated orientation may drift, the robustness of these comparison tests of the steps A2.1 and A2.2 is however assured only over a limited time window, which differs depending on circumstances. The comparison tests are therefore advantageously performed over time bands as indicated later in the description. Thus, using {tilde over (y)}A,k, {tilde over (y)}M,k, {tilde over (y)}G,k to denote the measurements obtained on completion of the preprocessing step, which are called estimated disturbance-free measurements:
TA may be a parameter of constant value whereas the value of TM may be linked to the speed of the movement.
By using this variant, which can be located on the same equipment and activated by the user, there is no need to look for the values of the measurements at time k−1 and the drift is therefore dispensed with.
The observer used in the step B is preferably an extended Kalman filter, which is quick and easy.
The step B for estimating the orientation from measurements estimated at time k may comprise:
The state vector used in the extended Kalman filter may contain the elements of the angular speed and of the orientation quaternion.
The state vector used in the extended Kalman filter advantageously contains only the elements of the orientation quaternion, which makes it possible to simplify the structure of the state and measurement models.
Also the subject of the present invention is an attitude control unit comprising means suitable for supplying acceleration measurements, means of measuring the magnetic field, and means of measuring the rotation speed along three spatial axes, said means being intended to be joined in movement to an object, and means of estimating an orientation at time k on the basis of the measurements supplied by said measurement means, said estimation means comprising:
The attitude control unit according to the present invention may also comprise means of calculating an average bias of the rotation speed measurement means during a control??.
The preprocessing means comprise means of detecting the existence of a proper acceleration in the acceleration measurements and means of detecting the existence of magnetic disturbances in the magnetic field measurements.
The attitude control unit according to the invention may also comprise means of estimating the proper acceleration and of calculating the speed and the position of the object.
The means suitable for supplying total acceleration measurements, magnetic field measurements and rotation speed measurements along three spatial axes are advantageously MEMS sensors.
The present invention will be better understood from the following description and the appended drawings in which:
The aim is to obtain the orientation of an object moving in space, for example the orientation of a person. For this, an attitude control unit is used which comprises sensors suitable for supplying total acceleration, magnetic field and rotation speed measurements along the three spatial axes. The sensors are advantageously MEMS sensors that offer a reduced cost price and a limited footprint.
For the acceleration measurement, it may be, for example, a triaxial accelerometer or three uniaxial accelerometers supplying a measurement on each of the axes.
Similarly, for the magnetic field measurements, it may be a triaxial magnetometer or three uniaxial magnetometers.
For the rotation speed measurement, it may be, for example, three uniaxial rate gyros or advantageously two biaxial rate gyros.
The triaxes may be aligned or not, but in the latter case, the relative orientation between the axes must be known.
Hereinafter in the description, in the interests of simplicity, we will designate the accelerometer or accelerometers as an accelerometer, the magnetometer or magnetometers as a magnetometer and the rate gyro or rate gyros as a rate gyro. These sensors are attached to the object for which the orientation is to be known.
We have only the measurements y, that we will model by:
The orientation is estimated relative to a reference coordinate, entirely defined by the datum of the vectors G0 and H0. For example, the geocentric coordinate is defined by the vectors G0 (0; 0; 1) and H0 (0.5; 0; √{square root over (3)}/2).
In the interests of simplicity, we will not differentiate the measurements in the three spatial directions.
As will clearly emerge from the mathematical definition (I) of the measurements, each of these measurements respectively comprises a first part “−RGO”, “R·HO” and ω, which contains the information with which to obtain an estimation of the orientation, a second part a, d and b which represents the possible disturbances that may appear, randomly, in the measurements, and finally a third part vA, vM, VG representing the measurement noise on each sensor.
In the method according to the present invention, provision is made after the collection of the measurements for a preprocessing step before the measurements are used in a processing step intended to provide an estimation of the orientation.
In the following description of the method, the estimation of the orientation at time k, k being a proper integer greater than or equal to 2, is taken as an example.
The method according to the present invention comprises a step 100 of initialization of the attitude control unit, a step 200 of preprocessing of the measurements supplied by the sensors and a third processing step 300 by the observer. Each of the steps will be described in detail hereinafter in the description.
Before describing the various steps of the method according to the invention in detail, we will describe the observer. Advantageously, the observer used in the measurements processing step is an extended Kalman filter, which is simple, robust and quick to implement.
This filter is widely known to those skilled in the art and will not be described in detail. We will give only the mathematical expressions of the state model and of the measurement model.
A Kalman filter comprises a state model defining the temporal and dynamic trend of the states, and a measurement model which is used to link the sensor measurements and the states.
The state vector of the Kalman filter consists, according to a first modeling, the three elements of the angular speed and of the four elements of the quaternion defining the orientation.
The associated state and measurement models may be, respectively:
with x: state vector
For simplicity, the vector quaternion [0, G0] of dimension 4×1 is identified with the vector G0 of dimension 3×1 and the same applies for the vector quaternion [0, H0] of dimension 4×1, the vector H0 also being of dimension 3×1.
Advantageously, according to a second modeling, a state vector can be used that contains only the elements of the quaternion, the latter being of no more than dimension 4, whereas it is of dimension 7 in the first modeling. The gyrometric measurement is then injected directly into the state model and the measurement vector contains only the measurements from the accelerometer and the magnetometer.
The state model and the measurement model can then be expressed:
This second modeling can be used to simplify the structure of the state and measurement models since their dimension is directly reduced. Moreover, the number of setting parameters, notably the elements of the covariance matrices of the modeling noise, of the measurement noise and of the state vector estimation error, is also restricted, which makes it easier to implement this method. The estimation results obtained in this way are of a similar accuracy to those obtained using the first modeling.
We will now describe in detail the steps 100, 200 and 300 according to the present invention.
The initialization step 100 provides for the average disturbance of the rate gyro to be estimated. This disturbance b, which is in fact the bias of the rate gyro, varies between two limit values.
For the initialization step (k=1):
Either the proper acceleration a1 and the magnetic disturbance d1 is known at the initial moment, in which case the initialization step includes determination of the state vector x1: the angular speed is assumed zero at the initial moment, the quaternion is determined by optimization using the corrected acceleration and magnetic field measurements of the disturbances a1 and d1; or the orientation in the initial state is known, in which case a1 and d1 can be deduced.
The step 100 for initializing the control unit at k=1 also comprises:
During the step 200, the measurements delivered by the three sensors are preprocessed during three steps 210, 220 and 230. Depending on the context in which the method is used and the desired accuracy, there are a number of possible variant embodiments.
The first step 210 is identical in all the embodiments. During this step 210, represented in
In the description, the acceleration is given in multiples of G0 (earth's magnetic field), and the magnetic field is given as multiples of H0 in the interests of simplicity.
In a first embodiment, two tests are performed, advantageously in parallel, to detect the existence of accelerometric disturbances (step 220) and magnetometric disturbances (step 230). During the step 220, the measurements delivered by the accelerometer yA,k at time k are preprocessed. This step 220 comprises a first substep 220.1 for detecting the existence or nonexistence of a disturbance, i.e. of a proper acceleration a, and a second substep 220.2 for construction of a preprocessed measurement of the acceleration {tilde over (y)}A,k on the basis of the orientation estimated at the preceding moment k−1.
During the step 220.1, in order to detect the existence or nonexistence of a proper acceleration a, the norm of the measurement yA,k is compared to the norm of the gravitational field (as a reminder, the method works in multiples of G0), so a comparison is therefore made relative to 1:
If |∥yA,k∥−1|<αA,
Advantageously, if the test is positive, the following test is added:
|âk-1|<βA
The comparison of the norm of the proper acceleration estimated at time k−1, âk-1, at βA, is advantageously used to exclude particular cases for which the first test is insufficient. In practice, it is assumed that if, at time k−1, the proper acceleration has a high value, i.e. greater than βA, it is improbable that, at time k, the proper acceleration will be less than βA. αA and βA are, for example, equal to 0.04 and 0.2 respectively.
This second test therefore improves the accuracy of the estimation of the disturbance-free measurement {tilde over (y)}A,k and therefore of the estimation of the orientation.
If the above two tests are positive, a decision is then made that the proper acceleration âk is zero at time k. During the step 220.2, the estimated measurement is then equal to yA,k and can be used directly by the observer.
âk=0
{tilde over (y)}A,k=yA,k
Otherwise, during the step 220.2, a new acceleration measurement is constructed by virtue of the estimated orientation {circumflex over (q)}k-1, estimated at the preceding moment.
The disturbance-free accelerometric measurement estimated at time k is then expressed using the measurement model:
{tilde over (y)}
A,k
=−{circumflex over (
k-1
G
0
{circumflex over (q)}
k-1,
A value of the proper acceleration âk at time k can also be deduced therefrom (step 220.3), which makes it possible by integration and double integration respectively to deduce therefrom the speed and the position of the object.
The proper acceleration is equal to:
ã
k
=y
A,k
+{circumflex over (
k-1
G
0
{circumflex over (q)}
k-1, since yA,k={tilde over (y)}A,k+âk
During the step 230, similar to the step 220, the measurements delivered by the magnetometer yM,k at time k are preprocessed. This step 230 comprises a first substep 230.1 for detection of the existence or nonexistence of a magnetic disturbance d, and a second substep 230.2 for construction of a preprocessed measurement of the magnetic field {tilde over (y)}M,k on the basis of the orientation estimated at the preceding moment k−1.
During the step 230.1, in order to detect the existence or nonexistence of a magnetic disturbance d, the norm of the measurement yM,k is compared to the norm of the magnetic field (as a reminder, the method works in multiples of H0), so a comparison is therefore made relative to 1:
If |∥yM,k∥−1|<αM,
Advantageously, in case of a positive test for nonexistence of a disturbance of the magnetic field, the following test is added:
|{circumflex over (d)}k-1|<βM
The comparison of the norm of the magnetic disturbance estimated at time k−1, {circumflex over (d)}k-1, at βM, can advantageously be used to exclude particular cases for which the first test is insufficient. In practice, it is assumed that if, at time k−1, the magnetic disturbance has a high value, i.e. greater than βM, it is improbable that, at time k, the magnetic disturbance is less than βM. αM and βM are, for example, equal to 0.04 and 0.2 respectively.
This second test therefore improves the accuracy of the estimation of the disturbance-free measurement {tilde over (y)}M,k and therefore of the estimation of the orientation.
If the above two tests are positive, a decision is then made that the magnetic disturbance {circumflex over (d)}k is zero at time k. During the step 230.2, the estimated measurement is then equal to yM,k and can be used directly by the observer.
dk=0
{tilde over (y)}M,k=yM,k
Otherwise, during the step 230.2, a new measurement of the magnetic field is constructed by virtue of the estimated orientation {circumflex over (q)}k-1, estimated at the preceding instant.
The disturbance-free magnetometric measurement estimated at time k is then expressed using the measurement model:
{tilde over (y)}M,k={circumflex over (
A value of the magnetic disturbance at time k can also be deduced therefrom (step 230.3), which is equal to:
{circumflex over (d)}
k
=y
M,k
−{circumflex over (
k-1
H
0
{circumflex over (q)}
k-1, since yM,k={tilde over (y)}M,k+{circumflex over (d)}k
A second embodiment is particularly applicable in cases where it is known that the estimation of the orientation may drift significantly. In these cases, it is advantageous to define time windows in which the tests for existence of accelerometric and magnetometric disturbances are performed.
In this variant, for the accelerometric measurements test, the comparison provided for in the step 220 is performed over a window that ends at the moment tk: if a proper acceleration is detected (norm of the accelerometric measurements different from the norm G0 to within αA on at least one of the measurements of the window [tk−TA; tk]), then the disturbance-free accelerometric measurement is constructed by virtue of the orientation estimated at the preceding moment; otherwise, the disturbance-free accelerometric measurement is equal to the measurement involved in the preprocessing phase (sensor measurement). The value of the proper acceleration is calculated from the sensor measurement. Typical values given only as examples for αA and TA are 0.2 g and 0.4 s.
The test for absence of a proper acceleration is then expressed:
Advantageously, the proper acceleration may be calculated systematically, even in the case where thresholds are not exceeded, by the same formula as in the first variant embodiment:
â
k
=y
A,k
+{circumflex over (
k-1
G
0
{circumflex over (q)}
k-1
Then, or in parallel (this second option being advantageous since it provides for a time saving) the test for detection of disturbances of the magnetometric signal provided for in the step 230 is carried out: if a magnetic disturbance is detected (norm of the magnetometric measurements different from the norm of H0 to within αM on at least one of the measurements of the window [tk−TM; tk]), then the disturbance-free magnetometric measurement is constructed by virtue of the orientation estimated at the preceding moment. Otherwise, the disturbance-free magnetometric measurement is equal to the measurement involved in the preprocessing phase (sensor measurement). The value of the magnetic disturbance is then calculated from the sensor measurement. Typical values given only as examples for αM and TM are respectively 0.1 h and 0.5 s.
The test for nonexistence of a disturbance is then expressed:
Advantageously, the magnetic disturbance can be calculated systematically even in cases where thresholds are not exceeded, by the same formula as in the first variant embodiment:
{circumflex over (d)}
k
=y
M,k
−{circumflex over (
k-1
H
0
{circumflex over (q)}
k-1
In these first two embodiments, the steps 202 and 203 are advantageously performed in parallel.
On the other hand, a third embodiment can be used to enhance the accuracy of the detection, when this is necessary and when the device includes sufficient computation storage means to use trigonometric functions. In this case, the advantage obtained by the parallel performance of the detection calculations is dispensed with and it is more advantageous to perform the test for the existence of magnetic disturbance after the test for the presence of a proper acceleration. At the output of this first calculation of step 202, uk=angle(−{tilde over (y)}A,k, yM,k) is also calculated and u0 is used to denote the angle measured between the vectors G0 and H0. This parameter can then be calculated during the initialization step 100. Then, the test for detection of magnetic disturbance is performed as follows: if a magnetic disturbance is detected (norm of the magnetometric measurements different from the norm of H0 to within αM or angle uk different from u0 to within αu on at least one of the measurements of the window [tk−TM; tk]), then the disturbance-free magnetometric measurement is constructed by virtue of the orientation estimated at the preceding moment. Otherwise, the disturbance-free magnetometric measurement is equal to the measurement involved in the preprocessing phase (sensor measurement). The value of the magnetic disturbance is then calculated from the sensor measurement.
Advantageously, two different values of TM will be used depending whether a proper acceleration is present or not (respectively TM
The test for existence of a disturbance is then expressed:
During the step 300, the preprocessed measurements {tilde over (y)}A,k, {tilde over (y)}M,k, {tilde over (y)}G,k are used by the observer. An extended Kalman filter is, for example, used in its factorized form.
We will now explain the calculation steps performed by the filter.
We will assume that we are using the second modeling. However, obviously, the first modeling can be used similarly.
The step 300 comprises the following steps:
a) A priori estimation of the state vector,
b) A priori estimation of the measurements,
c) Calculation of the gain Kk of the Kalman filter and of the innovation Ik,
d) Correction of the a priori estimated state.
The steps a) to d) will be described in detail below.
During the step a), an a priori estimation is made of the state vector at time k from the a posteriori estimation of the state vector at time k−1.
The estimation of the a priori state vector is given by:
{circumflex over (x)}
k
−
={circumflex over (x)}
k-1
+Te·f({circumflex over (x)}k-1)
During the step b), the measurement model (III) is used to perform an estimation of the measurements using the state vector estimated in the step a):
ŷ
k
−
=h({circumflex over (x)}k−)
During the step c), the gain Kk and the innovation Ik are calculated, the innovation being obtained by subtracting the a priori estimated measurements from the preprocessed measurements.
The following is obtained:
During the step d), the a priori estimated state is corrected with the gain and the innovation.
{circumflex over (x)}
k
={circumflex over (x)}
k
−
+K
k
·I
k
This correction gives an a priori estimation of the orientation {circumflex over (q)}k at time k. Advantageously, during a subsequent step e), the estimated quaternion is normalized
which makes it possible to avoid a drift in each step of the calculation.
The method according to the present invention offers the advantage of providing the observer with measurements that are close to disturbance-free measurements, consistent with the measurement model. The influence of the disturbances on the estimation of the orientation is therefore greatly reduced. It also makes it possible to permanently provide the observer with information originating from each of the sensors even when disturbances are present, by maintaining a constant trust in each measurement. In practice, the combined use of the measurements from the accelerometer, from the magnetometer and from the rate gyro makes it possible to reduce the influence of the measurement errors (measurement noise, remaining disturbances, remaining rate gyro bias) on the estimated orientation.
The method according to the present invention makes it possible to estimate the orientation, but also the proper accelerations and the magnetic disturbances at each sampling interval, regardless of the movement carried out up to nine degrees of freedom. Implementing this method is very simple, since it relies on the use of basic building blocks: value tests, analytical calculations, extended Kalman filter
Number | Date | Country | Kind |
---|---|---|---|
08 04116 | Jul 2008 | FR | national |
This application is a national phase application under §371 of PCT/EP2009/059225, filed Jul. 17, 2009, which claims priority to French Patent Application No. 0804116, filed Jul. 18, 2008, the entire content of which is expressly incorporated herein by reference.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP2009/059225 | 7/17/2009 | WO | 00 | 4/11/2011 |