we are currently facing a constantly increasing overshoot of the x- and y-position of our UAV when using the position hold mode and have not found a solution for this problem yet. Due to the overshooting, the UAV starts circling around the actual position setpoint and thereby tilts in towards the centre of those circles.
We use an UWB tracking system (pozyx) to capture the current flight position and then stream the information from a companion computer via mavros to the /mavros/vision_pose/pose topic.
We are using the LPE and the tracked position is send to the FCU at a rate of ~ 10 Hz. The position reliably arrives at the FCU and the local_position follows the vision_position quite well.
At the moment only the position data is fused into the LPE, to determine the orientation we use an external compass. Therefore we set ATT_EXT_HDG_M = 2 and LPE_FUSION = 4. We tested different values for both LPE_VIS_XY and LPE_VIS_Z but could not find suitable values, which would prevent the overshooting.
We use the Intel Aero Drone with the px4 1.7.1 stable build.
Please find a log of a test flight here: https://logs.px4.io/plot_app?log=8b26c834-94b6-4281-a5b7-a8b3e33334a3
I have also attached a picture from the log file. As you can see, some seconds after switching to the position hold mode x- and y-position start oscillating around the corresponding setpoint. The amplitude of the oscillation increases until we have to switch back to the stabilized flight mode to prevent the UAV form crashing into the wall.
Could anyone provide help for this issue? Do we need to perform PID tuning, is there a malfunction of the compass or the like?
Thanks a lot in advance!