QUAD with Hobbywing x11plus motor oscillating in Loiter mode

Hello Lucas,

I have two more questions. From my past experience with the quad, I guess it is the horizontal position controller that is wrong, maybe the psc_posxy or psc_velxy pid gains are too high that causes oscillations, since i fly stabilize and althold well, only under the Loiter mode that the quad “dances”.I don’t know whether this opinion is correct or not.

I studied your Config software several times. In the first flight part, you mentioned output oscillation and its reasons, but there seems to be no horiz pid tuning on that part that produces new psc params. In the following parts, the only part that related to horiz pos control is no. 47, there are LOIT params and only one psc_velxy_ff param. Can you please tell me whether the psc_posxy or psc_velxy params should be tuned or left as default, and whether this psc_velxy_ff param must be set as no. 47 for horiz pos control?

Thank you for your help and interest in my work.

The idea is always the same:

  • use initial tunning (step 11) to get ballpark numbers
  • tune the altitude acceleration controller first
  • tune the attitude rate controllers
  • tune the attitude angle controllers after that
  • tune the position accel after that
  • tune the position velocity after that
  • tune the position controllers last

Do not try to jump the process. Do not skip steps.
If there are parameters missing on step 47, add them using the add button.

My guess is that in the past you had oscillations because the first couple of steps where not done correctly and that creates compounded issues in loiter.

Get the first steps done correctly using stabalize and/or ALT_HOLD, do them all, notch, quicktune and autotune. And only then start thinking about LOITER and the position controller.
And yes, that means you need to learn to fly the copter in ALT_HOLD mode.

Hello everyone

This is the same quad as before. In June this year the quad was flying ok and then it took a rest for several months. In October it back to work again and found lots of problems such as trembling and self rotation. Thank lord these problems were solved there are one strange thing left. In loiter mode, the quad seemed to bounce back to its original position. If pitch stick was moved forward, the quad moved forward too, but it moved more and more slowly until it stopped, no matter how you moved forward the pitch stick. Then when the pitch stick is loosed and centered, the quad was moving in the opposite direction, even you didn’t move the stick. It seemed that the quad didn’t stop until it returned to the starting position. But when it was in AUTO mode and fly waypoints, it seemed normal, it reached all the waypoints.

I guess it may be LOITER or POS_XY params were too conservative, can you help me check it? Thank you.

Loiter mode

AUTO mode

params

Before going into position controller tunning, have you correctly tuned the angle rate, angle and altitude controllers correctly as per documentation?

Without that, no amount of position controller tuning will give a proper result.

Some stuff you just can’t skip

Thank you for your interest. I did all the steps required for attitude tuning and altitude tuning. Quiktune for attitude for safety reasons. It can be seen in the params. without that, it can not 'loiter'and do auto missions. There is no good guess for a starting point in xy pos control in the documentation, even all the preceding tunings have been done.

So you skipped Notch filter and autotune?

On the contrary, the default values for the position controller are so good that 99,99% of the vehicles do not need tuning of the position controller at all.

But if you messed up the position controller before tuning the other three controllers then it is normal that the position controller values that you now have are bad.

Please tune the controllers in the correct order that I already posted above.

Jumping the gun, and going directly to the position PIDs (because you have a position problem) is not the correct procedure. And if you have a vibrations issue, no amount of PID tuning will save you.

There are 3 notch filters in the params file😅. Tried Quiktune, it’s ok, and don’t know what autotune may happen so for safety reasons have not done it. And I don’t know why must autotune instead of Quiktune before doing the next steps. The methodic config is helpful, but it should not be treated as
something religious without giving reasons. For large quads, one crash may take long time to restart.

It is not religion, it is science and the reasons are all documented in the why and why now tooltips, and have been reviewed by ArduPilot developers and hundreds of ArduCopter users, and are in the ArduPilot documentation.

Because Autotune tunes stuff that quicktune does not. Please read the documentation.

Change your LOIT_BRK_* parameters to make it stop faster when you release the sticks, or slower if that is what you want.

That is one good reason to do it correctly and not skip steps.

Thank you for your professional advices. I will review and reread autotune, and try it on small quads first and then large quads. My doubt with loiter came from the first crash of this quad, which can be seen from posts before. At that time the stabilize mode can fly, and in the test flight without changing the default param, switch from stab to loit. The result was an obviously over-reactive quad with arms making large up-and-down movements, finally the quad turned upside down. From that crash I knew there must be something wrong with xy pos control or even altitude control, but I don’t know which params are to be changed. So I read Ardupilot documents and Methodic config docs, and decreased almost all relevant params. After some tries, these params made fly stable in loiter and auto modes. As it’s sad the default values for xy pos control are good for 99.9% of the vehicles, I guess the crash may be caused by altitude or throttle controllers, they are too high.

It was the attitude controllers, and you skipping step 16 and probably 20.

Reading the documentation is not enough, you actually have to do what it says