Integral Control and When Not to Use It
Understand accumulated error without abusing it.
Understand accumulated error without abusing it.
In this lesson, you will:
Integral adds past error over time. It can remove steady-state error, but it can also create windup that makes mechanisms overshoot badly.
I is like remembering frustration. If the mechanism sits below target for a long time, the controller pushes harder. That can help gravity-loaded systems, but it can also punish the robot after the condition changes.
Add integral only after P/PD are understood. Limit the integral sum, reset it near target or on target changes, and print the integral contribution separately.
IntegralGuard.javaJava
integral += error * dt; integral = Math.max(-maxIntegral, Math.min(maxIntegral, integral)); double output = kP * error + kI * integral;
If output grows while the mechanism is blocked, integral windup is happening. If the mechanism overshoots long after error changes sign, reset or cap the accumulator.
Demonstrate integral windup safely with a simulated value or low-power mechanism, then add a cap.
Check your understanding before moving on.
0 of 2 answered