Collective oscillation in fast forward flight

Background: I built a TREX470LP as a vehicle for me to try to improve the wiki for Trad Heli. My usual modus operandi for each section of the wiki. I have a good deal of 3D heli experience from the flybar days. Both nitro and electric…but that was a decade ago…
-First issue was hi-freq vibs causing occasional leans…resolved by changing FC side mounting to zeal gel from 3M foam.
-Second issue was and is YAW tune…I have spent many hours trying to get a solid heading lock without any small oscillations…methodically tryin all approaches using FF, ANG_P, P/I/and D in all combinations…best is still shaky, but flyable in automonous modes…next I am going to lower the head speed since my goal was a full 3D capable machine in ACRO but also an FPV autonomous platform in all other modes…right now head speed is 3200rpm…in the attached log you can see it tracks heading demands pretty well but with oscillation…any suggestions for YAW tuning approach would be appreciated…the wiki has nothing currently on YAW tune methology…current tune is default with D and FF =0…
Thirdly, when I tried high speed autonomous flight today , when it got going fast, it started a severe Collective oscillation…in previous near RTLs, (the only autonomous until today) it did not show this…however, I DID change the collective range from -2 to 8 used for initial testing to a full -10 to +10 range that would be needed for 3D in ACRO…however, I do not believe that changes the small signal gains of the control plant, those should be set by mechanical throw gain which is fixed, not the limits of throw…
attached is a link to the log:
it has a loiter section with some full throw yaw, in hopes of trying to figure out if FF would help and how much (although I did try using FF in increments with very low P in tuning trials without any success in improving the tune)…the collective oscillations are easy to see in the AUTO waypoint transits…

note: @bnsgeyer @ChrisOlson

@hwurzburg for Yaw axis, FF gain is likely to be very small. You will using mostly P gain for the yaw axis. Also I think the mechanical trim of the tail will greatly affect the handling especially if it is holding a lot of Integrator to make up for the trim not tuned for hover.
Also I think the acceleration max is set very low. I think the yaw axis probably can perform much better than the default values.

Although your mechanical set up did not change, you definitely changed the gain in the vertical axis. You went from collective blade pitch of -2 to 8 which was represented in the code as 0 to 1 to collective blade pitch of -10 to 10 which is still represented in the code as 0 to 1. So you effectively doubled the vertical axis P gain (PSC_ACCZ_P).

  • well, I increased yaw acc to 54000…no change in tail wag
  • and trimmed tail servo output to eliminate I…no change in tail wag
  • then lowered head speed setting from 80% (gov range is 75% to 80%) to 70%…bingo! locked in tail with no oscillation…while 70% is supposedly out of the governor range, it seems to hold pretty constant speed in hover pumps…AFAIK, some speed variation is not going to hurt anything as long as the tail holds okay and cyclic remains responsive…and everything is stable at the high end, high batt…right?

next, I will try to lower the PSC_ACCZ_P from .28 to .2 (which is the supposed minimum) to see if I get rid of the collective oscillation…lowered head speed should have also reduced that loop’s gain I would suspect…

@hwurzburg I finally had a chance to look at your log. In roll and yaw axes, you are driving an instability.

This is pitch. I looks ok. I don’t think you are driving an instability here but maybe roll is causing it to be fairly oscillatory but still following the desired value.

Here is the Roll axis. This is definitely a feedback instability. If you look at the Rate P and rate D contributions, the D contribution is larger than the P contribution. So i think you should halve your Rate D gain and then check to see if you still see this oscillatory behavior. If that doesn’t cure it then halve your rate P gain as well.

Here is you yaw axis. This is also a feedback instability. I would suggest making the rate P gain 75% its current value. Check to see if you still have this behavior. I would also recommend using some rate D gain. This helps in the yaw axis to dampen the response and may help reduce the instability due to the rate P gain.

after you take care of these instabilities, then we can look at your yaw axis overshoots. Once to tune the Rate P and rate D gain. then we may look at the angle P gain to see if that would help with the overshoot.