PID Loops On Crack?

This is a rant that I hope to (at some point) back up with scientific proof.


Do We Need 32kHz?

I have yet to feel and/or see any real benefit from insane loop times other than being able to say “I run 32kHz.” That’s great, but why have it that fast?

A quick reminder: Keep in mind that loop time has absolutely zero effect on how fast your quad can pitch, roll, or yaw. Th3 8kHz and 32kHz is referring to the sampling rate of the gyro and/or the PID loop rate.

Here are a few observations and calculations telling me we don’t need our loop times on crack:

1. At 8kHz, a motor (at full throttle) will rotate only 22.5° over 1 loop and only 5.6° at 32kHz

Knowing that the flight controller is sending out a different signal (theoretically) every loop to compensate for error in angular acceleration, is 5.6° of prop rotation enough to create a rate of change before the next loop? Intuition tells me no since the propeller is moving through a compressible fluid medium (air). In other words, once the new ESC signal is sent to the motors, the change in angular acceleration will not be immediate; it will take time for the acceleration to change (kinetic change for an object being acted upon by a dynamic compressible fluid is not immediate). We have all experienced this delay on a larger scale:

When taxiing and taking off in a passenger plane, the pilot must spool up the engines to a certain RPM, but the speed of the plane doesn’t immediately correlate with the engines RPM. On the other hand, a Tesla Motors sports car will have a much quicker change in acceleration due to the forces (in which acceleration is dependent on) acting upon incompressible solid objects.

2. We are now soft mounting our motors

This is related and pretty much proves out point #1. Much like the Tesla, motor vibrations are being transmitted through the frame by means of an incompressible solid pathway. Since the motors cannot possibly compensate in time to offset this vibration, we see the effects either by annoying vibrations or by a noisy blackbox graph.

3. In general, I don’t understand what 8/32kHz can accomplish

As far as I know, we are not trying to offset any outside influences anywhere near 8/32kHz. If anything, it is causing harm (like point #2) in which the ESCs are changing output power at such a high frequency, it just creates heat and wastes energy.

The “Sweet Spot”

Where is it? There is the benefit of having our PID settings becoming less and less significant with faster sampling rates, but at what point are we introducing harmful noise? From experience, I have actually had my most stable flying at 1kHz to 2kHz. The moment I went higher was when I started having problems. I am not saying there isn’t a benefit from going faster than 2kHz, but I am saying that we have gotten to a point where we are introducing too much noise into the PID and actually having to put band aids on these harmful effects such as soft mounting controllers and motors.

Please let me know your input/thoughts or even better yet, proof that these sampling rates have any benefit.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.