Okay, flew with your modified version 4.1.0-beta8. Logs and parameters.
No instabilities whatsoever with the flight that were worrisome in any way, to get that out of the way.
It felt better. Maybe halfway between what it was before, and how it performs with the surface tracking turned off. I went back and forth, enabling/disabling the surface tracking, so there should be side-by-side comparisons of the overshoots with/without. Definitely a step in the right direction, thank you to both of you for working on it.
You’ll see all this in the log, but I went vertically up and down a few times in a cautious way, then I flew slowly laterally over a ~2m high mound of dirt to check the surface tracking behavior–I didn’t notice any difference from nominal, with regard to the responsiveness as I got over the lump (though admittedly I have less of an intuitive feel for the horizontal behavior than with the vertical overshoots). Then I moved to a slightly new location and spent time going vertically up/down in earnest, with surface tracking on/off, in loiter and alt-hold.
Note I also used this flight to check out the performance of my new 6,000mah li-ion, so that’s why I dragged it out so long and to such a low voltage, so I could see just what I could get before my thrust/weight wasn’t quite enough for comfort. [EDIT: on reviewing the logs, I see that the voltage I was viewing via telemetry is NOT the same as that in the logs. I was seeing ~19.5-20V when I landed, and I’m seeing 17.8 in the logs, and it only recovered to ~18.8. Lucky I was still in the air. I think the capacity may be a bit overstated on this battery! And I need to figure out why I’m seeing the wrong voltage on the taranis telemetry–that’s pretty important.]
Is it worth messing about with the RNGFND_GAIN? I have it at the 0.8 default (at least I think that’s default, I don’t remember changing it). Maybe next time I can throw that onto a knob and play around with it. I suspect that my overhead on thrust:weight is not high enough with this drone for increased ST responsiveness to make much of a difference (i.e. I’m limited by my thrust not the ST responsiveness I believe) in terms of the actual surface tracking functionality, but would that make a difference in the vertical overshoot?
Here’s an overshoot with surface tracking turned on:
And the same scale with surface tracking turned off:
Sorry I should have lingered longer in the final position each time to make the actual achieved altitude more evident.