My team and I are working on a system to land a quadcopter on a moving platform using the Pozyx UWB positioning system for our Capstone project in university. We have been experimenting with different Pozyx parameters to try to get the quadcopter to have a very stable hover but have had some issues getting this to consistently work.
Initially we started our testing using EKF2. While it was clear that we were getting positional data and using it in loiter mode, the quadcopter would travel in a circle within the area enclosed by our Pozyx anchors. The oscillations in the X and Y dimensions seem much larger than they should be with an UWB positioning system which claims cm-scale accuracy. The first test that we switched to EKF3, we had an extremely stable flight that had no large amplitude oscillations that we previously witnessed in the EKF2 tests. However, we then changed our anchor setup and were not able to replicate this scenario even when going back to the original anchor setup.
We have been following the documentation on the Pozyx for Non-GPS Loiter and using the Indoor Loiter Arduino script to interface the Pozyx tag with the Pixhawk running ArduCopter 3.5/3.6 . However, there is no documentation surrounding what settings the Pozyx anchors are configured to. Initially my team and I thought that the update rate of the beacons was too slow for a stable hover. The Indoor Loiter script prints out the update rate of ranging call to the Pozyx anchors and under the original anchor settings we were running this was around 6 Hz. We then changed the anchor settings to try to get a faster update rate (~20 Hz) and therefore a more stable hover. However, I am now fairly certain that the original low frequency of the update rate was not causing the instability. In fact, I am wondering if the increased update rate can actually make the Kalman filter unstable. As far as I understand, the beacon/anchor ranges are used in the Kalman filter to maintain a more stable hover than would be possible just using the Pozyx Cartesian position. The GPS loiter mode seems to be very stable with a positional update rate of 10 Hz. We have the log file for the very stable hover we achieved as well as all the log files for the numerous unstable hovers.
Does anyone have any insights into EKF2/3, suggestions for getting a more stable hover with Pozyx, or knowledge for what to look at in the log file to get a better idea of what is causing the instability?