Giter VIP home page Giter VIP logo

Comments (5)

nikolicj avatar nikolicj commented on August 19, 2024 11

Dear Xinke

Thank you for your inquiry.

ADIS16448 DATASHEET

Most datasheets specify values for what we refer to as the "white noise" or "broadband noise" strength (gyroscope_noise_density (sigma_g) and accelerometer_noise_density (sigma_a)) in Kalibr's IMU noise model. The datasheet you refer to (http://www.analog.com/media/en/technical-documentation/data-sheets/ADIS16448.pdf) refers to these values as Rate Noise Density for the gyros and as Noise Density for the accles (Table I). The units are (up to scale) rad/s/sqrt(Hz) and m/s^2/sqrt(Hz), which matches our model.

Datasheets rarely (never) specify the noise model parameters corresponding to the "bias part" of Kalibr's gyro and accel models. The reason for this it that real gyros and accels do not exhibit noise characteristics which match the standard model we (and many others) use. This is why the Allan deviation is often provided.

The "Angular Random Walk" (gyro) and the "Velocity Random Walk" are not related to the "bias part" of Kalibr's IMU model. These values say little about the long-term bias fluctuations. Analog devices specifies them as the Allan deviation at an integration period of 1 s (see https://ez.analog.com/docs/DOC-2163). And you can indeed make to following computation:

Take the "Rate Noise Density", specified as 0.0135deg/s/sqrt(Hz), virtually integrate this idealized "white noise process" over a period of 1 s, and scale to the units of the "Angular Random Walk" provided in the datasheet (deg/sqrt(Hr)):

0.0135 * sqrt(3600) => 0.81 deg/sqrt(Hr), vs. 0.66 deg/sqrt(Hr) in the datasheet.

The small discrepancy might be explained by the fact that in reality the "white noise" is rather some "broadband noise" and does not have a flat power spectrum. You can similarly verify this for the accelerometer.

In conclusion: You can obtain the gyroscope_noise_density and the accelerometer_noise_density directly from Analog Device's datasheet, but not the gyroscope_random_walk and the accelerometer_random_walk (except from the Allan variance given in the datasheet, or very indirectly from the "in-run bias stability", if you are willing to make a few additional engineering-type assumptions).

Does that answer your question?

ADIS16448 PARAMETERS FOR KALIBR

The parameters specified in https://github.com/ethz-asl/kalibr/wiki/yaml-formats are not used by us anymore. We will replace these with the ones we use for calibrations involving the ADIS16448, and with which @rehderj obtains good results (see [1]). They can be obtained with the method proposed in the wiki. The values for the gyroscope_noise_density and the accelerometer_noise_density roughly match the values provided in the datasheet, and you can use one or the other.

gyroscope_noise_density
proposed here: 1.87 * 10^-4 rad/s/sqrt(Hz)
datasheet: 2.36 * 10^-4 rad/s/sqrt(Hz)

accelerometer_noise_density
proposed here: 1.86 * 10^-3 m/s^2/sqrt(Hz)
datasheet: 2.26 * 10^-3 m/s^2/sqrt(Hz).

Let uns know if you need more information on this, Xinke.

J. Rehder: Extending kalibr: Calibrating the Extrinsics of Multiple IMUs and of Individual Axes, Table II

adis_mpu_noise_params

from kalibr.

CtfChan avatar CtfChan commented on August 19, 2024 3

Hi what did you mean when you said that you can obtain the random walk parameters "very indirectly from the in-run bias stability"?

from kalibr.

XinkeAE avatar XinkeAE commented on August 19, 2024

Hi,

Thanks for the quick reply. It was very helpful!

Xinke

from kalibr.

cynosure4sure avatar cynosure4sure commented on August 19, 2024

Can anyone explain the process of obtaining random walk parameters from in-run bias stability?

I see in the new values for adis mentioned the units are different for gyroscope white noise. Does kalibr expect gyroscope white noise in new units through .yaml file or were the units change merely for the publication and kalibr accept same units as mentioned in the wiki? Thank you.

from kalibr.

mnissov avatar mnissov commented on August 19, 2024

I think the original answer made an error in getting PSD from the datasheet.

The first problem was in suggesting that "rate noise density" and "noise density" are the analogues to gyro/accel noise density as kalibr expects. As the former quantities are RMS values in this case. My impression is that the value most resembling the gyro/accel PSD (which is what kalibr wants) is the "angular random walk" and "velocity random walk" in this datasheet.

I think this error is further reflected in the comparison of datasheet values with empirically estimated values. If we say the values "proposed here" are trustworthy, then you can see the random walk values get much closer to the empirically estimated values:

gyro PSD
proposed here: 1.87 * 10^-4 rad/s/sqrt(Hz)
datasheet (rate_noise_density): 2.36 * 10^-4 rad/s/sqrt(Hz)
datasheet (angular_random_walk): (0.0135 / sqrt(3600) * pi/180) = 1.92 * 10^-4 rad/sqrt(s)

accelerometer PSD
proposed here: 1.86 * 10^-3 m/s^2/sqrt(Hz)
datasheet (noise density): 2.26 * 10^-3 m/s^2/sqrt(Hz).
datasheet (velocity_random_walk): (0.11 / sqrt(3600)) = 1.83 * 10^3 m/s/sqrt(s)

Note also the units match, rad/sqrt(s) == rad/s/sqrt(Hz) and m/s/sqrt(s) == m/s^2/sqrt(Hz)

My impression is the terminology is quite often misused when talking about these quantities, but at least here "angular random walk" and "velocity random walk" is consistent with Woodman's "An introduction to inertial navigation". Also, it is consistent with the kalibr [wiki][(https://github.com/ethz-asl/kalibr/wiki/IMU-Noise-Model#the-noise-model-parameters-in-kalibr)

from kalibr.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.