2

Give a non-linear ( if it helps, multi-linear ) system for the variable with $\mathbf{Z} = [\mathbf X_1, \ldots, \mathbf{X_n} ]^T$: $$ \dot{\mathbf{Z}} = F ( \mathbf{Z}, \mathbf{u} ) $$ and an unknown equilibrium point $\mathbf{Z^*}$ (i.e. 0 = F ($\mathbf{Z^*})$ ).

Is there any known way to design such a control $\mathbf{u^*}$ for which:

  • the point $\mathbf{Z^*}$ won't change position
  • the equilibrium point under the new dynamics will be stable

?

Thanks in advance.

shnnnms
  • 343
  • Do you know at least that this point exists, that it is unique? To find your stabilizing control, this equilibrium point should also be controllable. How can you satisfy these requirements if $Z^$ is unknown*? – Dmitry Jun 25 '21 at 11:49
  • @Dmitry I can be sure it exists and there is a family of settings where it is unique. – shnnnms Jun 27 '21 at 14:50

1 Answers1

4

Yes this is possible (for some systems). You can take a look at:

Bazanella, Alexandre S., Petar V. Kokotovic, and Aguinaldo S. e Silva. "On the control of dynamic systems with unknown operating point." 1997 European Control Conference (ECC). IEEE, 1997.

In short, if you have a system:

$$ \dot{x}=f(x)+g(x)u $$

and $f(x^*) = 0$ but you don't know $x^*$ then you can use $u=\varphi(x-x^*)$ together with an adaptive control loop that estimates $x^*$:

$$ \begin{align} \dot{x} &= f(x)+g(x)\varphi(x-\theta)\\ \dot{\theta}&=A(x-\theta) \end{align} $$

In the paper you can find some ideas how you can find $A$.

They also have this example:

$$ \dot{x} = \sin(x) - \frac{1}{2}+u $$

Assume you don't know that one equilibrium is $x^*=\frac{\pi}{6} = 30°$. So:

$$ \begin{align} \dot{x} &= \sin(x) - \frac{1}{2}+u\\ u&=-k(x-\theta)\\ \dot{\theta}&=a(x-\theta) \end{align} $$

I use higher gains than in the paper: $k=150,a=-100$. Simulation with $x(0)=0,\theta(0)=0$:

enter image description here

You can see the controller stabilizes the unknown operating point at $x=30°$ without having any knowledge about that point.

SampleTime
  • 3,651
  • do you happen to know of something similar for discrete time systems? – shnnnms Jul 13 '21 at 15:34
  • @shnnnms I think you can use the same method for discrete time systems as well if you discretize the controller. – SampleTime Jul 13 '21 at 18:26
  • from my -- admittedly limited -- experience, this isn't always so straightforward. I actually ran an experiment using python's autograd in order to simulate the conitnuous system and an Euler approximation of it -- the result of the latter was disapointing compared to the "continuous" simulation, it consistently stabilized on some points that shouldn't be stationary – shnnnms Jul 13 '21 at 18:33
  • @shnnnms Then you should post this as a new question so that a) more people will notice the follow up question and b) you can give more information (like how did you discretize/simulate) and discribe the problem. – SampleTime Jul 13 '21 at 18:44
  • you are correct. thanks for your overall help. I will soon post a new question – shnnnms Jul 13 '21 at 19:40