System and method for IMU motion detection utilizing standard deviation

In an example embodiment, motion is detected with an IMU utilizing standard deviation. Specifically, an IMU may obtains IMU measurements. An IMU motion detection process may accumulate a particular number of IMU measurements over a time interval to calculate an absolute magnitude of earth rate (ERimu) value and an absolute magnitude of normal gravity value (GNimu). The values calculated may be referred to as a sample. The IMU motion detection process may create sample rolling histories based on a particular number of samples, e.g., consecutive samples. The IMU motion detection process may then calculate standard deviation values for a sample rolling history based on the ERimu and GNimu values included in the sample rolling history. The IMU motion detection process may compare the standard deviation values to respective motion threshold values, which may be adaptive, to determine if a body of interest, e.g., vehicle, is moving or is stationary.

BACKGROUND

Technical Field

The invention relates generally to inertial measurement units (IMUs), and in particular, to a system and method for IMU motion detection utilizing standard deviation.

Background Information

With high grade inertial measurement units (IMUs), the absolute magnitude of earth rate and normal gravity computed directly from IMU measurements can be compared to threshold values of an inertial navigation system (INS) to accurately detect motion, where the threshold values may be set based on the biases and errors associated with the high grade IMUs. With low grade IMUs, e.g., consumer grade IMUs, which introduce larger biases and errors, the thresholds must be increased. Thus, if a vehicle to which the IMU is coupled is moving along slowly (e.g., creeping), the INS may incorrectly determine that the vehicle is stationary because the computed absolute magnitude of earth rate and normal gravity may not exceed the bumped up or increased thresholds. As such, convergence to solve for the biases and errors to reach steady-state may take longer with low grade IMUs.

SUMMARY

Techniques are provided for inertial measurement unit (IMU) motion detection utilizing standard deviation. IMU measurements, e.g., delta angles and delta velocities, are provided to an inertial navigation system (INS). An IMU motion detection process of the INS may accumulate a particular number of the IMU measurements over a time interval, e.g., 1 second, to calculate an absolute magnitude of earth rate (ERimu) value and an absolute magnitude of normal gravity (GNimu) value. The ERimuvalue and GNimuvalue calculated over the time interval are together hereinafter referred to as a sample.

The IMU motion detection process may then create sample rolling histories based on a particular number of samples, such as consecutive samples. For example, if the particular number, e.g., window size, is 5, the IMU motion detection process may create 5-sample rolling histories. The motion detection process may then calculate standard deviation values, e.g., ERdetectionvalue and GNdetectionvalue, for each created sample rolling history utilizing the ERimuvalues and GNimuvalues of the sample rolling history.

The motion detection process may then compare the standard deviations values, e.g., ERdetectionvalue and the GNdetectionvalue, for a sample rolling history to respective motion threshold values, which may be preconfigured and/or adaptive, to determine whether motion is detected. Specifically, when both the ERdetectionvalue and the GNdetectionvalue for a sample rolling history are less than or equal to the respective motion threshold values, the IMU motion detection process may determine that the system, e.g., a vehicle, to which the IMU is coupled is stationary. However, when either of the ERdetectionvalue or the GNdetectionvalue for the sample rolling history is greater than the respective threshold value, the IMU motion detection process may determine that the system to which the IMU is coupled is moving.

By utilizing the standard deviation, (i.e., relative variation, of the ERimuvalues and GNimuvalues) to detect motion according to the one or more embodiments described herein, more sensitive threshold values may be utilized than the threshold values (i.e., bumped up or increased threshold values) utilized by traditional motion detection systems that use an IMU. Advantageously, the one or more embodiments describes herein may utilize a consumer grade IMU to detect motion of a vehicle that is moving along slowly (e.g., creeping), which in turn allows for reduced convergence time.

DETAILED DESCRIPTION OF AN ILLUSTRATIVE EMBODIMENT

Referring toFIG. 1, a system100includes a body of interest, i.e. vehicle,102capable of moving. Coupled to the vehicle may be a global navigation satellite system (GNSS) receiver104, an inertial navigation system (INS)110, and an antenna106. The antenna106, coupled to the vehicle and in communication with the GNSS receiver104, may receive one or more satellite signals from one or more GNSS satellites108. The GNSS receiver104may, based on the reception of the satellite signals at the antenna106, produce GNSS raw measurements, such as pseudoranges, carrier phases, and Doppler velocities; GNSS position, velocity and time, position covariance, and velocity covariance; and, as appropriate, GNSS observables. The GNSS raw measurements, GNSS position, velocity and time, the position covariance and the velocity covariance and the GNSS observables are hereinafter referred to collectively as “GNSS measurement information.”

