uzh-rpg / rpg_svo_pro_open

GNU General Public License v3.0
1.35k stars 381 forks source link

Question about the `/svo/pose_imu` without including covariance matrix #48

Open lenardxu opened 1 year ago

lenardxu commented 1 year ago

I'd like to use the pose estimate by SVO Pro foir further use, which requires the covariance matrix along with the pose estimate. However, even I find you used geometry_msgs::posewithcovariancestamped as the message type of imu pose, the covariance part is all zeros. Is that what you planned in your algorithm or should I do something in the configuartion file (I actually haven't found any)? Currently, I am using your vio setup by virtue of the configuration file (https://github.com/uzh-rpg/rpg_svo_pro_open/blob/master/svo_ros/param/vio_mono.yaml) Thanks in advance for your help!

lenardxu commented 1 year ago

I then further check your code in terms of IMU propagation, you cancel the propagation the covariance, as shown in invoking the function https://github.com/uzh-rpg/rpg_svo_pro_open/blob/ca371f304637e7fb355cf4624d0a02da4e3da220/svo_ceres_backend/src/estimator.cpp#L201. So, it seems that you don't want to propagate the covariance and finally output the covariance. That is different from your previous version, where the covariance of frame pose is output, as shown in https://github.com/uzh-rpg/rpg_svo/blob/d6161063b47f36ce78252ee4c4fedf3f6d8f2898/svo_ros/src/visualizer.cpp#L182. Could you tell me why you did that? Is that possibly due to the subsequent bundle adjustment step that does not update covariance information as KF, which as a result makes the pose after BA no longer consistent with the one after propagation in terms of the uncertainty? If I'd use the covariance matrix for my use case where the cov mat is needed, what can I do about it?