in this blog post I described how I changed the control loops for the attitude control (STABILIZE Mode) to use PID(T1) in the rate control instead of PI. For me, it was a major improvement of stability on my Tricopter.
Here I would like to discuss the attitude control structure.
From the Wiki and the code I saw that the current control structure (in AC 2.1 software) is like this:
I changed the control structure to this:
In my opinion, this is the best control structure for a attitude control with underlaying rate control that you can do with traditional PID(T1) controllers. Of cause there are other controller types, but lets stick to traditional PID(T1).
I got some questions:
- How was the original controller structure designed?
- Why is the I-term of the attitude control directly connected to the output (green ?* in first pic)?
- Have you tried PID loops? Are there reasons to avoid them in ArduCopter?
Maybe some people with a strong background in feedback control systems can join in. Lets find the best solution to get the stabilized mode really stable!