Helicopter Toilet Bowl Effect

Hello guys.
I have Helicopter class 700 with rotor three blades. I hava problem toilet bowl effect in mode Loiter. The helicopter it’s after PID tuning. I put logs and parameters.
Please help.

I cannot get higher values of P parameters in the Roll and Pitch axis. Do I think that reducing the VFF value in these axes will allow for higher values of the P parameter, which should solve my problem? If this, how much to reduce the VFF parameter gradually? Any help would be appreciated.

Reducing VFF gain will not help you to increase the P gain. I will try to look at your log tonight and provide feedback.

First of all, how are you determining RAT_XXX_P and RAT_XXX_D gains out to 4 significant digits. I’m lucky I can go to 2 significant digits. Anyway, that struck me as odd but if you are able to do that then very good.

So I will need you to fly another flight with another log_bitmask that provides higher sample rate for some of the key data that I look at. Please set the LOG_BITMASK to 131071 and fly again with 1 to 2 minutes in stabilize and 1 to 2 min in loiter. In stabilize, make some abrupt pitch and roll inputs. What I mean by that is I want you to displace the stick quickly to achieve 20-30 deg roll or pitch and then hold that for 2 seconds. Just want to see how well you’ve tuned P and D so that you don’t have any feedback instabilities.

Initially looking at your parameters, I see that ATC_RAT_PIT_ILMI and ATC_RAT_RLL_ILMI are both zero. Please set these to 0.08. That will enable the controller to be able to hold the attitude requested. Right now it is not doing that very well and for this software to work correctly, the controller needs to have the aircraft at the attitude it requests. So make the changes I requested, fly the aircraft, and post the log here.

In the link I give logs after today’s flight.
Thank you for your help

The parameters (RAT_XXX_P and RAT_XXX_D) were tuned with the knob set on channel 6. We increased the value until oscillations appeared, and then the value was reduced by half. LOG_BITMASK was set to 131071 - I made a flight in stabilize and then loiter.
The ATC_RAT_PID_ILMI and ATC_RAT_RLL_ILMI parameters have been set to 0.08 .

Ok. That makes sense. I guess that I round because I am looking at the traces to ensure there are no underlying oscillations that I can’t see in while it is flying.

Great! I will try to look at this tonight.

Thanks for the data. So to start off, I looked at how well the pitch and roll of the aircraft are following the desired (target) values. Here is a plot of the pitch and roll attitudes compared to the desired values.

The actual values are following the desired values fairly well. You can see at times there are some larger deviations. before we go any further in fine tuning the attitude controller, I wanted to look at the vibrations.

Typically I will look at the contributions of the P and D terms for pitch and roll. And most of the time if there are vibration issues, it will show in the roll axis. Here is a plot of the P and D terms for the Roll axis

You can see that the D term has a lot of noise in it. Since we have set the log_bitmask for higher sampling rates then we can see the frequency of the vibrations. zooming in to one second of time on the x axis we can count the number of valleys in the D term.

I counted almost 27 which tells me that your rotor speed is 27 hz (1620 RPM). So do you have a governed ESC that you set to 1600 RPM? Or have you made the setpoint for the ESC such that it gives a rotor speed of 1600 RPM? The reason I ask is that I need to know how well the rotor speed will be held. If it is a governor in the ESC then it will be held pretty tightly. I want to use the Harmonic Notch feature of the firmware to remove the noise from the signal. Here is the wiki for the harmonic notch. If the rotor speed will be held pretty tightly then I would recommend the following settings for the harmonic notch
First set INS_HNTCH_ENABLE to 1 and then refresh the parameters. Make the following parameter changes

  • Set INS_HNTCH_REF = 0
  • Set INS_HNTCH_FREQ= 27 or the rotor speed in hz of your governed rotor speed to set base notch frequency
  • Set INS_HNTCH_BW = 10 to set the harmonic notch bandwidth
  • Set INS_HNTCH_HMNCS = 11 to set 1st, 2nd, and 4th harmonics which are the harmonics to set for a 2 bladed rotor system

After you make these changes to the parameters then reboot your controller and fly in stabilize. You could try tuning the Rate P and Rate D gains for pitch and roll again to see if they changed. Cleaning up the vibration could help with the Rate D term.

If you would like to increase the ATC_ANG_PIT_P and ATC_ANG_RLL_P to 6 (use 0.5 increments), that would provide a little more help with the deviations in pitch and roll since the Rate P and Rate D gains are pretty low. If you see any oscillations then stop increasing the ANG_P gain. I would suggest doing that before re-tuning the Rate P and Rate D gains for pitch and roll. Once you do all of this then provide me a log in stabilize with the quick attitude changes to 20-30 deg pitch and roll.

1 Like

Hello. The rotor speed has been set on feel. I have esc with governor. The H_RSC_SETPOINT parameter has been set to 74. Do you think the rotor speed is too low? I would like to get the longest possible flight time, but not at the expense of stability. It is raining here and it is blowing strongly. As soon as the weather improves, I will change the parameters and do what you wrote about. Thank you for your help.

As recommended, I set INS_HNTCH_ENABLE to 1 and the other parameters.
I increased ATC_ANG_PIT_P and ATC_ANG_RLL_P to 5 and started tuning ATC_RAT_RLL_D. However, I managed to get a smaller value at which oscillations began than before. I have not tried to increase ATC_RAT_RLL_P anymore. Should I try anyway? I restored ATC_ANG_PIT_P and ATC_ANG_RLL_P to 4.5. I checked the LOITER mode using harmonic notch and there is a slight improvement in holding the position. I’m worried that I can’t increase the PID value. I am sending logs from the attempt to increase ATC_RAT_RLL_D.

So are you using the ESC governor and if so what is the RPM set at?

Sorry I was not clear. Maybe a better way to do this would be to reduce pitch and roll, rate P and rate D gains to 75% of their current value. It is expected that the rate P and Rate D gains will be lower at the higher values of ANG_P gains so I want to decrease them initially until the ANG_P gains can be raised. Next increase the pitch and roll ANG_P gains from 4.5 to 6 in 0.5 increments. If you see oscillations while increasing these gains then stop and let me know. Do not retune the Rate P and Rate D gains until after you have increased the pitch and roll ANG_P gains to 6. Then retune Rate P and Rate D gains for pitch and roll. Finally perform a flight in Stabilize and post the log. Hopefully that makes sense.

Thank you for your advice. I have to postpone this topic until next week. As soon as I have the opportunity, I will follow your advice, do what you asked for and attach logs. greetings