I am stuck on this exercise. I don't know how to deal with this squared y in the denominator. What am I supposed to do to obtain state space equations?

ex.1 Simplified dynamic model of the steel ball kept in the magnetic field has the following form: $$my'' = mg - C{u^2 \over y^2}.$$

u – voltage of the magnet, y – vertical ball position, g – gravitational constant, m – mass, c – constant. We consider normalization m = g = c = 1.

  1. Write down state space model equations.
  2. What is the operational point for y = 1?
  3. Write down the linear model equations around that point.
  4. Write down the respective transfer function.
  • $\begingroup$ Hi and welcome to the site. $\endgroup$ – mike65535 Nov 26 '18 at 21:57

Two principles here:

  1. When dealing with a differential equation, you define intermediate state variables so everything is in terms of first derivatives.
  2. This system is nonlinear, so the state-space equations won't be in terms of matrices.

Applying these principles, we define a state vector: $$ \mathbf x = [x_1, x_2]^T, $$ where: $$ x_1 = y \\ x_2 = \dot y $$ Note that: $$ \dot x_1 = x_2 $$ Substituting these into your original equation yields: $$ \dot x_1 = x_2 = f_1(x_2) \\ \dot x_2 = g - \frac{C}{m} \frac{u^2}{x_1^2} = f_2(x_1, u) $$ which is of the form: $$ \dot{\mathbf{x}} = \mathbf f(\mathbf x, u, t) $$ Since the model coefficients (i.e. $C, g, m$) don't depend on time, we can drop the $t$: $$ \dot{\mathbf{x}} = \mathbf f(\mathbf x, u) $$ Now that you have a put the ODE in explicit form, you can take derivatives to find the operating point.

The basic idea is to approximate $\mathbf f(\mathbf x, u)$ with a first-order Taylor approximation about some operating point $(\mathbf x_0, u_0)$: $$ \mathbf f(\mathbf x, u) \approx \mathbf f(\mathbf x_0, u_0) + (\mathbf x - \mathbf x_0) \frac{\partial \mathbf f}{\partial \mathbf x}\Bigg|_{(\mathbf x_0, u_0)} + (u - u_0) \frac{\partial \mathbf f}{\partial u} \Bigg|_{(\mathbf x_0, u_0)} $$


From the referenced lecture slides, note that: $$ \mathbf f(\mathbf x, u) = \mathbf f(\mathbf x_0 + \Delta \mathbf x, u_0 + \Delta u) = \dot{\mathbf{x}}|_{(\mathbf x_0, u_0)} + \dot{\Delta \mathbf{x}}, $$ where $\Delta \mathbf x = \mathbf x - \mathbf x_0$, $\Delta u = u - u_0$, and $$ \dot{\mathbf{x}}|_{(\mathbf x_0, u_0)} = f(\mathbf x_0, u_0). $$ This leads to a linear, time-invariant system in terms of the state variable $\Delta \mathbf x$: $$ \dot{\Delta \mathbf{x}} = \mathrm A \Delta \mathbf x + \mathrm B \Delta u, $$ where: $$ \mathrm A = \frac{\partial \mathbf f}{\partial \mathbf x}\Bigg|_{(\mathbf x_0, u_0)} \\ \mathrm B = \frac{\partial \mathbf f}{\partial u}\Bigg|_{(\mathbf x_0, u_0)} $$ The solution for this coupled set of equations yields the displacements $\Delta \mathbf x$ from the operating point $(\mathbf x_0, u_0)$. This is true for any operating point $(\mathbf x_0, u_0)$, regardless of whether or not $\mathbf f(\mathbf x_0, u_0) = 0$. Also note that this system is LTI mathematically, not physically. In reality, the matrices $\mathrm A$ and $\mathrm B$ can also change with time.

Note that a good control algorithm based on a linearized model will have to update the operating point at a fast enough rate that the nonlinearities don't cause any problems.

  • 2
    $\begingroup$ i would call them Two "principles". $\endgroup$ – robert bristow-johnson Nov 27 '18 at 1:58
  • $\begingroup$ It might be useful to note that an operating point has to satisfy $f(x_0,u_0)=0$. $\endgroup$ – fibonatic Nov 27 '18 at 12:15
  • $\begingroup$ @fibonatic you can cheat it into an LTI system by solving for the perturbations $\Delta \mathbf x$ for any operating point $\endgroup$ – Robert L. Nov 27 '18 at 14:05
  • $\begingroup$ @CarlosDanger If $\dot{x}_0=f(x_0,u_0)\neq0$ then $A$ and $B$ might be time varying matrices, so in general you would have a linear time varying system. $\endgroup$ – fibonatic Nov 27 '18 at 14:26
  • $\begingroup$ @fibonatic The linearized system is LTI mathematically, not physically $\endgroup$ – Robert L. Nov 27 '18 at 14:27

Your Answer

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

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