Hello everyone!
I would like to test fusing my own odometry data into the local position estimation within SITL / gazebo, following this tutorial.
But my pose messages do not seem to arrive anywhere.
Also, there already is vision data published by the simulation although I didn’t set up anything alike and there even is no camera at all.
I’m using ROS, so I launch
roslaunch px4 mavros_posix_sitl.launch
qgroundcontrol-start.sh
In the mavros_posix_sitl.launch
file I’ve set <arg name="est" default="lpe"/>
.
In QGroundControl, I’ve set
-
ATT_EXT_HDG_M
to 1 for “vision” -
LPE_FUSION
to “fuse vision position” and “fuse vision yaw”.
Without publishing any position messages, it is possible to takeoff.
LPE_VIS_XY
and LPE_VIS_Z
parameters do effect the flight behavior (shakiness).
Thanks to this thread, I’ve been able to track down where these messages come from (but not really how to avoid them).
On the other hand, if I publish PoseStamped
messages to /mavros/vision_pose/pose
they are ignored:
- The iris quadcopter in gazebo does not behave differently.
- They do not show up in
simulator_mavlink.cpp
I also tried publishing these messages using the /clock
timestamps.
I get similar results using EKF2.
Am I doing something wrong?
More specifically:
How to disable the built-in vision position?
And more importantly: How do I make my vision position messages count?
I’m quite the PX4 newbie, so any help is appreciated.