nass-simscape/org/uncertainty_support.org

46 KiB

Effect of Uncertainty on the support's dynamics on the isolation platform dynamics

Introduction   ignore

In this document we will consider an isolation platform (e.g. the nano-hexapod) on top of a flexible support (e.g. the micro-station).

The goal is to study:

  • how does the dynamics of the support influence the dynamics of the plant to control
  • similarly: how does the uncertainty on the support's dynamics will be transferred to uncertainty on the plant
  • what design choice should be made in order to minimize the resulting uncertainty on the plant

Two models are made to study these effects:

  • In section sec:introductory_example, simple mass-spring-damper systems are chosen to model both the isolation platform and the flexible support
  • In section sec:arbitrary_dynamics, we consider arbitrary support dynamics with multiplicative input uncertainty to study the unmodelled dynamics of the support

Simple Introductory Example

<<sec:introductory_example>>

Introduction   ignore

Let's consider the system shown in Figure fig:2dof_system_stiffness_uncertainty consisting of:

  • A support represented by a mass $m^\prime$, a stiffness $k^\prime$ and a dashpot $c^\prime$
  • An isolation platform represented by a mass $m$, a stiffness $k$ and a dashpot $c$ and an actuator $F$

The goal is to stabilize $x$ using $F$ in spite of uncertainty on the support mechanical properties.

  \begin{tikzpicture}
    % ====================
    % Parameters
    % ====================
    \def\massw{2.2}  % Width of the masses
    \def\massh{0.8}  % Height of the masses
    \def\spaceh{1.2} % Height of the springs/dampers
    \def\dispw{0.3}  % Width of the dashed line for the displacement
    \def\disph{0.5}  % Height of the arrow for the displacements
    \def\bracs{0.05} % Brace spacing vertically
    \def\brach{-10pt} % Brace shift horizontaly
    % ====================


    % ====================
    % Ground
    % ====================
    \draw (-0.5*\massw, 0) -- (0.5*\massw, 0);
    \draw[dashed] (0.5*\massw, 0) -- ++(\dispw, 0) coordinate(dlow);
    % \draw[->] (0.5*\massw+0.5*\dispw, 0) -- ++(0, \disph) node[right]{$x_{w}$};

    % ====================
    % Micro Station
    % ====================
    \begin{scope}[shift={(0, 0)}]
      % Mass
      \draw[fill=white] (-0.5*\massw, \spaceh) rectangle (0.5*\massw, \spaceh+\massh) node[pos=0.5]{$m^\prime$};

      % Spring, Damper, and Actuator
      \draw[spring] (-0.4*\massw, 0) -- (-0.4*\massw, \spaceh) node[midway, left=0.1]{$k^\prime$};
      \draw[damper] (0, 0)           -- ( 0, \spaceh)          node[midway, left=0.2]{$c^\prime$};

      % Displacements
      \draw[dashed] (0.5*\massw, \spaceh) -- ++(\dispw, 0);
      \draw[->] (0.5*\massw+0.5*\dispw, \spaceh) -- ++(0, \disph) node[right]{$x^\prime$};

      % Legend
      \draw[decorate, decoration={brace, amplitude=8pt}, xshift=\brach] %
        (-0.5*\massw, \bracs) -- (-0.5*\massw, \spaceh+\massh-\bracs) %
        node[midway,rotate=90,anchor=south,yshift=10pt]{Support};
    \end{scope}

    % ====================
    % Nano Station
    % ====================
    \begin{scope}[shift={(0, \spaceh+\massh)}]
      % Mass
      \draw[fill=white] (-0.5*\massw, \spaceh) rectangle (0.5*\massw, \spaceh+\massh) node[pos=0.5]{$m$};

      % Spring, Damper, and Actuator
      \draw[spring] (-0.4*\massw, 0) -- (-0.4*\massw, \spaceh) node[midway, left=0.1]{$k$};
      \draw[damper] (0, 0)           -- ( 0, \spaceh)          node[midway, left=0.2]{$c$};
      \draw[actuator] ( 0.4*\massw, 0) -- (0.4*\massw, \spaceh) node[midway, left=0.1](F){$F$};

      % Displacements
      \draw[dashed] (0.5*\massw, \spaceh) -- ++(\dispw, 0) coordinate(dhigh);
      \draw[->] (0.5*\massw+0.5*\dispw, \spaceh) -- ++(0, \disph) node[right]{$x$};

      % Legend
      \draw[decorate, decoration={brace, amplitude=8pt}, xshift=\brach] %
        (-0.5*\massw, \bracs) -- (-0.5*\massw, \spaceh+\massh-\bracs) %
        node[midway,rotate=90,anchor=south,yshift=10pt,align=center]{Isolation\\Platform};
    \end{scope}

    % \draw[<->] (dlow) -- node[midway, right]{$d$} (dhigh);
  \end{tikzpicture}

