-
Notifications
You must be signed in to change notification settings - Fork 508
Snapdragon: Poor altitude estimation with range sensor #125
Comments
Yes i can - I will do some analysis on the replay log. |
I'm away on travel for the rest of the week, so will not be able to resume work on this until Sat |
I have some requests for further tests:
Here is a plot of the comparison in height between the range finder, EKF and output predictor geenrated by replaying http://logs.uaventure.com/view/KphLtTVUAttaQhPtUf5XBn through the PR Note that the EKF overshoot following large step changes in range finder is partly due to bias state estimation (similar effect to the use of integrator feedback in a controller). |
Regarding the overshoot and bias estimation. Is this something you observe on all platforms? Could this be tuned away? |
To a lesser extent, some initial drift and overshoot is evident on other platforms, but in-flight the tracking performance is good. The default filter tuning can tolerate large switch-on bias errors for the IMU and rapid changes in bias during flight - ie it is tuned for robustness, not performance. As a result there will be more drift and overshoot in the first 30 seconds after switch on. This can be tuned out, although the initial bias uncertainties are currently hard coded, so I would need to add parameters to enable you to tune them. I have attached plots of the range, EKF height and range finder in-flight variation for my pixhawk optical flow setup. This test was in manual mode so i could jump the hight up and down with the throttle. The offset is due to the Z offset parameter settings for the sensors. I will now have a look at your test data and see if there is anything that shows up. |
I have worked through some potential causes:
and accel bias estimation off (EKF2_AID_MASK = 6) Other than the change in height offset, there is not much difference I will have another look tomorrow |
|
Yes the measurements are fused, but the saturation of the sensor is causing an inconsistency when the copter takes-off or touches down. This makes the solution overshoot. |
@ndepal let me know if there is anything more you think needs to be done inside the ecl library. If not and you now believe your altitude variations are caused by the 'spikes' in the delta velocity , can you please close this issue and raise one on the PX4/Firmware. |
After following the advice given in #111, we have come to the conclusion that altitude estimation performance of the complementary filter is still not satisfactory.
This can be seen in the following image:
EST0.s8
tracks the range data (the sign of which is inverted in the shown plot) well, whileLPOS.Z
does not.LPOS.Z
often overshoots in tracking changes in altitude. At 55s,LPOS.Z
does something completely different thanEST0.s8
. Between 20s and 40s, the quad is placed on the ground (the range sensor saturates at its minimum value) and is disarmed (thus, IMU values are not noisy). Still,LPOS.Z
overshoots significantly and appears to saturate at an offset value.The depicted log is here: http://logs.uaventure.com/view/CYBGUXRipknC9Rr5Ug9kN4
Here is another replay log of my current setup: http://logs.uaventure.com/view/KphLtTVUAttaQhPtUf5XBn
The firmware is on ffb0d37 with all submodules updated.
On top of that I have added a low pass filter for the acceleration measurements fed into the
control_status
with a cutoff frequency of 30Hz, as suggested in the above-mentioned issue. I have also added thecontrol_status
acc measurements to the log file. However, it appears as though we have an estimation problem and not (or not only) a control problem.@priseborough can you help us with this?
The text was updated successfully, but these errors were encountered: