How can the augmented system model be not stabilizable when the original system model is?

122 Views Asked by At

I have a nonlinear system with m=4 states and n=1 input which represents the propulsion system of a vehicle (regulates the speed by controlling the engine torque). I wish to apply an LQR controller with integral action (LQI) to the linearized model of the plant, however I am having problems with the stabilizability of the resulting augmented model. A linearized model around a steady state is the following:

$System 1:$ $$A=\begin{pmatrix} -0.0024 & 0.0003 & 0 \\ 0 & -0.3531 & 0.5308 \\ 0 & 0 & -0.33 \end{pmatrix}, B=\begin{pmatrix} 0 \\ 0 \\ 0.33 \end{pmatrix}$$

$$ C = I, D=0$$ The input (commanded torque) affects solely state $x_3$ (generated torque), which in turn affects state $x_2$ (engine speed), which itself finally affects state $x_1$ (vehicle speed) through $A_{12}$.

In the footsteps of this question, before applying LQI one needs to first verify that the augmented system $System 2:$ $$Aa=\begin{pmatrix} A & 0_{mxn} \\ -C & 0_{n x n} \\ \end{pmatrix}, Ba=\begin{pmatrix} B \\ -D \\ \end{pmatrix}, Ca=\begin{pmatrix} C \\ 0_{m x m} \\ \end{pmatrix}$$

is stabilizable, which corresponds to checking if any uncontrollable modes which are also unstable, exist. Following the answer of user SampleTime in the aforementioned question, it is shown that $System2$ is indeed not stabilizable, since the corresponding $A_{a,uc}$ is not a Hurwitz matrix. The matlab 'lqi' command itself throws an error, presumably for this reason.

What is the mathematical interpretation of this? My intuition is that the control system does not have sufficient control authority over state $x_1$ (notice that $A_{12}$ is 10 times smaller than the negative "dissipation" term $A_{11}$. How does one go about fixing this?

Matlab code below:

A = [-0.00244,0.0003,0;
    0,-0.3531,0.5307;
    0,0,-0.3333];
B = [0;0;0.33333];
C = eye(3);
D = 0;
sys1 = ss(A,B,C,D);

% Augment system1
[ny, nu] = size(sys1.D);
nx = size(sys1.A,1);
Aa = [sys1.A zeros(nx,ny); -sys1.C zeros(ny,ny)];
Ba = [sys1.B ; -sys1.D];
Ca = [sys1.C, zeros(nx, nx)];
sys2 = ss(Aa, Ba, Ca, D);

[Aa_bar, Ba_bar, Ca_bar, T, k] = ctrbf(Aa, Ba, Ca);
n_uc = size(Aa, 1) - sum(k); % Number of uncontrollable modes
Aa_uc = Aa_bar(1:n_uc, 1:n_uc);

disp(Aa_uc)
1

There are 1 best solutions below

1
On BEST ANSWER

The issue here is that you have three semisimple eigenvalues located at 0 and so you will need to have at least 3 control input to stabilize those modes. As an example, just consider a 3-dimensional system $$\dot{x} = Bu$$ and try to see how many control inputs you need to stabilize this system.

For current problem, the pair $(A,B)$ is trivially stabilizable since $A$ is Hurwitz stable. So, in the end, you just need to stabilize the 3 semisimple zero eigenvalues. Let $u=\epsilon(K_1x+K_2z)$ where $z$ is the second state of the augmented system and $\epsilon>0$ is a small parameter.

The (normalized) left- and right-eigenvectors associated with the zero-eigenvalue of $A_a$ are given by

$$U=\begin{bmatrix}CA^{-1} & I\end{bmatrix}\ \mathrm{and}\ V=\begin{bmatrix}0\\I\end{bmatrix}.$$

Using perturbation theory, we can study the behavior of the eigenvalues of

$$A_a(\epsilon):=\begin{bmatrix}A+\epsilon BK_1 & \epsilon BK_2\\-C & 0\end{bmatrix}$$

for small enough $\epsilon$'s. It turns out that the zero eigenvalues of $A_a(0)$ bifurcate under the action of $\epsilon$ following the eignvalues of

$$\epsilon CA^{-1}BK_2$$ for small enough $\epsilon$'s whereas the other eigenvalues remain stable. So, the system is stable for any sufficiently small $\epsilon$ (in absolute value) provided that either $CA^{-1}BK_2$ is Hurwitz stable (all the eigenvalues have negative real part) or it is anti-Hurwitz stable (all the eigenvalues have positive real part).

Since $C=I$, $A$ is nonsingular, then the only way this could be made possible is that $BK_2$ be of rank $m=3$. So, we need at least 3 control inputs.