Controllability of state space equation

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
1 replies · 3K views
dabargo
Messages
2
Reaction score
0

Homework Statement


I have calculated the following mechanical system

[tex] <br /> \left( \begin{array}{c}\dot{\mathbf{x_1}}(t) & \dot{\mathbf{x_2}}(t) \end{array} \right) = \left( \begin{array}{cc}-0.5 & 0 & 0 & -1\end{array} \right) \cdot \left( \begin{array}{c}x_{1}(t) & x_{2}(t)\end{array} \right) + \left( \begin{array}{c}0.5 & 1\end{array} \right)\cdot u(t)<br /> [/tex]

[tex] <br /> \left( \begin{array}{c}y_{1}(t) & y_{2}(t)\end{array} \right) = \left( \begin{array}{cc}1 & 0\end{array} \right) \cdot \left( \begin{array}{c}x_{1}(t) & x_{2}(t)\end{array} \right) <br /> [/tex]

The question is to find the expression for u(t) that brings the system to its restposition in 2 seconds. Afterwards i have to simulate this time response in MATLAB with the function lsim.

The initial conditions of the system are:
[tex] <br /> x_1(0) = 10<br /> [/tex]
[tex] <br /> x_2(0) = -1<br /> [/tex]


Homework Equations


[tex] <br /> u(t) = -B^T\exp^{A^T(t_1-t)}W_c^{-1}(t_1)[\exp^{At_1}x_0-x_1]<br /> [/tex]
[tex] <br /> W_c(t_1) = \int_0^{t_1} \exp^{A\gamma}BB^T\exp^{A^T\gamma} d\gamma<br /> [/tex]


The Attempt at a Solution


I calculated u(t) with MATLAB with the following code
Code:
A = [-0.5 0;0 1];
B = [0.5; 1];
C = [1 0];
D = 0;
syms t;
Wc = int(expm(A*t)*B*transpose(B)*expm(transpose(A)*t),0,2);
u = -transpose(B)*expm(transpose(A)*(2-t))*inv(Wc)*(expm(A*2)*[10;-1]-[0;0]);
sys = ss(A,B,C,D);
t = 0:0.1:2;
u = subs(u,t);
lsim(sys,u,t)

But the result i get with lsim doesn't fulfill my expectations at all.
The result i get is given in the lsimresults.bmp.
While i expect it to curve a bit down/up the original time responses (1st and 2nd thumbnails) where u(t) = 0, so that the amplitude of the system becomes 0 at 2 seconds.

So, if you there is anybody who can give me some help where it goes wrong. Or if i interpret something wrong maybe?
 

Attachments

  • Timeresponse1.jpg
    Timeresponse1.jpg
    10 KB · Views: 517
  • Timeresponse2.jpg
    Timeresponse2.jpg
    10.5 KB · Views: 494
  • lsimresults.bmp
    lsimresults.bmp
    230.7 KB · Views: 635
on Phys.org
dabargo said:

Homework Equations


[tex] <br /> u(t) = -B^T\exp^{A^T(t_1-t)}W_c^{-1}(t_1)[\exp^{At_1}x_0-x_1]<br /> [/tex]
[tex] <br /> W_c(t_1) = \int_0^{t_1} \exp^{A\gamma}BB^T\exp^{A^T\gamma} d\gamma<br /> [/tex]

Where did you get those equations, your system is not doing what you want it to do I agree.

I've tried using state feedback to solve your problem, here is what I got:

[tex]u=-Kx[/tex]

where [tex]x=[x_1 \, x_2]^{T}[/tex]
and [tex]K=[K_1 \, K_2][/tex]

You then choose the eigenvalues of the closed loop system
[tex](sI-A+BK)[/tex] by varying K such that they have the properties you want.

In this case you want a settling time of 2s, so I would make both of my eigenvalues equal to -2, which gives us the desired characteristic polynomial of

[tex](s+2)(s+2)=s^2+4s+4[/tex]

Now to go about solving for [tex]K[/tex],

the controllers characteristic polynomial is
[tex]det(sI-A+BK)=\alpha_2s^2+\alpha_1s+\alpha_0[/tex]

All you do now is compare the desired characteristic polynomial with the actual characteristic polynomial and solve for [tex]K_1, K_2[/tex] such that the co-efficients of the two characteristic polynomials are equal i.e.

[tex]\alpha_2 = 1[/tex]
[tex]\alpha_1 = 2[/tex]
[tex]\alpha_0 = 4[/tex]

For this system there is a pole that no matter what feedback you give the system, will not move higher

the pole is located at approx. -0.74

If the settling time we are talking about is 0-63% of final value then you are ok.
The other pole you can shift around at whim using this technique.

The gains I used are [tex]K=[1 \, 2][/tex] to give poles at -0.73 and -5.76

I don't have access to MATLAB now but try its "place" command
maybe you can have better luck that way :smile: