Mavros/vision_speed/speed_twist not being fused by LPE

Hi
I am interfacing visual odometry with the px4 running the LPE (Local Position Estimator). I managed to fuse external position estimates:

The graph shows the visual odometry and LPE output from mavros

My Odometry however outputs position and velocity, not just position. So, Does it make sense to feed both to LPE through mavros? That is, I am splitting the odometry message into pose and twist and publish them on

mavros/vision_pose/pose_cov
mavros/vision_speed/speed_twist

The LPE output I see on mavros/local_position/pose is still looking good. However, next I wanted to check if the twist is actually fused. So I removed the mavros/vision_pose/pose_cov publisher and only published the twist message. I was no longer observing any pose estimate from LPE:

Same graph as before, but LPE output is no longer present

I checked all of the following topics

/mavros/local_position/odom
/mavros/local_position/pose
/mavros/local_position/velocity

and nothing is being published on either of them.


Some more information:

I did set the mavros parameter vision_speed/listen_twist to true. On the px4, I set LPE_FUSION to 12, meaning “Fuse vision position and vision yaw”.

Hi, if I am not reading the code wrong, LPE does not support vision speed fusion yet.

1 Like

Hi, I would like to know how are you plotting these graphs?