The INS110includes an inertial measurement unit (IMU)112that reads data from sensors (e.g., one or more accelerometers and/or gyroscopes) that produces IMU measurements. In an embodiment, the sensors may be orthogonally positioned. An INS filter113processes, in a known manner, the GNSS measurement information, when available, and the IMU measurements to produces INS-based position, velocity and attitude. The GNSS receiver104, INS110, and IMU112may include processors, memory, storage, other hardware, software, and/or firmware (not shown).

In addition, the INS110includes an IMU motion detection process114that implements one or more embodiment described herein. In an embodiment, the IMU motion detection process114may be software and implemented by hardware. In an embodiment, the IMU motion detection process114is executed by a processor (not shown).

FIG. 2is a flow diagram of a sequence of steps for IMU motion detection utilizing standard deviation. For simplicity purposes, the example values utilized herein may be rounded to a particular number of decimal digits. However, it is expressly contemplated that the one or more embodiments described herein may be implemented using values that are rounded to any number of decimal digits in order to, for example, obtain different precision.

The procedure200starts at step205and continues to step210where the IMU112obtains IMU measurements. For example, the IMU112may be a 125 Hz IMU and consist of one or more accelerometers and/or gyroscopes, and the errors (e.g., biases, scale factor, non-linearities, etc.) associated with the gyroscopes may, for example, be on the order of several thousand degrees/hr. The IMU measurements may include, but are not limited to, delta angles (Δw) and delta velocities (Δv). In an embodiment, Δw is the delta angle measured+biases at the IMU rate. In an embodiment, Δv is the delta velocity measured+biases at the IMU rate. The biases may be the inherent errors associated with the sensors of the IMU114that make the measurements.

For example, the following table shows 10 example Δw and Δv values in the x, y, and, z axis obtained by a consumer grade IMU112at different times over the defined time interval:

The unit for Δw may be radians/second/sample rate (rad/s/sample rate) and the units for Δv may be meter/second squared/sample rate (m/s2/sample rate).

The procedure continues to step215and the IMU motion detection process114accumulates a particular number of IMU measurements over a time interval to calculate an absolute magnitude of earth rate (ERimu) value and an absolute magnitude of normal gravity (GNimu) value. For example, the time interval may be 1 second and the IMU motion detection process114may accumulate a particular number, e.g., 125, of the IMU measurements over 1 second to calculate the ERimuvalue and the GNimuvalue that make up a sample. Specifically, the IMU motion detection process114may utilize the following formulas to calculate the ERimuvalue and the GNimuvalue for a sample:

ERimu=((∑k=1n⁢(Δ⁢⁢wxk-w⁢⁢biasx))2+(∑k=1n⁢(Δ⁢⁢wyk-w⁢⁢biasy))2+(∑k=1n⁢(Δ⁢⁢wzk-w⁢⁢biasz))2)1⁢/⁢2GNimu=((∑k=1n⁢(Δ⁢⁢vxk-v⁢⁢biasx))2+(∑k=1n⁢(Δ⁢⁢vyk-v⁢⁢biasy))2+(∑k=1n⁢(Δ⁢⁢vzk-v⁢⁢biasz))2)1⁢/⁢2
where n is the number of IMU measurements (e.g., 125) accumulated over the time interval (e.g., 1 second), Δwxis the delta angle measured by the IMU112in the x axis, wbiasxis the estimated angular rate bias in the x axis, Δwyis the delta angle measured by the IMU112in the y axis, wbiasyis the estimated angular rate bias in the y axis, Δwzis the delta angle measured by the IMU112in the z axis, wbiaszis the estimated angular rate bias in the z axis, Δvxis the delta velocity measured by the IMU112in the x axis, vbiasxis the estimated velocity rate bias in the x axis, Δvyis the delta velocity measured by the IMU112in the y axis, vbiasyis the estimated velocity rate bias in the y axis, Δvzis the delta velocity measured by the IMU112in the z axis, and vbiaszis the estimated velocity rate bias in the z axis.

For this example, and based on particular IMU measurements, the IMU motion detection process114calculates, for a first new sample (sample 1′), the ERimuvalue to be 0.034641 rad/s (i.e., 7138 deg/hr) and the GNimuvalue to be 9.91728 m/s2.

The procedure continues to step220and the IMU motion detection process114creates sample rolling histories based on a particular number of samples, such as a particular number of consecutive samples. For example, the particular number, e.g., window size, may be 5 and the IMU motion detection process114may create 5-sample rolling histories. The window size of 5 is for illustrative purposes only, and it is expressly contemplated that the window size may be any value. In this example, let it be assumed that a first 5-sample rolling history (History Epoch 1) is:

