Vision position estimates fusion using EKF2


We have an optic flow based odometry system that’s giving us reliable position estimates. We’re passing these estimates onto the px4 using the mavros/vision_pose topic, and we’ve enabled the EKF2_AID_MASK to fuse this data.

However no data is being published on the mavros/local_position/local topic now and neither am I getting any vision data on the mavlink inspector.

I’d be grateful for any help!

Please let me know if my question is missing some info or is redundant in some way, as there seems to be no reply yet…

Are you sure you have a correct Mavlink connection?

Local_position/local should always send you data!

Hi, thank you for your reply!

The vision estimates are being passed properly now, I wasn’t sending them as stamped messages like the estimator expects.

However I’m facing a peculiar problem now. When the EKF2_AID_MASK is set to 8 ie only vision data, and EKF2_HGT_MODE is also set to vision, no angle data is being made available on mavros/imu/data_euler, after the next reboot and the motors refuse to start because of this.

I have to set the parameters back to their default parameters, ie GPS only and barometer, for angle data to be made available again, and then switch them back for vision control.