ethz-asl / rotors_simulator

RotorS is a UAV gazebo simulator
1.24k stars 759 forks source link

How are random walk and noise density IMU values obtained (ADIS16448) #720

Open nousername1234500 opened 1 year ago

nousername1234500 commented 1 year ago

Hello,

In the file gazebo_imu_plugin.h, I am wondering how the below values were obtained from the ADIS16448 spec sheet.

static constexpr double kDefaultAdisGyroscopeNoiseDensity = 2.0 35.0 / 3600.0 / 180.0 GZ_PI; static constexpr double kDefaultAdisGyroscopeRandomWalk = 2.0 4.0 / 3600.0 / 180.0 GZ_PI; static constexpr double kDefaultAdisGyroscopeBiasCorrelationTime = 1.0e+3; static constexpr double kDefaultAdisGyroscopeTurnOnBiasSigma = 0.5 / 180.0 GZ_PI; static constexpr double kDefaultAdisAccelerometerNoiseDensity = 2.0 2.0e-3; static constexpr double kDefaultAdisAccelerometerRandomWalk = 2.0 3.0e-3; static constexpr double kDefaultAdisAccelerometerBiasCorrelationTime = 300.0; static constexpr double kDefaultAdisAccelerometerTurnOnBiasSigma = 20.0e-3 9.8;

From the spec sheet (https://www.analog.com/media/en/technical-documentation/data-sheets/adis16448.pdf), the below values are stated: Angular Random Walk: 0.66 deg/sqrt(hr) Gyro Noise Density: 0.0135 deg/sec/sqrt(Hz) Velocity Random Walk: 0.11 m/sec/sqrt(hr) Accel Noise Density: 0.23 mg/sqrt(Hz)

I understand that the units are different, but am not sure how the conversion is done between the two. Any help would be appreciated. Thanks!