Covariance value in the /visual_slam/tracking/vo_pose topic

I have a question regarding the covariance value in the /visual_slam/tracking/vo_pose topic.
Could you please explain how this value is calculated?

Hi @Ettikan,

The source of randomness in cuVSLAM is the uncertainty of landmark observations, which is set to a predefined default value (for pinhole camera).
When we calculate the pose covariance we:

  1. Take default observation covariances (in pixels)
  2. Recalculate these covariances wrt camera intrinsics
  3. Combine them together and recalculate to the pose covariance. (Assuming that reprojection error is 0 for each observation and given the estimated pose)
  4. Recalculate the pose covariance from Rodriges vector to RPY + translation

You can also follow a webinar made last year where we explained how the cuVSLAM works: Pinpoint, 250 fps, ROS 2 Localization with vSLAM on Jetson