/tdehaeze/nass-simscape/media/commit/e1cde2bd5bde40fcdadf265345e1057de38da23e/org/figs/2dof_system_stiffness_uncertainty.png

Two degrees-of-freedom system

Equations of motion

If we write the equation of motion of the system in Figure fig:2dof_system_stiffness_uncertainty, we obtain:

\begin{align} ms^2 x &= F + (cs + k) (x^\prime - x) \\ m^\prime s^2 x^\prime &= -F - (c^\prime s + k^\prime) x^\prime + (cs + k)(x - x^\prime) \end{align}

After eliminating $x^\prime$, we obtain:

\begin{equation} \frac{x}{F} = \frac{m^\prime s^2 + c^\prime s + k^\prime}{ms^2(cs + k) + (ms^2 + cs + k)(m^\prime s^2 + c^\prime s + k^\prime)} \end{equation}

Initialization of the support dynamics

Let the support have:

  • a nominal mass of $m^\prime = 1000\ [kg]$
  • a nominal stiffness of $k^\prime = 10^8\ [N/m]$
  • a nominal damping of $c^\prime = 10^5\ [N/(m/s)]$
  mpi = 1e3;
  cpi = 5e4;
  kpi = 1e8;

Let's also consider some uncertainty in those parameters:

  mp = ureal('m', mpi, 'Percentage', 30);
  cp = ureal('c', cpi, 'Percentage', 30);
  kp = ureal('k', kpi, 'Percentage', 30);

The compliance of the support without the isolation platform is $\frac{1}{m^\prime s^2 + c^\prime s + k^\prime}$ and its bode plot is shown in Figure fig:nominal_support_compliance_dynamics.

One can see that support has a resonance frequency of $\omega_0^\prime = 50\ Hz$.

<<plt-matlab>>
/tdehaeze/nass-simscape/media/commit/e1cde2bd5bde40fcdadf265345e1057de38da23e/org/figs/nominal_support_compliance_dynamics.png
Nominal compliance of the support (png, pdf)

Initialization of the isolation platform

Let's first fix the mass of the payload to be isolated:

  m = 100;

And we generate three isolation platforms:

  • A soft one with $\omega_0 = 0.1 \omega_0^\prime = 5\ Hz$
  • A medium stiff one with $\omega_0 = \omega_0^\prime = 50\ Hz$
  • A stiff one with $\omega_0 = 10 \omega_0^\prime = 500\ Hz$

Comparison

The obtained dynamics from $F$ to $x$ for the three isolation platform are shown in Figure fig:plant_dynamics_uncertainty_stiff_mid_soft.

<<plt-matlab>>
/tdehaeze/nass-simscape/media/commit/e1cde2bd5bde40fcdadf265345e1057de38da23e/org/figs/plant_dynamics_uncertainty_stiff_mid_soft.png
Obtained plant for the three isolation platforms considered (png, pdf)

Conclusion

The soft platform dynamics does not seems to depend on the dynamics of the support nor to be affect by the dynamic uncertainty of the support.

Generalization to arbitrary dynamics

<<sec:arbitrary_dynamics>>

Introduction

Let's now consider a general support described by its compliance $G^\prime(s) = \frac{x^\prime}{F^\prime}$ as shown in Figure fig:general_support_compliance.

  \begin{tikzpicture}
    \def\massw{2.2}  % Width of the masses
    \def\massh{0.8}  % Height of the masses
    \def\spaceh{1.2} % Height of the springs/dampers
    \def\dispw{0.3}  % Width of the dashed line for the displacement
    \def\disph{0.5}  % Height of the arrow for the displacements
    \def\bracs{0.05} % Brace spacing vertically
    \def\brach{-10pt} % Brace shift horizontaly

    \node[piezo={2.2}{3}{10}] (piezo) at (0, 0){};
    \draw[] ($(piezo.north)+(-1.2, 0)$) -- ++(2.4, 0);
    \draw[] ($(piezo.south)+(-1.2, 0)$) -- ++(2.4, 0);
    \draw[dashed] (piezo.north east) -- ++(\dispw, 0) coordinate(dhigh);
    \draw[->] ($(piezo.north east)+(0.5*\dispw, 0)$) -- ++(0, \disph) node[right]{$x^\prime$};
    \draw[->] (piezo.north) node[branch]{} -- ++(0, 1) node[below right]{$F^\prime$};

    \draw[decorate, decoration={brace, amplitude=8pt}, xshift=\brach] %
      ($(piezo.south west) + (-10pt, 0)$) -- ($(piezo.north west) + (-10pt, 0)$) %
      node[midway,rotate=90,anchor=south,yshift=10pt,align=center]{General Support};
  \end{tikzpicture}

/tdehaeze/nass-simscape/media/commit/e1cde2bd5bde40fcdadf265345e1057de38da23e/org/figs/general_support_compliance.png

General support

Now let's consider the system consisting of a mass-spring-system (the isolation platform) on top of a general support as shown in Figure fig:general_support_with_isolator.

  \begin{tikzpicture}
    \def\massw{2.2}  % Width of the masses
    \def\massh{0.8}  % Height of the masses
    \def\spaceh{1.2} % Height of the springs/dampers
    \def\dispw{0.3}  % Width of the dashed line for the displacement
    \def\disph{0.5}  % Height of the arrow for the displacements
    \def\bracs{0.05} % Brace spacing vertically
    \def\brach{-10pt} % Brace shift horizontaly

    \node[piezo={2.2}{3}{10}] (piezo) at (0, 0){};
    \draw[] ($(piezo.north)+(-1.2, 0)$) -- ++(2.4, 0);
    \draw[] ($(piezo.south)+(-1.2, 0)$) -- ++(2.4, 0);
    \draw[dashed] (piezo.north east) -- ++(\dispw, 0) coordinate(dhigh);
    \draw[->] ($(piezo.north east)+(0.5*\dispw, 0)$) -- ++(0, \disph) node[right]{$x^\prime$};
    \draw[->] (piezo.north) node[branch]{} -- ++(0, -1) node[above right]{$-F^\prime$};

    \draw[decorate, decoration={brace, amplitude=8pt}, xshift=\brach] %
      ($(piezo.south west) + (-10pt, 0)$) -- ($(piezo.north west) + (-10pt, 0)$) %
      node[midway,rotate=90,anchor=south,yshift=10pt,align=center]{General Support};

    \begin{scope}[shift={(piezo.north)}]
      % Mass
      \draw[fill=white] (-0.5*\massw, \spaceh) rectangle (0.5*\massw, \spaceh+\massh) node[pos=0.5]{$m$};

      % Spring, Damper, and Actuator
      \draw[spring] (-0.4*\massw, 0) -- (-0.4*\massw, \spaceh) node[midway, left=0.1]{$k$};
      \draw[damper] (0, 0)           -- ( 0, \spaceh)          node[midway, left=0.2]{$c$};
      \draw[actuator] ( 0.4*\massw, 0) -- (0.4*\massw, \spaceh) node[midway, left=0.1](F){$F$};

      % Displacements
      \draw[dashed] (0.5*\massw, \spaceh) -- ++(\dispw, 0) coordinate(dhigh);
      \draw[->] (0.5*\massw+0.5*\dispw, \spaceh) -- ++(0, \disph) node[right]{$x$};

      % Legend
      \draw[decorate, decoration={brace, amplitude=8pt}, xshift=\brach] %
        (-0.5*\massw, \bracs) -- (-0.5*\massw, \spaceh+\massh-\bracs) %
        node[midway,rotate=90,anchor=south,yshift=10pt,align=center]{Isolation\\Platform};
    \end{scope}
  \end{tikzpicture}

