local position NED issues - resetting and severe altitude drift
-
Hi, we were setting up RTK using the mRo u-blox zed-f9 rtk l1/l2 gps on a VOXL 2. This module doesn't have a magnetometer, so we disabled the mag in PX4 params for testing. Every time we would move the drone to a new location, its local position would update while moving but return to (0, 0, Z) once we put it down (i.e. either the reference position which is only supposed to be set on boot-up is getting constantly reset, or the local position estimator is not working properly). We looked through the px4 parameters but nothing seemed off and we couldn't really find anything about the local position estimator. We were finally able to trace the problem (maybe) back to voxl-inspect-pose. voxl-inspect-pose --local had no output, as did --fixed, so my current guess is the lack of magnetometer is causing the pose estimator to mess up, which is then causing px4's local_pose_NED mavlink topic to behave the way it is.
Assuming this is the problem, my solution would be to add an external mag thru the J19 connector i2c pins 4 and 5. Should this just work? The mag units we have are also accelerometers, so I'm not sure if that will throw it off.
As for the altitude drift, we kind of expected RTK to fix it but it didn't. The height estimate still slowly drifts up to +- 1.5 meters, which is crazy especially considering it should be fusing with the barometer data.
Thanks for your help, or for any input you can provide!
-
EDIT: After retesting with the old non-RTK gps module (has mag) we are still getting the same issue. Local NED position is not being properly updated, and voxl-inspect-pose --local outputs nothing. Have tested the voxl-innspect-pose command on a starling and it works great, key difference is we have that one running qvio server. Not sure if qvio server is required for the local pose estimator to work?
-
@jonathankampia voxl-inspect-pose displays the pose from VIO.
-
@Eric-Katzfey Yeah I realized that it wasn't really a proper debug tool. However, the problem still stands that the local NED position estimate is getting reset fairly often, seemingly for no reason, which is a huge problem for autonomy. Looking at the raw GPS data with our RTK system it seems to be extremely accurate, only fluctuating a few centimeters. I don't know if the local position thing is a voxl service problem or a PX4 firmware issue; we reflashed the board with SDK 1.3.3 (or whatever the latest one was as of 8/21/24) and the modalai px4 1.14 branch. Still same issue, no idea what's going on
-
@jonathankampia Do you have any sort of external vision or distance sensor being fed into PX4? How is the parameter EKF2_EV_CTRL set?
-
@Eric-Katzfey The EKF2_EV_CTRL param is set to 15 bits (all enabled). We don't have any cameras on the drone at the moment, though. Could that be introducing issues in the EKF2 and causing it to reset? I'll try disabling all vision stuff and see if it works different.