Vision estimating pose makes jagged thrust and attitudes, and two IMUs used, how to correct the pose?

Hello everyone, I’m using mavros and vision_pose to do offboard control on a drone.

The first step is to set EKF2_HGT_MODE to Vision, to see if the attitude and altitude control works.
(without propellers)

This is my flight review:

I found that the thrust, roll, pitch are set to very weird values.

When I’m using mavros I found that there are two IMUs:

[ INFO] [1541385771.865021131]: IMU: High resolution IMU detected!
[ INFO] [1541385771.865488318]: IMU: Attitude quaternion IMU detected!

Is there any relationship with the two IMUs and the weird poses?

After all, I want to find why the drone is always starting at a jagged thrust.

Thank you in advance,

1 Like


I’m not sure I understand your setup. Are you running some sort of VIO on a companion computer, or how do you come up with the vision_pose? If so, I’m not sure why you would want to use only vision height estimate.

As a first test toward flying in offboard control using VIO, I suggest disabling VIO input in the EKF altogether, running your VIO and making sure that the vision_pose is a reasonable state estimate. If this is the case, you can look into fusing it in the EKF.