/tdehaeze/nass-simscape/media/commit/e1cde2bd5bde40fcdadf265345e1057de38da23e/org/figs/general_support_with_isolator.png

Mass-Spring-Damper system on top of a general support

Equations of motion

We have to following equations of motion:

\begin{align} ms^2 x &= F + (cs + k) (x^\prime - x) \\ F^\prime &= -F + (cs + k)(x - x^\prime) \\ \frac{x^\prime}{F^\prime} &= G^\prime(s) \end{align}

And by eliminating $F^\prime$ and $x^\prime$, we find the plant dynamics $G(s) = \frac{x}{F}$.

\begin{equation} \frac{x}{F} = \frac{1}{ms^2 + cs + k + ms^2(cs + k)G^\prime(s)} \label{eq:plant_dynamics_general_support} \end{equation}

In order to verify that the formula is correct, let's take the same mass-spring-damper system used in the system shown in Figure fig:2dof_system_stiffness_uncertainty: \[ \frac{x^\prime}{F^\prime} = \frac{1}{m^\prime s^2 + c^\prime s + k^\prime} \]

And we obtain \[ \frac{x}{F} = \frac{m^\prime s^2 + c^\prime s + k^\prime}{(ms^2 + cs + k)(m^\prime s^2 + c^\prime s + k^\prime) + ms^2(cs + k)} \] Which is the same transfer function that was obtained in section sec:introductory_example (Eq. eq:plant_simple_system).

Compliance of the Support

We model the support by a mass-spring-damper model with some uncertainty.

The nominal compliance of the support is corresponding to the compliance of a mass-spring-damper system with a mass of $1000\ kg$ and a stiffness of $10^8\ [N/m]$. The main resonance of the support is then $\omega^\prime = \sqrt{\frac{m^\prime}{k^\prime}} \approx 50\ Hz$.

  m0 = 1e3;
  c0 = 5e4;
  k0 = 1e8;

  Gp0 = 1/(m0*s^2 + c0*s + k0);

Let's represent the uncertainty on the compliance of the support by a multiplicative uncertainty (Figure fig:input_uncertainty_set): \[ G^\prime(s) = G_0^\prime(s)(1 + w_I^\prime(s)\Delta_I(s)) \quad |\Delta_I(j\omega)| < 1\ \forall \omega \]

This could represent unmodelled dynamics or unknown parameters of the support.

  \begin{tikzpicture}
    \tikzset{block/.default={0.8cm}{0.8cm}}
    \tikzset{addb/.append style={scale=0.7}}
    \tikzset{node distance=0.6}
    % Blocs
    \node[block] (G) {$G_0^\prime$};

    \node[addb, left= of G] (addi) {};
    \node[block, above left=0.3 and 0.3 of addi] (deltai) {$\Delta_I$};
    \node[block, left= of deltai] (wi) {$w_I$};
    \node[branch] (branch) at ($(wi.west|-addi)+(-0.4, 0)$) {};

    % Connections and labels
    \draw[->] (branch.center) |- (wi.west);
    \draw[->] ($(branch)+(-0.6, 0)$) -- (addi.west);
    \draw[->] (wi.east) -- (deltai.west);
    \draw[->] (deltai.east) -| (addi.north);
    \draw[->] (addi.east) -- (G.west);
    \draw[->] (G.east) -- ++(0.6, 0);

    \begin{scope}[on background layer]
      \node[fit={(branch|-wi.north) (G.south east)}, inner sep=6pt, draw, dashed, fill=black!20!white] (Gp) {};
        \node[below left] at (Gp.north east) {$G^\prime$};
    \end{scope}
  \end{tikzpicture}