History Epoch 1SampleGNimuERimu19.91750.034629.91450.034639.91440.034649.91800.034559.91590.0345

The IMU motion detection process114may then create a second 5-sample rolling history (History Epoch 2) by removing the oldest sample (sample 1) from History Epoch 1 and by adding the first new sample, which includes the ERimuvalue of 0.034641 rad/s and the GNimuvalue of 9.91728 g, to History Epoch 1. As such, the second 5-sample rolling history (History Epoch 2) is:

History Epoch 2SampleGNimuERimu29.91450.034639.91440.034649.91800.034559.91590.03451'9.91730.0346

For this example, let it be assumed that the IMU motion detection process114calculates, after the first new sample and for a second new sample (sample 2′), the ERimuvalue to be 0.0347 rad/s and the GNimuvalue to be 9.9178 m/s2.

Therefore, the IMU motion detection process140may then create a third 5-sample rolling history (History Epoch 3) by removing the oldest sample (sample 2) from History Epoch 2 and by adding the second new sample to History Epoch 2. As such, the third 5-sample rolling history (History Epoch 3) is:

History Epoch 3SampleGNimuERimu39.91440.034649.91800.034559.91590.03451'9.91730.03462'9.91780.0347
The IMU motion detection process114may continue to create sample rolling histories in a similar manner and as new ERimuvalues and GNimuvalues are calculated over the time interval by the IMU motion detection process114for new samples.

The procedure continues to step225and the IMU motion detection process114calculates, for each sample rolling history, a standard deviation value from the GNimuvalues of the sample rolling history and a standard deviation value from the ERimuvalues of the sample rolling history.

Specifically, the IMU motion detection process114may first calculate a mean value (e.g., GNmean) from the GNimuvalues of the sample rolling history and a mean value (e.g., ERmean) from the ERimuvalues of the sample rolling history. For example, the IMU motion detection process114may calculate the mean values for History Epoch 1 (GNmean1and ERmean1) as follows:

The IMU motion detection process may then calculate a standard deviation (detection) value (e.g., GNdetection) for the GNimuvalues of the sample rolling history and a standard deviation (e.g., ERdetection) value for the ERimuvalues of the sample rolling history utilizing the following formula:

detection=[[∑k=1n⁢(sampl⁢ek-sample_k)2]n-1]1/2
where n is the window size, samplekis a GNimuvalue or a ERimuvalue from the sample rolling history, andsamplekis the GNmeanvalue or the ERmeanvalue for the sample rolling history.

For example, the IMU motion detection process114may calculate the standard deviation values for History Epoch 1 (GNdetection1and ERdetection1) as follows:

The procedure continues to step230and the IMU motion detection process114compares the standard deviation values, e.g., the GNdetectionvalue and the ERdetectionvalue, for a sample rolling history to motion threshold values. The motion threshold values may be predetermined or defined by a user. In addition or alternatively, the threshold values may be adaptive and may change over time based on the behavior of the system100. In an embodiment, the threshold values may be adaptive and may be based on an average of a selected number of GNdetectionvalues and an average of a selected number of ERdetectionvalues, as described in further detail below.

The procedure continues to step235and the IMU motion detection process114determines if either of the standard deviation values, e.g., GNdetectionvalue and/or the ERdetectionvalue, for a sample rolling history is greater than the respective motion threshold value. Specifically, the ERdetectionvalue for a sample rolling history may be compared to a motion threshold value for earth rate and the GNdetectionvalue for the sample rolling history may be compared to a motion threshold value for normal gravity.

If, at step235, the IMU motion detection process114determines, for a sample rolling history, that the GNdetectionvalue is greater than the motion threshold value for normal gravity or the ERdetectionvalue is greater than the motion threshold value for earth rate, the procedure continues to step240and the IMU motion detection process114determines that the system (e.g., vehicle102) to which the IMU112is coupled is moving.

If, at step235, the IMU motion detection process114determines that both the GNdetectionand ERdetectionvalues for the sample rolling history are less than or equal to the respective motion threshold values, the procedure continues to step245and the IMU motion detection process114determines that the system to which the IMU112is coupled is stationary.

In this example, the motion threshold value for normal gravity (GNthreshold) is 0.0025. In addition, and in this example, the motion threshold value for earth rate (ERthreshold) is 0.00025. Therefore, and in this example, for the first sample rolling history (History Epoch 1), the IMU motion detection process114compares the GNdetection1value of 0.001659 to the GNthresholdvalue of 0.0025 and also compares the ERdetection1value of 0.000053 to the ERthresholdvalue of 0.00025. Since both values are less than or equal to the respective motion threshold values, the IMU motion detection process114determines that the vehicle is stationary during History Epoch 1. Had either of standard deviation values been greater than the respective threshold values, the IMU motion detection process114would have determined that the vehicle is moving during History Epoch 1.

