Calculating IMU Variance-Covariance Matrix [closed]

asked 2017-12-09 07:10:24 -0500

Marvin gravatar image


  • Differential wheel robot.
  • IMU: Two IMU on chasis (Adafruit 9DOF and Adafruit BNO055). Data: orientation, angular velocity, linear accel.
  • Odometry: wheel encoders Robot_localization package (UKF)

Ideally, I would like to use real variance-covariance data for the imu sensors rather than generic default values.

If I recorded data from the imu whilst stationary, I could compute full covariance matrix (three 3x3 matrix) for each imu. With the imu stationary, none of the values are zero.

Question: would the stationary-based variance-covariance matrix potentially improve the robot_localization output or would I be better off just using default diagonal variances of say 0.01 and zero off-diaognal covariances throughout all matrix?

edit retag flag offensive reopen merge delete

Closed for the following reason question is off-topic or not relevant. Please see for more details. by jayess
close date 2017-12-09 11:51:33.206012


Although this is a robotics question, it isn't a ROS-related question. Perhaps you should ask this question on instead. With so many questions on the site we try to keep them ROS-related.

jayess gravatar image jayess  ( 2017-12-09 11:51:24 -0500 )edit

OK, but since I can't get the ROS package robot_localization to give useful output, ie, pose and orientation that isn't worse and less erratic than odom alone, I thought this was quite a relevant question relating to package configuration.

Marvin gravatar image Marvin  ( 2017-12-10 08:28:17 -0500 )edit

You can edit your question to make it ROS-related and I'll re-open it. But, as-is, it isn't ROS-related.

jayess gravatar image jayess  ( 2017-12-10 12:24:40 -0500 )edit

A simple method for calculating streaming variances. Can be adapted to calculate real sensor data streaming covariances for ROS sensor message covariance matrix.

Marvin gravatar image Marvin  ( 2019-12-29 18:17:48 -0500 )edit