/tdehaeze/nass-simscape/media/commit/e1cde2bd5bde40fcdadf265345e1057de38da23e/org/figs/input_uncertainty_set.png

Input Multiplicative Uncertainty

We choose a simple uncertainty weight: \[ w_I(s) = \frac{\tau s + r_0}{(\tau/r_\infty) s + 1} \] where $r_0$ is the relative uncertainty at steady-state, $1/\tau$ is the frequency at which the relative uncertainty reaches $100\ \%$, and $r_\infty$ is the magnitude of the weight at high frequency.

The parameters are defined below.

  r0 = 0.5;
  tau = 1/(100*2*pi);
  rinf = 10;

  wI = (tau*s + r0)/((tau/rinf)*s + 1);

We then generate a complex $\Delta$.

  DeltaI = ucomplex('A',0);

We generate the uncertain plant $G^\prime(s)$.

  Gp = Gp0*(1+wI*DeltaI);

A set of uncertainty support's compliance transfer functions is shown in Figure fig:compliance_support_uncertainty.

<<plt-matlab>>
/tdehaeze/nass-simscape/media/commit/e1cde2bd5bde40fcdadf265345e1057de38da23e/org/figs/compliance_support_uncertainty.png
Uncertainty of the support's compliance (png, pdf)

Equivalent Inverse Multiplicative Uncertainty

Let's express the uncertainty of the plant $x/F$ as a function of the parameters as well as of the uncertainty on the platform's compliance:

\begin{align*} \frac{x}{F} &= \frac{1}{ms^2 + cs + k + ms^2(cs + k)G_0^\prime(s)(1 + w_I(s)\Delta(s))}\\ &= \frac{1}{ms^2 + cs + k + ms^2(cs + k)G_0^\prime(s) + ms^2(cs + k)G_0^\prime(s) w_I(s)\Delta(s)}\\ &= \frac{1}{ms^2 + cs + k + ms^2(cs + k)G_0^\prime(s)} \cdot \frac{1}{1 + \frac{ms^2(cs + k)G_0^\prime(s) w_I(s)}{ms^2 + cs + k + ms^2(cs + k)G_0^\prime(s)} \Delta(s)}\\ \end{align*}

We can the plant dynamics that as an inverse multiplicative uncertainty (Figure fig:inverse_uncertainty_set):

\begin{equation} \frac{x}{F} = G_0(s) (1 + w_{iI}(s) \Delta(s))^{-1} \end{equation}

with:

  • $G_0(s) = \frac{1}{ms^2 + cs + k + ms^2(cs + k)G_0^\prime(s)}$
  • $w_{iI}(s) = \frac{ms^2(cs + k)G_0^\prime(s) w_I(s)}{ms^2 + cs + k + ms^2(cs + k)G_0^\prime(s)} = G_0(s) ms^2(cs + k)G_0^\prime(s) w_I(s)$
  \begin{tikzpicture}
    \tikzset{block/.default={0.8cm}{0.8cm}}
    \tikzset{addb/.append style={scale=0.7}}
    \tikzset{node distance=0.6}

    % Blocs
    \node[block] (G) {$G$};

    \node[branch, left=0.4 of G] (branch) {};
    \node[block, above left=0.6 and 0.3 of branch] (deltai) {$\Delta_{iI}$};
    \node[block, left= of deltai] (wi) {$w_{iI}$};
    \node[addb] (addu) at ($(wi.west|-G)+(-0.2, 0)$) {};

    % Connections and labels
    \draw[->] (addu.east) -- (G.west);
    \draw[<-] (addu.north) |- (wi.west);
    \draw[<-] (wi.east) node[above right]{$u_\Delta$} -- (deltai.west);
    \draw[<-] (deltai.east) node[above right]{$y_\Delta$} -| (branch.center);
    \draw[->] (G.east) -- ++(0.8, 0);
    \draw[<-] (addu.west) -- ++(-0.8, 0);

      \begin{scope}[on background layer]
        \node[fit={(wi.north-|addu.west) (G.south east)}, inner sep=6pt, draw, dashed, fill=black!20!white] (Gp) {};
        \node[below left] at (Gp.north east) {$G_p$};
      \end{scope}
  \end{tikzpicture}

