The technical field of the invention relates to movement sensors of the gyrometer or accelerometer type. The objective of the invention is to process the signals generated by these sensors while taking into account a bias, in order to obtain more precise measurements.
Movement sensors have undergone considerable development, in particular because of their use in portable devices and especially connected portable devices. These sensors generate a signal, at various measurement times, depending on their movement at said measurement times. Among these sensors, mention may for example be made of gyrometers, which allow an angular velocity of rotation to be obtained for one or more angles of rotation. On the basis of this velocity, angles of rotation of the sensor may be estimated.
It is known that the signals generated by this type of sensor may be affected by a bias. This bias may for example be caused by a sensor imperfection of electrical or mechanical origin. In the case of a gyrometer, the bias may for example result from a variation in the temperature or humidity of the environment in which the sensor is placed, or be due to a variation in a supply current used to power the sensor. This bias may vary over time. For this reason it must be estimated frequently, so as to take into account the variation of the bias as a function of time and allow measurements that are precise enough to be obtained.
Methods have been developed with the aim of estimating bias so as to allow it to be taken into account. A first solution is based on comparison of information generated by various types of sensors. Document US 2011/0178707 for example describes estimating a bias affecting the measurements of a gyrometer by estimating an angular velocity using a magnetometer and an accelerometer. The angular velocity thus estimated is compared to the angular velocity delivered by the gyrometer. This comparison allows the bias affecting the values measured by the gyrometer to be determined. Such a method however assumes the presence of sensors of various types and requires complex computational operations.
A second solution is based on determining times that are propitious for determining bias. For example, document EP0496172 describes estimating the bias of a gyrometer of the navigation system of a vehicle. The bias of the gyrometer is evaluated when the vehicle is not moving.
This approach is also followed in US20110172820, this document describing a method for correcting a gyrometer integrated into a robot. The bias of the gyrometer is updated when the robot is considered to be immobile. The robot is considered to be immobile at times when variations in the measurements delivered by the gyrometer are below a threshold. When such a threshold is crossed, the robot is considered to be immobile. The bias of the gyrometer is then estimated by calculating a mean value of the signals delivered by the gyrometer while the robot is considered to be immobile. It is specified, in this document, that the threshold is determined either theoretically or experimentally.
An approach based on the detection of periods of immobility of the sensor is satisfactory, because it does not require other types of movement sensors. However, detection of a period of immobility requires a threshold and setting this threshold may pose a number of difficulties: when the threshold is too high, the sensor is considered to be immobile even though it may not be entirely so. The bias, although updated frequently, may be poorly estimated, and in particular overestimated, if the sensor is considered to be immobile even though it is still moving. When the threshold is too low, the bias is correctly estimated, because the threshold then corresponds to periods in which the sensor is sufficiently immobile. However, the bias cannot be updated frequently, and the measurements may be adversely affected because of variability in the bias.
The objective of the invention is to allow the bias of a movement sensor to be updated precisely and as often as possible, without recourse to other movement sensors.
A first subject of the invention is a method for processing signals generated by a sensor, each signal being associated with a measurement time, the method including the following steps:
The iterations may be carried out at each measurement time, or every n measurement times, n being an integer higher than 1.
The sensor may in particular be a movement sensor, in which case the signals generated by the sensor are representative of a movement of said sensor over time.
According to an embodiment, in step e), the bias is updated when the dispersion indicator crosses the dispersion threshold.
According to an embodiment, in step e), in the update of the dispersion threshold, the latter is replaced by the dispersion indicator calculated, at the measurement time, in step c).
According to one embodiment, the initial bias is zero. In this embodiment, up to the first update of the bias, no bias is subtracted from the measured signals. According to another embodiment, the initial bias is set beforehand, for example during testing of the sensor or during a preceding use of the sensor.
According to one embodiment, when the bias is kept at an unchanged value, the dispersion threshold is updated, between two successive iterations, according to a variation function. Thus, in this embodiment, the value of the dispersion threshold may vary over time, and more particularly between two successive iterations.
According to one embodiment, the dispersion indicator calculated in step c) increases as the dispersion of the signals acquired over the analysis time period increases, in which case, in step e), the bias is updated when the dispersion indicator is lower than the dispersion threshold.
According to one embodiment, the dispersion indicator calculated in step c) decreases as the dispersion of the signals acquired over the analysis time period increases, in which case in step e), the bias is updated when the dispersion indicator is higher than the dispersion threshold.
According to one embodiment, in step d), the dispersion indicator is calculated depending on:
In step e), the update of the bias may comprise associating an estimation time period with the measurement time, the bias being updated depending on a value representative of the signals measured over said estimation time period. Step e) may then include estimating the mean value or the median value of the signals generated by the sensor over the estimation time period. The estimation time period may be identical to the analysis time period.
The sensor may in particular be a movement sensor, the signal generated by the sensor at each measurement time being representative of the movement of the sensor at said measurement time. The sensor may be a gyrometer or an accelerometer.
According to one embodiment, two successive iterations are carried out every n measurement times, n being an integer strictly higher than 1. According to this embodiment, in step g), the measurement time is incremented by n increments. Between two iterations, all or some of the measurement signals may then be stored in memory, in particular during the analysis time period and the estimation time period corresponding to the following iteration.
Another subject of the invention is a sensor able to deliver a signal at various measurement times, the sensor being connected to a processor configured to implement, at various measurement times, steps b) to g) of the method that is the first subject of the invention, after an initialization phase corresponding to step a) of said method. The sensor may in particular be a movement sensor able to generate, at each measurement time, a signal representative of a movement of the sensor at said measurement time. It may in particular be a gyrometer.
Other advantages and features will become more clearly apparent from the following description of particular embodiments of the invention, which embodiments are given by way of nonlimiting example, and shown in the figures listed below.
In the following examples, an angular velocity about one axis of rotation is considered even though the method may be applied to a plurality of axes of rotation. In the latter case, the method may be applied to each axis of rotation independently.
The device includes a processor 20 configured to acquire the signals sk delivered by the gyrometer 10 and to implement the steps described below. The processor 20 is connected to a memory 21 containing instructions for implementing said steps.
Beyond an initialization phase Δt0 corresponding to the first acquired signals, it is possible to assign an analysis time period Δtk to each measured signal sk, and to calculate, for said period, an indicator, called the dispersion indicator vk. The dispersion indicator vk is representative of the dispersion of the signals measured over the analysis time period Δtk associated with the measurement time tk. The objective of the dispersion indicator is to detect times of immobility at which the sensor may be considered to be immobile. Just as in the prior art, it is at such times of immobility that the bias of the sensor may be estimated.
The analysis time period Δtk contains measurement times preceding a measurement time tk. For example, each analysis time period Δtk contains the times tk . . . tk−K where k corresponds to the increment of the measurement time at which the signal sk is measured and K is a positive integer corresponding to the number of measurement times forming the analysis time period Δtk. K is preferably high enough to make it possible to estimate a dispersion indicator vk that is sufficiently representative of the dispersion of the measurement signals over the analysis time period Δtk. K naturally depends on the sampling frequency. When the latter is comprised between 10 and 200 Hz, K is preferably comprised between 5 and 50, and for example equal to 30. The analysis time period Δtk is typically between 100 ms and 5 s long, and preferably between 100 ms and 1 s long. This allows the dispersion of the measurement signals during the analysis time period to be estimated with sufficient precision, while also allowing sufficiently brief phases of immobility to be detected.
The dispersion indicator vk associated with a measurement time tk may be established on the basis of the variance σk2 or the standard deviation σk of the signals sk measured during the analysis time period Δtk. More generally, the dispersion indicator vk corresponding to an analysis time period Δtk is established on the basis of a statistical indicator of a distribution formed by the signals sk measured during said analysis time period. The statistical indicator may be a moment of the distribution, in particular a moment mr of order r strictly higher than 1 of the distribution. The dispersion indicator may for example be obtained from the second moment (standard deviation) or from the third moment (skewness) or from the fourth moment (kurtosis). The term moment encompasses a central moment or a standardized central moment.
The dispersion indicator vk may also be determined via a comparison between a maximum value maxk and a minimum value mink of the signals sk measured during an analysis time period Δtk. The comparison may take the form of a subtraction or a ratio.
In the following examples, the dispersion indicator vk associated with each measurement time tk (and with each measured signal sk) is the standard deviation of the signals measured during the analysis period Δtk associated with the measurement time tk.
The main steps of a first embodiment of the invention will now be described with reference to
Step 100: Initialization.
In an initialization phase, for example corresponding to the first moments of use of the sensor 10, the bias of the sensor is initialized to an initial value of the bias m0. The initial value of the bias may be zero or may be defined beforehand arbitrarily, for example on the basis of a bias stored in memory during a previous use of the sensor 10, or on the basis of tests carried out on the sensor in the factory.
The initialization also includes assigning an initial value to a dispersion threshold vth,0. This value may be set, or result from a previous use of the sensor 10.
Following the initialization step, steps 110 to 150 are implemented iteratively, each iteration being assigned an iteration rank k. In the first iteration, k=1.
Step 110: acquisition of a signal sk generated by the gyrometer 10. The signal sk is acquired at a measurement time tk. With this measurement time tk is associated an analysis time period Δtk such as defined above. Provided that k<K, the analysis time period is defined between tk,k=1 and the measurement time tk.
Step 120: calculation of a dispersion indicator. An indicator vk of the dispersion of the signals sk−K . . . sk measured in the analysis time period Δtk is calculated. This dispersion indicator corresponds to the measurement time tk. Provided that k<K, the dispersion indicator is either considered to be equal to an arbitrary value, or established in the analysis period defined in step 110. The signals sk−K . . . sk are stored in a memory, until the dispersion indicator vk is calculated.
Step 130: comparison. The dispersion indicator vk corresponding to the measurement time tk is compared with the dispersion threshold vth,k, called the current dispersion threshold, associated with the measurement time tk. In the first iteration (k=1), the dispersion threshold vth,k=1 corresponds to the initial dispersion threshold vth,0 defined in the initialization phase.
Depending on the comparison, either a step 140 of updating the bias and the dispersion threshold is triggered, or the step 150 of correcting the measured signal is passed to.
When the dispersion indicator vk increases as the dispersion of the signals in the analysis time period Δtk increases, this corresponding to the case shown in
Step 140: Update of the bias and of the dispersion threshold.
With each iteration is associated a bias mk, called the current bias, that is intended to be subtracted from the measured signal sk. In the first iteration (k=1), the bias mk−1 is the initial bias m0 resulting from the initialization. Step 140 corresponds to an update of the bias to be considered. This step is implemented when the sensor is considered, on the basis of the comparison carried out in step 130, to be sufficiently immobile. The term sufficiently immobile describes the fact that the update is triggered when the sensor is considered to be more immobile than in the preceding update. It includes the following substeps:
Step 150: Correction of the measured signal
In this step, the measured signal sk is corrected depending on the current bias mk, in particular via a subtraction sk−mk. Depending on the comparison carried out in step 130, the current bias mk results either from a preceding iteration or from the initialization phase, or from the update carried out in step 140. When, in the initialization, the value of the initial bias is zero, or when no initial bias value is defined, no correction of the bias is carried out in step 150, until a first update of the bias.
The iteration rank k is incremented and steps 110 to 150 are reiterated. The iteration may take place at each measurement time, in which case the iteration rank is incremented by 1 such that, in the following iteration, mk+1=mk and vth,k+1=vth,k. The iteration may also occur every n measurement times, n being an integer strictly higher than 1, such that, between two successive iterations, the sensor measures n−1 measurement signals. In this case, in mk+n=mk and vth,k+n=vth,k. All or some of the signals measured between two successive iterations may be stored in memory, in particular the signals measured during the estimation and analysis time periods taken into account in each iteration.
At a time tk2, the dispersion indicator vk2 crosses the dispersion threshold vth,k2=vk1. A second estimation mk2 of the bias is carried out considering an estimation time period Δt′k2. From this time, i.e. at the time tk2, the dispersion threshold vth,k is replaced by the dispersion indicator vk2. At a time tk3, the dispersion indicator vk3 crosses the dispersion threshold vth,k3=vk2. A third estimation mk3 of the bias is carried out considering an estimation time period Δt′k3. From this time, i.e. at the time tk3, the dispersion threshold vth,k is replaced by the dispersion indicator vk3. According to the same principles, a new update mk4 of the bias and of the dispersion threshold vth,k4=v3 is carried out at the time tk4. From this time, i.e. at the time tk4, the dispersion threshold vth,k is replaced by the dispersion indicator vk4.
An important aspect of the method is the replacement of the dispersion threshold vth,k by the dispersion indicator vk associated with the update time tk. In the example considered, in which the update is carried out when the dispersion indicator is below the dispersion threshold, this leads to a gradual decrease in the value of the dispersion threshold, such that the dispersion threshold after an update is necessarily lower than the dispersion threshold before the update. This is shown in
v
th,k0
>v
k1
>v
k2
>v
k3
>v
k4.
When the dispersion indicator increases as the dispersion decreases (for example if the dispersion indicator considered is equal to the inverse of the standard deviation), step 140 is carried out when the dispersion indicator exceeds the dispersion threshold. In this case, the method tends to gradually increase the value of the dispersion threshold.
Generally, the method tends to attribute, to each bias update, a relevance indicator, the latter corresponding to the simultaneously updated dispersion threshold. A bias is updated only if conditions more propitious to bias renewal present themselves, such conditions being expressed by a dispersion indicator representative of a dispersion of the measurement signals that is lower than in the preceding update.
In the example shown in
Steps referenced with the same numbers are identical to those described above. The method includes a step 145 in which the dispersion threshold varies in a way dependent on the variation function ƒ. Thus, following step 140:
Although described with reference to a gyrometer, the invention will also possibly be applied to other sensors requiring a regular update of a bias, whether they be movement sensors or other types of sensor. In the field of movement sensors, the invention will possibly be applied to a gyrometer, as described in the above example, but also to magnetometers, in particular when they are configured to deliver a reference measurement when they are immobile, the reference measurement being known. In the examples described above, the reference measurement is equal to zero when the gyrometer is immobile. The method may be applied to a vertical axis of an accelerometer, the reference value being gravity. In this case, in a period of immobility of the sensor, corresponding to the estimation period described above, the mean of the measurements corresponds to the sum of gravity and of the bias. The bias is therefore obtained by subtracting gravity from the mean of the measurements during the estimation period.
The invention will possibly be applied to movement sensors with which portable devices (for example smartphones, watches or connected objects) are equipped.
Number | Date | Country | Kind |
---|---|---|---|
17 52268 | Mar 2017 | FR | national |