Design, Build, Test, Iterate

Tricopter single-axis PID control and integral windup

I changed how I set motor values (among other things) and invalidated my old PID gains. I figured out some new ones. Here’s a video of the current PID control behavior:

(In the video, I do not touch anything except the throttle. All stabilization is done by the controller at about 83 Hz.)

The integral windup is made evident the moment I turn on the tricopter. It first tips back due to the motors spinning up at different times, but the integral error that results is unwound over the following few seconds as the tricopter stabilizes at a position that is tipped too far forward. It then tips back to level very slowly.

The windup is very clearly shown at 0:39 and 1:06.

Other than the integral windup, however, stabilization looks reasonably speedy.



Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>