45 lines
1.9 KiB
Markdown
45 lines
1.9 KiB
Markdown
+++
|
|
title = "Bumpless Transfer"
|
|
author = ["Dehaeze Thomas"]
|
|
draft = false
|
|
category = "Control Theory"
|
|
subcategory = "Fundamentals"
|
|
+++
|
|
|
|
Tags
|
|
: [Anti-Windup Control]({{< relref "anti_windup_control.md" >}})
|
|
|
|
Bumpless transfer consists in switching between two controllers without creating a discontinuity (a "bump") in the control signal \\(u\\).
|
|
|
|
A bump occurs because the inactive controller has internal states (integrators, filters) that are not consistent with the signal currently applied to the plant.
|
|
At the switch, its output differs from the active one, and \\(u\\) jumps.
|
|
|
|
The principle is to keep the inactive controller "warm": its states must be consistent with the applied signal \\(u\_a\\) before the switch.
|
|
Anti-windup is a special case of this, with \\(u\_a = \text{sat}(u)\\).
|
|
|
|
An example of bumpless transfer between manual and PID control is provided by MathWorks: [Bumpless Control Transfer Between Manual and PID Control](https://www.mathworks.com/help/simulink/slref/bumpless-control-transfer-between-manual-and-pid-control.html).
|
|
|
|
|
|
## Controllers with an explicit integrator (PID) {#controllers-with-an-explicit-integrator--pid}
|
|
|
|
The integrator of the offline controller is driven to track the applied signal using back-calculation:
|
|
|
|
\begin{equation}
|
|
\dot{x}\_i = K\_i e + \frac{1}{T\_t} \left( u\_a - u \right)
|
|
\end{equation}
|
|
|
|
This requires the integrator to be explicit, which is one of the reasons why PID controllers are convenient.
|
|
If the PID is the last element of the chain, its output is \\(u\\) and the tracking is exact.
|
|
|
|
|
|
## Controllers made of biquads {#controllers-made-of-biquads}
|
|
|
|
Filters without integrator (notch, low-pass, lead, lag) have fast dynamics and do not need any tracking.
|
|
The offline chain is simply run in parallel, fed with the same error signal \\(e\\), and its states converge by themselves.
|
|
|
|
|
|
## Bibliography {#bibliography}
|
|
|
|
<style>.csl-entry{text-indent: -1.5em; margin-left: 1.5em;}</style><div class="csl-bib-body">
|
|
</div>
|