The IMU motion detection process114may operate in a similar manner for each of the other different History Epochs to detect, for example, motion for a different time frame (e.g., History Epoch 2).

By utilizing the standard deviation, i.e., relative variation, of the ERimuvalues and GNimuvalues to detect motion according to the one or more embodiments described herein, more sensitive threshold values may be utilized than the threshold values (e.g., bumped up or increased threshold values) utilized by traditional motion detection systems that use an IMU. Advantageously, the one or more embodiments describes herein may utilize a consumer grade IMU to detect motion of a vehicle that is moving along slowly (e.g., creeping), which in turn allows for reduced convergence time.

The procedure ends at step250. It is expressly contemplated that the procedure may loop back to step210, after determining whether the vehicle102is stationary or moving in steps240and245for a particular History Epoch, to obtain additional measurements and calculate additional standard deviations to determine if the vehicle102is stationary or moving for different History Epochs according to the one or more embodiments described herein.

FIG. 3is a flow diagram for utilizing adaptive threshold values for IMU motion detection that utilizes standard deviation according to one or more embodiments described herein. For simplicity purposes, the example values utilized herein may be rounded to a particular number of decimal digits. However, it is expressly contemplated that the one or more embodiments described herein may be implemented using values that are rounded to any number of decimal digits in order to, for example, obtain a different precision.

The procedure300starts at step305and continues to step310where the IMU motion detection process114utilizes baseline threshold values (e.g., GNthresholdand ERthreshold) for a selected number of History Epochs, e.g., a selected number of consecutive GNdetectionvalues and ERdetectionvalues calculated from sample rolling histories in the manner described with reference toFIG. 2, to detect motion. The baseline threshold values may be predefined, for example. In addition, a sample size (i.e., window size) may be utilized to determine the number of History Epochs, i.e., the number of consecutive History Epochs, that are to utilize the baseline threshold values. In this example, let it be assumed that the baseline GNthresholdvalue is 0.005, the baseline ERthresholdvalue is 0.0003, and the window size is 5. As such, the baseline threshold values are utilized for History Epochs 1 through 4, e.g., 1 less than the window size. The following table includes example GNdetectionvalues and the ERdetectionvalues for History Epochs 1 through 4, calculated from sample rolling histories in the manner describe with reference toFIG. 2, that utilize the baseline threshold values:

Accordingly, the motion detection process114may compare GNdetectionvalues and the ERdetectionvalues, as depicted in the table above, to the respective baseline threshold values for each History Epoch to determine whether motion is detected for the History Epoch in the manner described with reference toFIG. 2. In this example, the GNdetectionvalues (e.g., 0.000595, 0.000624, 0.000622, and 0.000621) are less than the GNthresholdvalue of 0.0050 for History Epochs 1 through 4. In addition, the ERdetectionvalues (e.g., 0.000017, 0.000019, 0.000007, and 0.000005) are less than the ERthresholdvalue of 0.00030 for History Epochs 1 through 4. As such, the IMU motion detection process114determines that the system, e.g., vehicle102, to which the IMU112is coupled is stationary for History Epochs 1 through 4.

The procedure then continues to step315and the IMU motion detection process114calculates standard deviation values (e.g., GNdetectionvalue and the ERdetectionvalue) for a next History Epoch. Specifically, the IMU motion detection process114may calculate the GNdetectionvalue and the ERdetectionvalue from a next sample rolling history in the manner described with reference toFIG. 2. In addition, the first next History Epoch may be equal to the window size (e.g., History Epoch 5). In this example, the GNdetectionvalue and the ERdetectionvalue for the next History Epoch are:

The procedure continues to step320and the IMU motion detection process114calculates adaptive threshold values for the standard deviation values (e.g., GNdetectionand ERdetectionvalues) calculated for the next History Epoch based on at least an average of a selected number of standard deviation values. In this example, the next History Epoch is History Epoch 5. The IMU motion detection process114may calculate the adaptive threshold value (e.g., GNthresholdk) for the GNdetectionvalue and the adaptive threshold value (e.g., ERthresholdk) for the ERdetectionvalue as follows:

