Ask Your Question

Revision history [back]

Wheel Odometry Covariance

Hi,

I am using robot_localization. I'm using the typical setup

EKF1 fuses encoders + IMU
EKF2 fuses encoders + IMU + GPS

My question is about encoder covariances. The robot_localization documentation says

  • If the odometry provides both position and linear velocity, fuse the linear velocity.
  • If the odometry provides both orientation and angular velocity, fuse the orientation.

Following this advice I am fusing the orientation that the wheel encoders report, but I don't know what to set the encoders pose covariance to. Logically I would think the pose covariance should grow every time you move. It would just keep growing and growing without bound. But when I look at the example pose covariance diagonals of the diff_drive_contoller package it says to use static values

pose_covariance_diagonal: [0.001, 0.001, 1000000.0, 1000000.0, 1000000.0, 0.03]

I'm very confused because diff_drive_controller seems like a commonly used package but those covariances don't make sense to me.

click to hide/show revision 2
None

Wheel Odometry Covariance

Hi,

I am using robot_localization. I'm using the typical setup

EKF1 fuses encoders + IMU
EKF2 fuses encoders + IMU + GPS

My question is about encoder covariances. The robot_localization documentation says

  • If the odometry provides both position and linear velocity, fuse the linear velocity.
  • If the odometry provides both orientation and angular velocity, fuse the orientation.

Following this advice I am fusing the orientation that the wheel encoders report, but I don't know what to set the encoders pose covariance to. Logically I would think the pose covariance should grow every time you move. It would just keep growing and growing without bound. But when I look at the example pose covariance diagonals of the diff_drive_contoller package it says to use static values

pose_covariance_diagonal: [0.001, 0.001, 1000000.0, 1000000.0, 1000000.0, 0.03]

0.03]

I'm very confused because diff_drive_controller seems like a commonly used package but those covariances don't make sense to me.