/tdehaeze/nass-simscape/media/commit/e1cde2bd5bde40fcdadf265345e1057de38da23e/org/figs/inverse_uncertainty_set.png

Inverse Multiplicative Uncertainty

Effect of the Isolation platform Stiffness

Let's first fix the mass of the payload to be isolated:

  m = 100;

And we generate three isolation platforms:

  • A soft one with $\omega_0 = 5\ Hz$
  • A medium stiff one with $\omega_0 = 50\ Hz$
  • A stiff one with $\omega_0 = 500\ Hz$

Soft Isolation Platform:

  k_soft = m*(2*pi*5)^2;
  c_soft = 0.1*sqrt(m*k_soft);

  G_soft = 1/(m*s^2 + c_soft*s + k_soft + m*s^2*(c_soft*s + k_soft)*Gp);
  G0_soft = 1/(m*s^2 + c_soft*s + k_soft + m*s^2*(c_soft*s + k_soft)*Gp0);
  wiI_soft = Gp0*m*s^2*(c_soft*s + k_soft)*G0_soft*wI;

Mid Isolation Platform

  k_mid = m*(2*pi*50)^2;
  c_mid = 0.1*sqrt(m*k_mid);

  G_mid = 1/(m*s^2 + c_mid*s + k_mid + m*s^2*(c_mid*s + k_mid)*Gp);
  G0_mid = 1/(m*s^2 + c_mid*s + k_mid + m*s^2*(c_mid*s + k_mid)*Gp0);
  wiI_mid = Gp0*m*s^2*(c_mid*s + k_mid)*G0_mid*wI;

Stiff Isolation Platform

  k_stiff = m*(2*pi*500)^2;
  c_stiff = 0.1*sqrt(m*k_stiff);

  G_stiff = 1/(m*s^2 + c_stiff*s + k_stiff + m*s^2*(c_stiff*s + k_stiff)*Gp);
  G0_stiff = 1/(m*s^2 + c_stiff*s + k_stiff + m*s^2*(c_stiff*s + k_stiff)*Gp0);
  wiI_stiff = Gp0*m*s^2*(c_stiff*s + k_stiff)*G0_stiff*wI;

The obtained transfer functions $x/F$ for each of the three platforms are shown in Figure fig:plant_uncertainty_stiffness_isolator.

<<plt-matlab>>
/tdehaeze/nass-simscape/media/commit/e1cde2bd5bde40fcdadf265345e1057de38da23e/org/figs/plant_uncertainty_stiffness_isolator.png
Obtained plant for the three isolators (png, pdf)

The obtain result is very similar to the one obtain in section sec:introductory_example, except for the stiff isolation that experience lot's of uncertainty at high frequency. This is due to the fact that with the current model, at high frequency, the support's compliance uncertainty is much higher than the previous model.

Reduce the Uncertainty on the plant

Introduction   ignore

Now that we know the expression of the uncertainty on the plant, we can wonder what parameters of the isolation platform would lower the plant uncertainty, or at least bring the uncertainty to reasonable level.

The uncertainty of the plant is described by an inverse multiplicative uncertainty with the following weight: \[ w_{iI}(s) = \frac{ms^2(cs + k)G_0^\prime(s) w_I(s)}{ms^2 + cs + k + ms^2(cs + k)G_0^\prime(s)} \]

Let's study separately the effect of the platform's mass, damping and stiffness.

Effect of the platform's stiffness $k$

Let's fix $\xi = \frac{c}{2\sqrt{km}} = 0.1$, $m = 100\ [kg]$ and see the evolution of $|w_{iI}(j\omega)|$ with $k$.

