Goal of the testing is to fuse visual odometry from ZED stereo camera and GPS data with the PX4 flight stack .
I have written a small snippet that subscribes to /mavros/global_position/global and /zed/pose_cov and does the following
- convert the ZED stereo camera odometer to PX4 NED frame by using static transform
- If /mavros/global_position/global cov is less than a threshold increase covariance value of camera pose to a very high value or else leave the camera pose as it is.
My flight stack details are as follow
- Version : 1.9
- Estimator : EKF2
- EKf2_aid_mask : GPS+VISION_position+Optical_flow+Multirotor_drag_fusion
Type of Platform: Hexcopter
My question is
- What is the difference between the topics /vision/pose and /vision/pose_cov. is it not essential to have a covariance while fusion with ekf . Can someone share some insites onto how things happens inside flight stack ?
- Any comment / modification in my approach ?