OK. Did some more tests.
It seems that ATC_RAT_XXX_SMAX does indeed help to reduce oscillations. Just to remind, my main issue was that I was getting 7 Hz oscillations when copter was both descending fast and flying forward slowly. These oscillations were not present at all when climbing or flying level.
However, I had to experiment a lot, I started with a value of 100, and had gradually reduce it to about 2.0 now (going like 100,25,16,12,9,5,4,3…). From 3.5 an effect could be felt. First, there is a parameter, PIDR.dmod which indicated that the SLEW RATE limitation is taking effect, when it takes effect, it goes down from 1.0 to 0 or intermediate values.
I think the documentation in ardupilot of this feature is virtually non-existent and should be redone.
The PIDR.dmod began to go down exactly when I was going down and developping oscillations:
I still get oscillations, they seem to be somewhat reduced in amplitude and seem to appear and disappear (before, they were very constant and regular). The results above were produced with SMAX = 1.95 for both pitch and roll, although I have more problems with Pitch oscillations:
I am not sure whether to leave it as is, or to TRY AND REDUCE FURTHER THE OSCILLATIONS WITH THE RISK OF OVERDAMPENING OVERALL RESPONSE.
As is now, I get the SMAX dampening during only 3 % of the time, but also when I do violent maneuvers, i.e. rocking the stick from side to side.
HIGH I VERSUS P RATIO
Another thing I tested out was very high I to P ratio. I noticed this post:
Analytical Multicopter Flight Controller PID Optimization where manually tuned PIDs had a ratio of 0.2 P 1.0 I
Especially with pitch I had some issues with step response (it was either too low or producing oscillations). So from PI 0.17 0.17 I went to PI 0.16 0.35. The response seems to have become much better:
I expected that such a high I would produce oscillations, but it was not the case.
ANY COMMENTS ON BOTH OF THESE ISSUES WOULD BE GREATLY APPRECIATED!!!