This is first shown for few values of the stiffness $k$ in figure fig:inverse_multiplicative_uncertainty_norm_few_k

<<plt-matlab>>
/tdehaeze/nass-simscape/media/commit/e1cde2bd5bde40fcdadf265345e1057de38da23e/org/figs/inverse_multiplicative_uncertainty_norm_few_k.png
caption (png, pdf)

The norm of the uncertainty weight $|w_iI(j\omega)|$ is displayed as a function of $\omega$ and $k$ in Figure fig:inverse_multiplicative_uncertainty_norm_k.

<<plt-matlab>>
/tdehaeze/nass-simscape/media/commit/e1cde2bd5bde40fcdadf265345e1057de38da23e/org/figs/inverse_multiplicative_uncertainty_norm_k.png
Evolution of the norm of the uncertainty weight $|w_{iI}(j\omega)|$ as a function of the platform's stiffness $k$ (png, pdf)

Instead of plotting as a function of the platform's stiffness, we can plot as a function of $\omega_0/\omega_0^\prime$ where:

  • $\omega_0$ is the resonance of the platform alone
  • $\omega_0^\prime$ is the resonance of the support alone

The obtain plot is shown in Figure fig:inverse_multiplicative_uncertainty_k_normalized_frequency. In that case, we can see that with a platform's resonance frequency 10 times lower than the resonance of the support, we get less than $1\%$ uncertainty.

<<plt-matlab>>
/tdehaeze/nass-simscape/media/commit/e1cde2bd5bde40fcdadf265345e1057de38da23e/org/figs/inverse_multiplicative_uncertainty_k_normalized_frequency.png
Evolution of the norm of the uncertainty weight $|w_{iI}(j\omega)|$ as a function of the frequency ratio $\omega_0/\omega_0^\prime$ (png, pdf)

Effect of the platform's damping $c$

Let's fix $k = 10^7\ [N/m]$, $m = 100\ [kg]$ and see the evolution of $|w_{iI}(j\omega)|$ with the isolator damping $c$ (Figure fig:inverse_multiplicative_uncertainty_norm_c).

<<plt-matlab>>
/tdehaeze/nass-simscape/media/commit/e1cde2bd5bde40fcdadf265345e1057de38da23e/org/figs/inverse_multiplicative_uncertainty_norm_c.png
Evolution of the norm of the uncertainty weight $|w_{iI}(j\omega)|$ as a function of the platform's damping ratio $\xi$ (png, pdf)

Effect of the platform's mass $m$

Let's fix $k = 10^7\ [N/m]$, $\xi = \frac{c}{2\sqrt{km}} = 0.1$ and see the evolution of $|w_{iI}(j\omega)|$ with the payload mass $m$ (Figure fig:inverse_multiplicative_uncertainty_norm_m).

<<plt-matlab>>
/tdehaeze/nass-simscape/media/commit/e1cde2bd5bde40fcdadf265345e1057de38da23e/org/figs/inverse_multiplicative_uncertainty_norm_m.png
Evolution of the norm of the uncertainty weight $|w_{iI}(j\omega)|$ as a function of the payload mass $m$ (png, pdf)

Conclusion

If the goal is to have an acceptable ($<10\%$) uncertainty on the plant until the highest frequency, two design choice for the isolation platform are possible:

  • a very soft isolation platform $\omega_0 \ll \omega_0^\prime$
  • a very stiff isolation platform $\omega_0 \gg \omega_0^\prime$

If a very soft isolation platform is used, the uncertainty due to the support's compliance is filtered out and never reaches problematic values.

If a very stiff isolation platform is used, the uncertainty will be high around $\omega_0^\prime$ and may reach unacceptable value. It will then be high around $\omega_0$ and probably be higher than one. Thus, if a stiff isolation platform is used, the recommendation is to have the largest possible resonance frequency, as the control bandwidth will be limited by the first resonance of the isolation platform (if not already limited by the resonance of the support).