4
$\begingroup$

If I have a state-space model, so that matrices $A$, $B$, $C$ and $D$ are known, how can I design the right input $u$, so that $y$ is a desired signal, say, a sine wave with constant amplitude?

$$\begin{aligned} \dot{x} &= A x + B u \\ y &= C x + D u \end{aligned}$$

$\endgroup$
4
  • $\begingroup$ Please add some information about A-D. Since your equation system contains derivatives character of the matrices influences possible ‚design‘ approaches $\endgroup$
    – rul30
    Commented Jan 17, 2018 at 19:00
  • $\begingroup$ A, B, C and D are real values matrices. A is 18x18, B is 18x2, C is 2x18, D is 2x2. I do not care about x and its derivative. It is a 2x2 state space model but the cross-coupling terms are zero, so the input u1 will not influence y2 and so on. For example, the B matrix is: non-zero on the first nine elements of the first column; non-zero on the last nine elements of the second column. $\endgroup$
    – Alessandro
    Commented Jan 18, 2018 at 7:31
  • $\begingroup$ @Alessandro But is $A$ Hurwitz, the state space model minimal (so controllable and observable) and is $D$ full rank? $\endgroup$
    – fibonatic
    Commented Jan 19, 2018 at 13:52
  • $\begingroup$ D is a 2x2 and has rank 2. A, indeed, is 18x18 but has rank 16, so the system is observable neither controllable. $\endgroup$
    – Alessandro
    Commented Jan 19, 2018 at 15:39

1 Answer 1

1
$\begingroup$

You can design an asymptotic output tracker based on feedback linearization if the residual dynamics are stable. The theory for this can be found in the book 'Nonlinear Control Systems' by Isidori [Springer]. You can find examples worked out using Mathematica here and here.

Another way is to develop a LQR tracking controller. See, for example, Chapter 4 of the book 'Optimal Control' by Anderson and Moore [available online].

$\endgroup$
4
  • $\begingroup$ Thank you very much! I also had an idea and it does not work but I would understand why: From A, B, C and D I can calculate the transfer function H so that Y=HU, so I can calculate U so that Y is equal to my target. But in the inverse process, when I build u and substitute it in the state-space representation, the output is not as my target. Do you know why? $\endgroup$
    – Alessandro
    Commented Jan 19, 2018 at 7:49
  • $\begingroup$ That is a very crappy control approach. If the model used was $\frac{1}{s+1}$, the controller would be $s+1$. There are two problems: 1) It is not a proper system. 2) If the actual plant was $\frac{1}{s+1.1}$, the plant will controller will actually be $\frac{s+1}{s+1.1}$ instead of 1. So the tracking will have errors. On paper everything should be fine, and you should not be seeing the problem you are describing. $\endgroup$ Commented Jan 19, 2018 at 14:10
  • $\begingroup$ This is what I am looking for. Why on paper everything is fine, whereas from the numerical point of view is not? $\endgroup$
    – Alessandro
    Commented Jan 22, 2018 at 7:30
  • $\begingroup$ That is what I explained in point 2 of my comment above. $\endgroup$ Commented Jan 22, 2018 at 14:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.