0
$\begingroup$

Given simple system of ODE.

\begin{cases} \dot{x_1}=-x_1+u \\ \dot{x_2}=-x_2-x_1 \end{cases}

As an output, I want to use $y=\dot{x_1}$.

But when I use the AsymptoticOutputTracker command, I get the error: AsymptoticOutputTracker::drtrz: The direct transmission matrix {{1/Subscript[\[FormalX], 2][t]},{0},{0}} is not a zero matrix. (code in Mathematica for example).

   asys = AffineStateSpaceModel[{x1'[t] == -x1[t] + u[t], 
    x2'[t] == -x2[t] - x1[t]}, {{x1[t], 1}, {x2[t], 0}}, {u[
     t]}, {(u[t] - x1[t])}, t] // Simplify

pars1 = {Subscript[r, 1] -> 0, Subscript[p, 1] -> -1};

fb = AsymptoticOutputTracker[asys, {Subscript[r, 1]}, {Subscript[p, 1]}] // Simplify;

I got the idea to add a differentiating filter:

\begin{cases} \dot{x_1}=-x_1+u \\ \dot{x_2}=-x_2-x_1 \\ \frac{1}{k}\dot{X}+X=\dot{x_1} \end{cases}

And now $y=X \approx \dot{x_1}$ and $k>>1$.

How to transform state-space and get $y=\dot{x_1}$?

$\endgroup$
7
  • 1
    $\begingroup$ Have you tried it with u[t]-x1[t] as the output? $\endgroup$
    – LouisB
    Jun 13 at 10:20
  • $\begingroup$ @LouisB please see my edit $\endgroup$
    – dtn
    Jun 13 at 10:27
  • $\begingroup$ @dtn Is this optimization problem? Where is your code? $\endgroup$ Jun 13 at 11:00
  • $\begingroup$ @AlexTrounev asys = AffineStateSpaceModel[{x1'[t] == -x1[t] + u[t], x2'[t] == -x2[t] - x1[t]}, {{x1[t], 1}, {x2[t], 0}}, {u[ t]}, {(u[t] - x1[t])}, t] // Simplify pars1 = {Subscript[r, 1] -> 0, Subscript[p, 1] -> -1}; fb = AsymptoticOutputTracker[asys, {Subscript[r, 1]}, {Subscript[p, 1]}] // Simplify; $\endgroup$
    – dtn
    Jun 13 at 11:01
  • $\begingroup$ @AlexTrounev This is me studying nonlinear control theory, section on asymptotic output tracking. $\endgroup$
    – dtn
    Jun 13 at 11:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.