Skip to content

Commit a69de09

Browse files
authored
Revert "Document IZone (#2257)" (#2262)
The corresponding PR has not been merged wpilibsuite/allwpilib#5315, and stable is still linked to main. This reverts commit c8a1fb8.
1 parent c8a1fb8 commit a69de09

File tree

2 files changed

+1
-24
lines changed

2 files changed

+1
-24
lines changed

source/docs/software/advanced-controls/controllers/pidcontroller.rst

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -126,29 +126,6 @@ The range limits may be increased or decreased using the ``setIntegratorRange()`
126126
// the total loop output
127127
pid.SetIntegratorRange(-0.5, 0.5);
128128

129-
Disabling Integral Gain if the Error is Too High
130-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
131-
132-
Another way integral "wind-up" can be alleviated is by limiting the error range where integral gain is active. This can be achieved by setting ``IZone``.
133-
134-
By default, ``IZone`` is disabled.
135-
136-
``IZone`` may be increased or decreased using the ``setIZone()`` method. To disable it, set it to infinity.
137-
138-
.. tabs::
139-
140-
.. code-tab:: java
141-
142-
// Integral gain will not be applied if the absolute value of the error is
143-
// more than 2
144-
pid.setIZone(2);
145-
146-
.. code-tab:: c++
147-
148-
// Integral gain will not be applied if the absolute value of the error is
149-
// more than 2
150-
pid.SetIZone(2);
151-
152129
Setting Continuous Input
153130
^^^^^^^^^^^^^^^^^^^^^^^^
154131

source/docs/software/advanced-controls/introduction/common-control-issues.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Beware that if :math:`K_i` is too large, integral windup can occur. Following a
1111
There are a few ways to mitigate this:
1212

1313
1. Decrease the value of :math:`K_i`, down to zero if possible.
14-
2. Add logic to reset the integrator term to zero if the :term:`output` is too far from the :term:`setpoint`. Some smart motor controllers and WPILib's ``PIDController`` implement this with a ``setIZone()`` method.
14+
2. Add logic to reset the integrator term to zero if the :term:`output` is too far from the :term:`setpoint`. Some smart motor controllers implement this with a ``setIZone()`` method.
1515
3. Cap the integrator at some maximum value. WPILib's ``PIDController`` implements this with the ``setIntegratorRange()`` method.
1616

1717
.. important:: Most mechanisms in FRC do not require any integral control, and systems that seem to require integral control to respond well probably have an inaccurate feedforward model.

0 commit comments

Comments
 (0)