For example, a user may determine during a testing period that when a scale factor of 3.5 is utilized, 60% percent of the standard deviation values, calculated for particular History Epochs where the vehicle is known to be stationary, are in fact less than or equal to the threshold values that are multiplied by the scale factor (e.g., 40% of the standard deviation values, calculated for particular History Epochs where the vehicle is known to be stationary, are incorrectly greater than the threshold values multiplied by the scale factor). As such, the user may utilize a scale factor of 7.5 such that 99% of particular standard deviation values, calculated for particular History Epochs where the vehicle is known to be stationary, are in fact less than or equal to the threshold values multiplied by the scale factor.

In this example, the scale factor is 7.5. Although reference is made to utilizing the same scale factor of 7.5 for the two adaptive threshold values, it is expressly contemplated that different scale factors may be utilized for each of the two adaptive threshold values.

Therefore, and in this example, the IMU motion detection process may calculate the adaptive threshold values (e.g., GNthreshold5and ERthreshold5) for History Epoch 5 as follows:

The following table shows the GNdetectionvalues, the ERdetectionvalues, the GNthresholdvalues, and the ERthresholdvalues for History Epochs 1 through 5:

As illustrated in the table above, History Epochs 1 through 4 utilize the baseline threshold values while History Epoch 5 utilizes the adaptive threshold values.

The procedure then loops back to step315to calculate a GNdetectionvalue and a ERdetectionvalue for a next History Epoch, and then continues to step320to calculate, for the next History Epoch, an adaptive threshold value for the GNdetectionvalue and an adaptive threshold value for the ERdetectionvalue. As such, the threshold values (e.g., GNthresholdand ERthresholdvalues) are adaptively adjusted as new standard deviation values (e.g., GNdetectionand ERdetectionvalues) are calculated to more precisely and accurately detect motion. In this example, let it be assumed that the IMU motion detection process114calculates the GNdetectionvalues and the ERdetectionvalues for History Epochs 6 and 7 from sample rolling histories in the manner described with reference toFIG. 2as:

Therefore, and in this example, the IMU motion detection process114may calculate the adaptive threshold values for History Epoch 6 as follows:

Similarly, the IMU motion detection process114may calculate the adaptive threshold values for History Epoch 7 as follows:

In this example, the GNdetection6value of 0.000419 is less than the GNthreshold6value of 0.0043 for History Epoch 6. In addition, the ERdetection6value of 0.000015 is less than the ERthreshold6value of 0.00009 for History Epoch 6. As such, the IMU motion detection process114determines that the system, e.g., vehicle102, to which the IMU112is coupled is stationary for History Epoch 6 based on the adaptive threshold values.

Further, and in this example, the GNdetection7value of 0.000454 is less than the GNthreshold7value of 0.0040 for History Epoch 7. In addition, the ERdetection7value of 0.000019 is less than the ERthreshold7value of 0.00009 for History Epoch 7. As such, the IMU motion detection process114determines that the system, e.g., vehicle102, to which the IMU112is coupled is stationary for History Epoch 7 based on the adaptive threshold values.

The following table shows the GNdetectionvalues, the ERdetectionvalues, the GNthresholdvalues, and the ERthresholdvalues for History Epochs 1 through 7:

As illustrated in the table above, History Epochs 1 through 4 utilize the baseline threshold values while History Epochs 5 through 7 utilizes the adaptive threshold values.

Therefore, an initial baseline threshold value may be utilized, and the one or more embodiments described herein may advantageously “tune” (adjust) the threshold values based on the environment in which the system operates, which is reflected in the calculated standard deviation values. For example, consider a situation where an IMU112is in a vehicle120, e.g., locomotive, but isolated from external forces (e.g., winds, people, etc.) that could generate false indications of movement. As such, and according to the one or more embodiments described herein, the thresholds values may be tuned, e.g., adjusted down, based on the standard deviation values calculated during consecutive History Epochs such that motion detection is more precise and accurate. However, if the IMU112in the vehicle120is in a location that is susceptible to the external forces, the threshold values may be adjusted down, but not as much as when the IMU112is isolated from the external forces so that false indications of movement are reduced or eliminated. Thus, the threshold values are adjusted (i.e., adapted) based on the environment such that the system may utilized different threshold values in different environments. Accordingly, the one or more embodiments described herein provide advantages in the technological field of IMU motion detection.

The foregoing description described certain example embodiments. It will be apparent, however, that other variations and modifications may be made to the described embodiments, with the attainment of some or all of their advantages. For example, each of the one or more embodiments described herein may be used with one or more other embodiments described herein. In addition, although reference is made to the IMU motion detection process114being within the INS110, it is expressly contemplated that the IMU motion detection process114may be part of the IMU112, or GNSS receiver104and implement one or more embodiments described herein. Alternatively, the IMU motion detection process114may be part of a hardware component that is separate and distinct from the IMU112, INS110, and GNSS receiver104and implement one or more embodiments described herein.