Asymptotic stability of cascade control

716 Views Asked by At

For many systems, it seems to be common practice to stack controllers on top of each other. For example, in a quadcopter, one first builds an attitude controller, then builds a velocity controller whose (virtual) control variable is an input to the attitude controller, then builds a position controller whose (virtual) control variable is an input to the velocity controller. I believe (correct me if I'm wrong) that this is known as cascade control.

I'm wondering if there is any theory formalizing why this approach works. To be more precise, suppose I have the following two systems:

  • $x' = f(x,u)$ (e.g. a position controller with virtual control variable $u$)
  • $y' = g(y,v)$ (e.g. a velocity controller with actual control variable $v$)

Furthermore, suppose I have feedback control $a(x)$ that stabilizes the first system and $b(y)$ that stabilizes the second. In other words, the following two systems are asymptotically stable:

  • $x' = f(x, a(x))$
  • $y' = g(y, b(y))$

Now we can form the cascade of these two systems, which I believe is formalized as:

  • $x' = f(x, y)$
  • $y' = g(y, b(y - a(x)))$

It seems like cascade controller designers rely on the fact that this cascade will be asymptotically stable because the two subsystems are separately asymptotically stable. However, something tells me that this is not in general true. I feel like I'm missing something. Are there conditions under which this cascade is asymptotically stable (e.g. f and g are linear)? If not, how does one design an asymptotically stable cascade controller?

I did come upon a technique called backstepping, which builds feedback control for a system using feedback control for a subsystem and a Lyapunov function for the subsystem. For example, if you have feedback control a(x) which stabilizes $x' = f(x) + g(x)*a(x)$ and you have a Lyapunov function guaranteeing this stability, then you can build a function $b(x)$ stabilizing

  • $x' = f(x) + g(x)*y$
  • $y' = h(y) + j(y)*b(x)$

Unfortunately, I don't think that this approach quite solves my problem. Backstepping would be a way of producing a controller that stabilizes position via acceleration, given a controller that stabilizes position via velocity. However, I want to produce a controller that stabilizes position via acceleration, given a controller that stabilizes position via velocity and a fixed controller that stabilizes velocity via acceleration. This would allow me to modularly build an attitude controller, then a velocity controller on top of that, then a position controller on top of that, etc.

2

There are 2 best solutions below

1
On BEST ANSWER

I'm going to attempt to answer my own question based on some research and one of the comments from Pait. There doesn't seem to be a completely general approach to analyzing stability of a cascade based on the stability of its subsystems, but there do appear to be a few somewhat general approaches:

  1. Input to state stability (ISS). In this approach, one proves input to state stability of a cascade $x_1' = f(x_1,x_2), x_2' = g(x_2, u)$ by proving ISS of $x_1' = f(x_1,u)$ and ISS of $x_2' = g(x_2, u)$. I believe there are also conditions under which one only needs to prove global asymptotic stability of $x_2' = g(x_2, u)$ and then one can conclude global asymptotic stability of the cascade.

  2. ISS with small gains. I don't really understand this technique, but the idea seems to be that cascade stability composes as long as the control input $u$ to the lower level system is "small enough" for some definition of small enough.

  3. Singular perturbation/time-scale separation. I also don't really understand this technique, but the rough idea seems to be that if the lower level system ($x_2' = g(x_2, u)$) has significantly fast dynamics than the higher level system ($x_1' = f(x_1,x_2)$), then you can analyze stability separately and the cascade will be stable.

0
On

If you want to derive the asymptotic stability of the origin of a cascaded composite system given that you already know that the origins of each of the subsystems are globally asymptotically stable (GAS), then the remaining condition you would need to show is that all solutions are bounded (BS for bounded solutions). And depending on the form of the cascaded system at issue, different notions of BS may come in handy.

For instance, consider a cascaded system that can be arranged in the form of $$\begin{align} \Sigma_1 \; : \; \dot{x}_1 &= f_1 (x_1, x_2) \\ \Sigma_2 \; : \; \dot{x}_2 &= f_2 (x_2) \end{align}$$ If we know that (i) the origin of the subsystem $\dot{x}_1=f_1(x_1,0)$ is GAS, (ii) the origin of the subsystem $\dot{x}_2 = f_2 (x_2)$ is GAS, then according to [1], if we can further show that (iii) the property of "Converging Input Bounded State (CIBS)" holds:

CIBS: For each state variable $x_2(\cdot)$ on $[0,+\infty)$ such that $\lim_{t\to\infty} x_2(t) = 0$ and for each initial state $x_1(0)=x_{1_o}$, the solution of $\Sigma_1$ with $x_1(0)=x_{1_o}$ exists for all $t\geq 0$ and is bounded. (Adapted from [1])

then we can conclude that the origin $\pmb{x} = [x_1,x_2]^\top = (0,0)$ of the cascaded system $\Sigma$ is also GAS.

As already mentioned in Daniel's answer, the notion of "Input to State Stability (ISS)," which can be formulated as follows,

ISS: The system $\Sigma_1$ with input $x_2$, is Input-to-State Stable if and only if there exists a positive definite proper function $V(x_1)$, and two class $\mathscr{K}$ functions $\alpha_1(\cdot)$ and $\alpha_2(\cdot)$ such that, the implication $$\left\{|x_1| \geq \alpha_1(|x_2|) \right\} \implies \left\{ \frac{\partial V}{\partial x_1} f_1 (x_1, x_2) \leq -\alpha_2 (|x_1|) \right\} $$ holds true. (Taken from [2])

can also be adopted to show the boundedness of solutions if it is difficult to prove CIBS.

A detailed discussion on the stability analysis of cascaded systems is given in [2] where the authors provide a comprehensive literature review regarding the notion of bounded solutions and cover a wide range of different forms of cascaded systems.

Ref.

[1] E. D. Sontag (1989) Remarks on stabilization and Input-to-State stability. In Proc. 28th. IEEE Conf. Decision Contr. (pp. 1376–1378), Tampa, Fl.

[2] A. Loría & E. Panteley (2005). Cascaded nonlinear time-varying systems: Analysis and design. In Advanced topics in control systems theory (pp. 23-64). Springer, London.