LPE performing poorly, despite high quality optical flow and mocap

Hi Everyone,

I have recently integrated a vicon camera array with mavros and have been running some tests flights to evaluate the performance of the different estimators and to tune the position controller of my quadrotor. In my application I am using a Pixhawk v2 fmu, and I would like to share my results and hopefully get feedback.

So far I have been unable to achieve basic position hold using the LPE estimator. My analysis of the logs indicate that there are problems with the estimator. I have produced and linked CSVs of logs that I parsed using sdlog2. The Vicon data was streamed to the pixhawk over the radio link via mavros. The data was sent in the VISION_POS_ESTIMATE messages.

If you examine plots of the LPOS data against the VISION data, taking the VISION data as “ground truth” you can see that the system’s performance is unnacceptable. Also, if you examine the radio inputs, you can see when the quadcopter is in POS_CNTL mode based on the state of RC_C5 (high - POS_CNTL).

Here is a link to the zip of the logs. Note that there are a few that aren’t actual flights. If anyone is interested, I can also provide my python script that I use to generate plots from the logs.

Hopefully tomorrow I will have new logs using EKF2.

Can LPE work with VICON now? I had the impression that not supported yet…

I was under the impression that it did support mocap, there are several parameters related to vision input that are used by the LPE module. However I wouldn’t be surprised if its not supported because the performance was awful.