Work on the control part

This commit is contained in:
Thomas Dehaeze 2020-05-06 16:27:13 +02:00
parent fa5055c6b5
commit 65b7811e87
17 changed files with 1495 additions and 617 deletions

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

1631
index.html

File diff suppressed because it is too large Load Diff

481
index.org
View File

@ -821,7 +821,7 @@ Thus, we here wish to find the optimal nano-hexapod properties such that:
In this study, the effect of the nano-hexapod's mass characteristics is not taken into account because it cannot be changed a lot and it is quite negligible compare the to metrology reflector and the payload's masses that are fixed to nano-hexapod's top platform.
Also, the effect of the nano-hexapod's damping properties will be studied when applying active damping techniques.
Also, the nano-hexapod's damping is not studied here as it is supposed to be very small, and active damping techniques will be included in the control architecture to add the wanted amount of damping.
** A brief introduction to Stewart Platforms
<<sec:stewart_platform>>
@ -1411,7 +1411,7 @@ For instance, the flexible joint used for the ID16 nano-hexapod have the followi
<<sec:robust_control_architecture>>
** Introduction :ignore:
Before designing the control system, let's summarize what has been done:
Before designing the control system, let's summarize what have been done:
- The multi-body model of the micro-station has been tuned based on actual dynamical measurements
- Ground motion and stage vibrations have been estimated and included in the model
- The optimal nano-hexapod stiffness has been determined such that is minimizes the effect of disturbances and at the same time reduces the plant dynamic uncertainty
@ -1419,18 +1419,25 @@ Before designing the control system, let's summarize what has been done:
The optimal nano-hexapod is now included in the model, and a robust control architecture is developed.
It is preferred to design *one* controller that gives acceptable performance for *all* the changes in the system (payload masses, spindle's rotation speeds, etc).
This is however quite challenging as the plant dynamics does depend quite a lot on the payload's mass.
Note that it is preferred to design *one* controller that gives acceptable performance for *all* the changes in the system (payload masses, spindle's rotation speeds, etc), this control property is called *robust performance*.
This is however quite challenging as the plant dynamics changes a lot with experimental conditions such as a change of payload's mass.
If it turns out it not possible to develop a robust controller that gives acceptable performance, an alternative would be to develop an *adaptive* controller that depends on the payload mass/inertia.
If it turns out that no robust controller can give acceptable performance, an alternative would be to develop an *adaptive* controller that depends on the payload mass/inertia.
This would require to measure the mass/inertia of each used payload and manually choose the controller that was design for that particular mass/inertia.
- Section [[sec:hac_lac]]: the High Authority Control / Low Authority Control Architecture is described and the reasons of its use are explained
- Section [[sec:lac_control]]: the active damping strategy is implemented and its effects on the system are described
- Section [[sec:hac_control]]: the high authority control is developed and the control robustness is studied
- Section [[sec:tomography_experiment]]: tomography experiments are simulated and the performances are estimated
- Section [[sec:more_simulations]]: more complex simulations are performed
** High Authority Control / Low Authority Control Architecture
<<sec:hac_lac>>
Many control architecture could be used for the control of the nano-hexapod.
Many control architecture for the control of Stewart platform have been developed and presented in the scientific literature.
One of the possible control architecture that seems adapted for the current problem is the *High Authority Control / Low Authority Control* (HAC-LAC) architecture.
One of the control architectures that seems adapted for the current problem is the *High Authority Control / Low Authority Control* (HAC-LAC) architecture.
Some properties of the HAC-LAC architecture are explained below (taken from cite:preumont18_vibrat_contr_activ_struc_fourt_edition):
#+begin_quote
@ -1446,7 +1453,7 @@ This approach has the following advantages:
#+caption: HAC-LAC Architecture with a system having only one input
[[file:figs/control_architecture_hac_lac_one_input.png]]
The HAC-LAC architecture thus consisted of two cascade controllers:
The HAC-LAC architecture thus consists of two cascade controllers:
- a Low Authority Controller that is used to damp the system (Section [[sec:lac_control]])
- a High Authority Controller used to suppress the sample's vibration in a wide frequency range (Section [[sec:hac_control]])
@ -1454,63 +1461,148 @@ The HAC-LAC architecture thus consisted of two cascade controllers:
<<sec:lac_control>>
*** Introduction :ignore:
Depending on the chosen active damping technique, either force sensors, relative motion sensors or inertial sensors should be included in each of the nano-hexapod's legs.
Three main active damping techniques can usually be applied:
- Integral Force Feedback
- Direct Velocity Feedback with relative motion sensors
- Direct Velocity Feedback with inertial sensors
Because of the rotation of the hexapod,
These active damping techniques are compared based on (reports accessible [[https://tdehaeze.github.io/rotating-frame/index.html][here]] and [[https://tdehaeze.github.io/nass-simscape/control_active_damping.html][here]]):
- the obtained reduction of the effect of disturbances close to the resonance of the system
- their ability to render the plant dynamics simpler to control for the High Authority Controller
- their robustness properties
A separate study (accessible [[https://tdehaeze.github.io/rotating-frame/index.html][here]]) about the use of all three sensors types have been done, the conclusions are:
- the use of force sensors is to be avoided as it could introduce instability in the system due to the nano-hexapod's rotation
The conclusions are:
- the use of force sensors is to be avoided as it could introduce instability in the system due to the nano-hexapod's rotation (effect explained in the next section)
- the use of inertial sensor should not be used as it would tends to decouple the motion of the sample from the motion of the granite (which is not wanted).
It would also be difficult to apply in a robust way due to the non-collocation with the actuators
- relative motion sensors can be used to damped the nano-hexapod's modes in a robust way but may increase the sensibility to stages vibrations
It also does not give the wanted robust properties
- relative motion sensors can be used to damp the nano-hexapod's modes in a robust way but may increase the sensibility to stages vibrations
*** Effect of the Spindle's Rotation
*Direct velocity feedback* is then the active damping techniques that will be applied to the nano-hexapod, and *relative motion sensor* are integrated in the six nano-hexapod's legs.
Main advantages and disadvantage of these active damping techniques are summarized in Table [[tab:comp_active_damping]].
#+name: tab:comp_active_damping
#+caption: Comparison of the three main active damping techniques that could be applied to the nano-hexapod
| | *Integral Force Feedback* | *Direct Velocity Feedback* | *Inertial Control* |
|------------------------+-------------------------------------------------+--------------------------------------------------+----------------------------------------------------------|
| Sensors to be included | Force Sensors | Relative Motion Sensors | Inertial Sensors |
|------------------------+-------------------------------------------------+--------------------------------------------------+----------------------------------------------------------|
| Advantages | Low noise | Guaranteed Stability | Increase the compliance and reduces the transmissibility |
| | Easy integration with piezoelectric actuators | Arbitrary damping added to the nano-hexapod | |
|------------------------+-------------------------------------------------+--------------------------------------------------+----------------------------------------------------------|
| Disadvantages | Reduces the compliance at low frequency | Increases the transmissibility at high frequency | No guaranteed stability |
| | No guaranteed stability in presence of rotation | | Increases the sensibility to ground motion |
*** Effect of the Spindle's Rotation - Guaranteed Stability
:PROPERTIES:
:UNNUMBERED: t
:END:
#+name: fig:dvf_root_locus_ws
#+caption: Figure caption
[[file:figs/dvf_root_locus_ws.png]]
To see why Integral Force Feedback should not be applied for active damping of the nano-hexapod, a simple model of a rotating position platform integration force sensors has been developed (described in details [[https://tdehaeze.github.io/rotating-frame/index.html][here]]).
#+name: fig:iff_root_locus_ws
#+caption: Figure caption
[[file:figs/iff_root_locus_ws.png]]
The position platform main resonance frequency is $\omega_0$ and its rotating speed is $\omega$.
Root Locus plots for Integral Force Feedback and Direct Velocity Feedback are shown in Table [[fig:root_locus_rotation_active_damping]].
These plots show the evolution of the system's poles in the complex plane as a function of the control gain.
#+name: fig:root_locus_rotation_active_damping
#+caption: Variation of the Root Locus for DVF and IFF in presence of rotation. $\omega$ is the spindle rotation speed, and $\omega_0$ is the resonance frequency of the considered rotating system.
| [[file:figs/dvf_root_locus_ws.png]] | [[file:figs/iff_root_locus_ws.png]] |
| Direct Velocity Feedback | Integral Force Feedback |
To understand what the root locus means, consider Figure [[fig:preumont18_effect_damping]] where two resonant systems are compared.
The first one in blue is undamped and its pole in the complex plane is located on the imaginary axis.
The second one in red has some added damping which can be easily see by the maximum value of its amplitude.
On the complex plane, the damping ratio $\xi$ of a system resonance can be estimated by the angle its corresponding pole makes with the imaginary axis: $\xi = \sin \phi$.
To damp a system, it is thus wanted to move the poles to the left part of the complex plane.
A pole with a positive real part corresponds to an unstable system, and thus the right part of the complex should be avoided.
#+name: fig:preumont18_effect_damping
#+caption: Role of damping (cite:preumont18_vibrat_contr_activ_struc_fourt_edition). (a) Pole position in the complex plane. (b) Change of dynamic amplification ($1/2\xi$)
[[file:figs/preumont18_effect_damping.png]]
Coming back to the Root Locus in Table [[fig:root_locus_rotation_active_damping]], it can be seen that:
- For Direct Velocity Feedback:
- The system's poles are staying in the left half plane which shows the guaranteed stability
- Arbitrary damping can be added to the system's resonances
- For Integral Force Feedback:
- For non null rotation speed, and whatever the control gain is, a pole is located in the right part of the complex plane, showing that the closed-loop system is unstable
- Limited damping can be added to the system
Same observations are made on the Simscape model of the NASS, and this shows why Direct Velocity Feedback is the chosen method to apply active damping.
*** Relative Direct Velocity Feedback Architecture
:PROPERTIES:
:UNNUMBERED: t
:END:
Active Damping can help:
- by reducing the effect of disturbances close to the resonance of the system
- by making the plant dynamics simpler to control for the High Authority Controller
*Relative motion sensors* are then included in each of the nano-hexapod's leg and a decentralized direct velocity feedback control architecture is applied (Figure [[fig:control_architecture_dvf]]).
The signals shown in Figure [[fig:control_architecture_dvf]] are:
- $\bm{\tau}$: Actuator forces applied in each leg
- $\bm{\tau}_m$: Force sensor signal located in each leg
- $\bm{\mathcal{X}}$: Measurement of the payload position with respect to the granite by the metrology system
- $\bm{\tau}_m$: Force sensor signal located in each leg (not used here)
- $\bm{\mathcal{X}}$: Measurement of the payload position with respect to the granite by the metrology system (used for the HAC part)
- $d\bm{\mathcal{L}}$: Measurement of the (small) relative motion of each leg
$\bm{K}_{\text{DVF}}$ is a diagonal controller with derivative action.
This is equivalent as to have six independent control loops from the relative motion sensor of one leg to the actuator of the same leg.
This control architecture is equivalent as to have six independent control loops from the relative motion sensor of one leg to the actuator of the same leg (hence the term *decentralized*).
The force applied in each leg being proportional to the relative velocity of the associated leg (thanks to the derivative action), this adds *damping* to the nano-hexapod's modes.
#+name: fig:control_architecture_dvf
#+caption: Low Authority Control: Decentralized Direct Velocity Feedback
[[file:figs/control_architecture_dvf.png]]
*** Dynamics and Root Locus
:PROPERTIES:
:UNNUMBERED: t
:END:
The dynamics from $\tau_i$ to $d\mathcal{L}_i$ for three payload masses is shown in Figure [[fig:opt_stiff_dvf_plant]].
It is shown that for all the payload masses, the dynamics shows an alternation of poles and zeros which makes the direct velocity feedback loop robust.
This is confirmed by the Root Locus in Figure [[fig:opt_stiff_dvf_root_locus]] where all the poles are staying in the left half plane.
Moreover, it is seen that arbitrary damping can be applied to the nano-hexapod's modes.
#+name: fig:opt_stiff_dvf_plant
#+caption: Dynamics from actuator force $\tau_i$ to the relative displacement of the corresponding leg $d\mathcal{L}_i$ for three payload masses
[[file:figs/opt_stiff_dvf_plant.png]]
#+name: fig:opt_stiff_dvf_root_locus
#+caption: Root Locus (zoomed on the nano-hexapod modes) corresponding to the Direct Velocity Feedback control for three payload masses
[[file:figs/opt_stiff_dvf_root_locus.png]]
The DVF gain is here chosen in such a way that the suspension modes of the nano-hexapod are critically damped whatever the sample mass.
This may not be the optimal choice as will be further explained.
*** Effect of Active Damping on the Sensibility to Disturbances
:PROPERTIES:
:UNNUMBERED: t
:END:
The first objective of the active damping technique is to lower the sensibility to disturbances.
These are shown without active damping (solid) and with the use of DVF (dashed) is shown in Figure [[fig:opt_stiff_sensibility_dist_dvf]].
The Direct Velocity Feedback control lowers the sensibility to disturbances in the vicinity of the nano-hexapod resonance but increases the sensibility at higher frequencies.
This is probably not the optimal gain that could have been used, and further analysis and optimization should be performed.
#+name: fig:opt_stiff_sensibility_dist_dvf
#+caption: Norm of the transfer function from vertical disturbances to vertical position error with (dashed) and without (solid) Direct Velocity Feedback applied
[[file:figs/opt_stiff_sensibility_dist_dvf.png]]
*** Effect of Active Damping on the Primary Plant Dynamics
:PROPERTIES:
:UNNUMBERED: t
:END:
The second objective is to render the plant dynamics simpler to control for the High Authority Controller.
The plant dynamics before (solid curves) and after (dashed curves) the Low Authority Control implementation are compared in Figure [[fig:opt_stiff_primary_plant_damped_L]].
It is clear that the use of the DVF reduces the dynamical spread of the plant dynamics between 5Hz up too 100Hz.
This will make the primary controller more robust and easier to develop.
@ -1519,40 +1611,190 @@ This will make the primary controller more robust and easier to develop.
#+caption: Primary plant in the space of the legs with (dashed) and without (solid) Direct Velocity Feedback
[[file:figs/opt_stiff_primary_plant_damped_L.png]]
*** Effect of Active Damping on the Sensibility to Disturbances
*** Conclusion
:PROPERTIES:
:UNNUMBERED: t
:END:
The change of sensibility to disturbances with the use of DVF is shown in Figure [[fig:opt_stiff_sensibility_dist_dvf]].
It is shown that the DVF control lowers the sensibility to disturbances in the vicinity of the nano-hexapod resonance but increases the sensibility at higher frequencies.
#+begin_important
It has been shown that *Direct Velocity Feedback* using *relative motion sensors* is the most adapted active damping technique that should be applied to the nano-hexapod.
This is probably not the optimal gain that could have been used, and further analysis and optimization should be performed.
Its main disadvantage is the increase of the sensibility to stage vibrations at high frequency which may limit the performances of the system.
#+name: fig:opt_stiff_sensibility_dist_dvf
#+caption: Norm of the transfer function from vertical disturbances to vertical position error with (dashed) and without (solid) Direct Velocity Feedback applied
[[file:figs/opt_stiff_sensibility_dist_dvf.png]]
Thus, further improvements and optimization will be applied to this control architecture in order to limit the increase of vibration transmissibility at high frequency.
#+end_important
** High Authority Control
<<sec:hac_control>>
The complete HAC-LAC architecture is shown in Figure [[fig:control_architecture_hac_dvf_pos_L]] where an outer loop is added to the decentralized direct velocity feedback loop.
*** Introduction :ignore:
Why this is the most important part
The block =Compute Position Error= is used to compute the position error $\bm{\epsilon}_{\mathcal{X}_n}$ of the sample with respect to the nano-hexapod's base platform from the actual measurement of the sample's pose $\bm{\mathcal{X}}$ and the wanted pose $\bm{r}_\mathcal{X}$.
The use of the Low Authority Controller was mostly to facilitate the design of the High Authority Controller.
The bandwidth of the High Authority Controller it what will most likely determine the performance of the system.
*** Control in the Task space or in the Leg Space?
:PROPERTIES:
:UNNUMBERED: t
:END:
Let's consider the two HAC-LAC control architectures shown in Figures [[fig:control_architecture_hac_dvf_pos_X]] and [[fig:control_architecture_hac_dvf_pos_L]] where an outer control loop is added to the already damped plant.
#+begin_important
The *control objective* for the High Authority Controller $\bm{K}$ is to compute the force $\bm{\tau}^\prime$ to be applied by the six nano-hexapod's actuators such that the relative position of the sample with respect to the granite $\bm{\mathcal{X}}$ follows a wanted trajectory $\bm{r}_\mathcal{X}$.
#+end_important
To do so, the block =Compute Pos. Error= is used to compute the position error $\bm{\epsilon}_{\mathcal{X}_n}$ of the sample with respect to the nano-hexapod's base platform from the actual measurement of the sample's pose $\bm{\mathcal{X}}$ and the wanted pose $\bm{r}_\mathcal{X}$.
The computation done in such block was briefly explained in Section [[sec:pos_error_nass]].
The position error $\bm{\epsilon}_{\mathcal{X}_n}$ expressed in the frame of the nano-hexapod is then multiply by the nano-hexapod's Jacobian $\bm{J}$ (which is a real matrix) to obtain the corresponding length error of each of the nano hexapod's leg $\bm{\epsilon}_\mathcal{L}$.
The two proposed control architectures are very similar in the sense that their outcome is a *multi-input multi-output controller* $\bm{K}$.
The difference between the two architectures relies in the way the controllers are designed:
- For the architecture shown in Figure [[fig:control_architecture_hac_dvf_pos_X]]:
- The controller $\bm{K}_\mathcal{X}$ is designed in the *task space*: from the position/orientation error $\bm{\epsilon}_{\mathcal{X}_n}$, it generates a force/torque $\bm{\mathcal{F}}$ to be applied to sample
- The forces/torques are then further converted to actuators forces $\bm{\tau}^\prime$ with the use of the Jacobian matrix $\bm{J}^{-T}$
- The full controller is $\bm{K} = \bm{J}^{-T} \bm{K}_\mathcal{X}$
- For the architecture shown in Figure [[fig:control_architecture_hac_dvf_pos_L]]:
- The sample's position error $\bm{\epsilon}_{\mathcal{X}_n}$ is first converted to the corresponding length errors of the six nano-hexapod's legs $\bm{\epsilon}_\mathcal{L}$ with the approximate inverse kinematics using the Jacobian matrix $\bm{J}$
- The controller $\bm{K}_\mathcal{L}$ then computes the actuator forces $\bm{\tau}^\prime$ such that each of the legs have the wanted displacement
- The full controller is $\bm{K} = \bm{K}_\mathcal{L} \bm{J}$
Then, a diagonal controller $\bm{K}_\mathcal{L}$ generates the required force in each leg to compensate for the position errors.
#+begin_src latex :file control_architecture_hac_dvf_pos_X.pdf
\begin{tikzpicture}
% Blocs
\node[block={3.0cm}{3.0cm}] (P) {Plant};
\coordinate[] (inputF) at ($(P.south west)!0.5!(P.north west)$);
\coordinate[] (outputF) at ($(P.south east)!0.8!(P.north east)$);
\coordinate[] (outputX) at ($(P.south east)!0.5!(P.north east)$);
\coordinate[] (outputL) at ($(P.south east)!0.2!(P.north east)$);
\node[block, below=0.2 of P] (Kdvf) {$\bm{K}_\text{DVF}$};
\node[addb={+}{}{}{}{-}, left= of inputF] (addF) {};
\node[block, left= 1.2 of addF] (J) {$\bm{J}^{-T}$};
\node[block, left= of J] (K) {$\bm{K}_\mathcal{X}$};
\node[block, align=center, left= 1.2 of K] (Ex) {Compute\\Pos. Error};
% Connections and labels
\draw[->] (outputF) -- ++(1, 0) node[above left]{$\bm{\tau}_m$};
\draw[->] (outputL) -- ++(1, 0) node[above left]{$d\bm{\mathcal{L}}$};
\draw[->] ($(outputL) + (0.6, 0)$)node[branch](dL){} |- (Kdvf.east);
\draw[->] (Kdvf.west) -| (addF.south);
\draw[->] (addF.east) -- (inputF) node[above left]{$\bm{\tau}$};
\draw[->] (outputX) -- ++(1.8, 0) node[above left]{$\bm{\mathcal{X}}$};
\draw[->] ($(outputX) + (1.4, 0)$)node[branch]{} -- ++(0, -3.5) -| (Ex.south);
\draw[<-] (Ex.west)node[above left]{$\bm{r}_{\mathcal{X}}$} -- ++(-1, 0);
\draw[->] (Ex.east) -- (K.west) node[above left=0 and 8pt]{$\bm{\epsilon}_{\mathcal{X}_n}$};
\draw[->] (K.east) -- (J.west) node[above left]{$\bm{\mathcal{F}}$};
\draw[->] (J.east) -- (addF.west) node[above left=0 and 8pt]{$\bm{\tau}^\prime$};
\begin{scope}[on background layer]
\node[fit={(P.north-|addF.west) (dL.east|-Kdvf.south)}, fill=black!40!white, draw, dashed, inner sep=10pt] (Pdamped) {};
\node[anchor={north west}, align=left] at (Pdamped.north west){Damped\\Plant};
\node[fit={(K.north west) (J.south east)}, fill=black!60!white, draw, dashed, inner sep=10pt] (Ktot) {};
\node[anchor={south}] at (Ktot.north){$\bm{K}$};
\end{scope}
\end{tikzpicture}
#+end_src
#+name: fig:control_architecture_hac_dvf_pos_X
#+caption: HAC-LAC architecture. The inner loop consist of a decentralized Direct Velocity Feedback. The outer loop consist of position control in the task space
#+RESULTS:
[[file:figs/control_architecture_hac_dvf_pos_X.png]]
#+begin_src latex :file control_architecture_hac_dvf_pos_L.pdf
\begin{tikzpicture}
% Blocs
\node[block={3.0cm}{3.0cm}] (P) {Plant};
\coordinate[] (inputF) at ($(P.south west)!0.5!(P.north west)$);
\coordinate[] (outputF) at ($(P.south east)!0.8!(P.north east)$);
\coordinate[] (outputX) at ($(P.south east)!0.5!(P.north east)$);
\coordinate[] (outputL) at ($(P.south east)!0.2!(P.north east)$);
\node[block, below=0.2 of P] (Kdvf) {$\bm{K}_\text{DVF}$};
\node[addb={+}{}{}{}{-}, left= of inputF] (addF) {};
\node[block, left= 1.2 of addF] (K) {$\bm{K}_\mathcal{L}$};
\node[block, left= of K] (J) {$\bm{J}$};
\node[block, align=center, left= 1.2 of J] (Ex) {Compute\\Pos. Error};
% Connections and labels
\draw[->] (outputF) -- ++(1, 0) node[above left]{$\bm{\tau}_m$};
\draw[->] (outputL) -- ++(1, 0) node[above left]{$d\bm{\mathcal{L}}$};
\draw[->] ($(outputL) + (0.6, 0)$)node[branch](dL){} |- (Kdvf.east);
\draw[->] (Kdvf.west) -| (addF.south);
\draw[->] (addF.east) -- (inputF) node[above left]{$\bm{\tau}$};
\draw[->] (outputX) -- ++(1.8, 0) node[above left]{$\bm{\mathcal{X}}$};
\draw[->] ($(outputX) + (1.4, 0)$)node[branch]{} -- ++(0, -3.5) -| (Ex.south);
\draw[<-] (Ex.west)node[above left]{$\bm{r}_{\mathcal{X}}$} -- ++(-1, 0);
\draw[->] (Ex.east) -- (J.west) node[above left=0 and 8pt]{$\bm{\epsilon}_{\mathcal{X}_n}$};
\draw[->] (J.east) -- (K.west) node[above left]{$\bm{\epsilon}_{\mathcal{L}}$};
\draw[->] (K.east) -- (addF.west) node[above left=0 and 8pt]{$\bm{\tau}^\prime$};
\begin{scope}[on background layer]
\node[fit={(P.north-|addF.west) (dL.east|-Kdvf.south)}, fill=black!40!white, draw, dashed, inner sep=10pt] (Pdamped) {};
\node[anchor={north west}, align=left] at (Pdamped.north west){Damped\\Plant};
\node[fit={(J.north west) (K.south east)}, fill=black!60!white, draw, dashed, inner sep=10pt] (Ktot) {};
\node[anchor={south}] at (Ktot.north){$\bm{K}$};
\end{scope}
\end{tikzpicture}
#+end_src
#+name: fig:control_architecture_hac_dvf_pos_L
#+caption: Cascade Control Architecture. The inner loop consist of a decentralized Direct Velocity Feedback. The outer loop consist of position control in the leg's space
#+caption: HAC-LAC architecture. The inner loop consist of a decentralized Direct Velocity Feedback. The outer loop consist of position control in the leg's space
#+RESULTS:
[[file:figs/control_architecture_hac_dvf_pos_L.png]]
Some alternative to this control architecture have been studied, but this is the one that actually gives the best performance/robustness compromise.
The choice of whether the controller should be designed in the leg space or in the task space does however makes some differences, that can be seen by looking at the dynamics to be controlled:
- Typical dynamics from $\bm{\mathcal{F}}$ to $\bm{\epsilon}_{\mathcal{X}_n}$ is shown in Figure [[fig:plant_centralized_X]]:
- The suspension modes of the Stewart platform are separated, and the direct (diagonal) dynamical terms are different
- The coupling is very small except for the dynamics from $\mathcal{F}_{x,y}$ to $R_{y,x}$ and from $\mathcal{M}_{x,y}$ to $D_{y,x}$ which is due to an non-diagonal stiffness and mass matrices
- Typical dynamics from $\bm{\tau}$ to $\bm{\epsilon}_\mathcal{L}$ is shown in Figure [[fig:plant_centralized_L]]:
- The dynamics from $\tau_i$ to $d\mathcal{L}_i$ are all identical and contains all the Stewart platform modes, and thus only one controller has to be designed
- The coupling is small at low frequency, quite high near the suspension modes of the Stewart platform and then small again at high frequency
The plant dynamics for each of the six legs and for the three payload's masses is shown in Figure [[fig:opt_stiff_primary_plant_L]].
#+name: fig:plant_centralized_X
#+caption: Direct (diagonal) dynamical terms (left) and coupled terms (right, shown in black) for the plant in the task space
[[file:figs/plant_centralized_X.png]]
#+name: fig:plant_centralized_L
#+caption: Direct (diagonal) dynamical terms (left) and coupled terms (right, shown in black) for the plant in the leg space
[[file:figs/plant_centralized_L.png]]
The differences of a control in the leg space and in the task space are summarized in Table [[tab:hac_lac_control_L_X_comp]].
#+name: tab:hac_lac_control_L_X_comp
#+caption: Comparison of a control in the leg space and in the task space
| | Control in the *leg space* | Control in the *task space* |
|---------------------------+-----------------------------------+----------------------------------------------------------------|
| *Plant Meaning* | $\delta\mathcal{L}_i/\tau_i$ | $\delta\mathcal{X}_i/\mathcal{F}_i$ |
| *Obtained Decoupling* | Decoupled at DC | Dynamical decoupling except few terms |
| *Diagonal Elements* | Identical with all the Resonances | Different, resonances are cancel out |
| *Mechanical Architecture* | Architecture Independent | Better with Cubic Architecture |
|---------------------------+-----------------------------------+----------------------------------------------------------------|
| *Advantages* | One controller to be designed | Possible to have different controllers in different directions |
| | | as some may be more |
Both control architecture have been applied and the control in the *leg space* appears to be simpler to apply and have good robustness properties.
An alternative that could increase the control performance and robustness would be to design the full multi-input multi-outputs controller $\bm{K}$ in one step using optimal and robust control synthesis techniques such as the $\mathcal{H}_\infty$ loop shaping.
*** Plant Dynamics in the leg space
:PROPERTIES:
:UNNUMBERED: t
:END:
The plant dynamics from $\tau_i$ to $\epsilon_{\mathcal{L}_i}$ for each of the six legs and for the three payload's masses is shown in Figure [[fig:opt_stiff_primary_plant_L]].
The dynamical spread is kept reasonably small thanks to both the optimal nano-hexapod design and the Low Authority Controller.
#+name: fig:opt_stiff_primary_plant_L
@ -1560,13 +1802,23 @@ The dynamical spread is kept reasonably small thanks to both the optimal nano-he
[[file:figs/opt_stiff_primary_plant_L.png]]
The diagonal controller $\bm{K}_\mathcal{L}$ is then tuned in such a way that the control bandwidth is around 100Hz and such that enough stability margins are obtained for all the payload's masses used.
*** Controller Design
:PROPERTIES:
:UNNUMBERED: t
:END:
The diagonal controller $\bm{K}_\mathcal{L}$ is then tuned in such a way that the control bandwidth is around 100Hz and such that enough stability margins are obtained for all the payload's masses.
The obtained loop gain is shown in Figure [[fig:opt_stiff_primary_loop_gain_L]].
#+name: fig:opt_stiff_primary_loop_gain_L
#+caption: Loop gain for the primary plant
[[file:figs/opt_stiff_primary_loop_gain_L.png]]
*** Noise Budgeting
:PROPERTIES:
:UNNUMBERED: t
:END:
The sensibility to disturbance after the use of HAC-LAC control is shown in Figure [[fig:opt_stiff_primary_control_L_senbility_dist]].
The change of sensibility is very typical for feedback system:
- the sensibility is reduced within the controller bandwidth (here $\approx 100\,[Hz]$)
@ -1574,9 +1826,6 @@ The change of sensibility is very typical for feedback system:
The large increase at around 250Hz when using a mass of either 1kg or 10kg is probably caused by insufficient stability margins.
Optimal design of the controllers will be performed using advanced techniques such as $\mathcal{H}_\infty$ Synthesis.
This should gives slightly better performance and robustness, but should not change the conclusions of this study.
#+name: fig:opt_stiff_primary_control_L_senbility_dist
#+caption: Sensibility to disturbances when the HAC-LAC control is applied (dashed) and when it is not (solid)
[[file:figs/opt_stiff_primary_control_L_senbility_dist.png]]
@ -1584,37 +1833,49 @@ This should gives slightly better performance and robustness, but should not cha
** Simulation of Tomography Experiments
<<sec:tomography_experiment>>
A new simulation of a tomography is performed with the optimal nano-hexapod and the HAC-LAC architecture implemented in the model.
The results of this simulation will be compare to the simulation performed in Section [[sec:micro_station_simulation]] without the nano-hexapod.
*** Simulation Setup
:PROPERTIES:
:UNNUMBERED: t
:END:
A simulation of a tomography is performed with the optimal nano-hexapod and the HAC-LAC architecture implemented.
The results of this simulation are compared to the simulation performed in Section [[sec:micro_station_simulation]] without the nano-hexapod.
All the disturbances are included such as ground motion, spindle and translation stage vibrations.
*** Frequency Analysis
:PROPERTIES:
:UNNUMBERED: t
:END:
The Power Spectral Density of the sample's position error is plotted in Figure [[fig:opt_stiff_hac_dvf_L_psd_disp_error]] and the Cumulative Amplitude Spectrum is shown in Figure [[fig:opt_stiff_hac_dvf_L_cas_disp_error]].
The top three plots corresponds to the X, Y and Z translations and the bottom three plots corresponds to the X,Y and Z rotations.
Several observations can be made:
- The sample's vibrations are reduced within the control bandwidth
- The sample's vibrations are reduced within the control bandwidth as was expected
- The obtained performances for all the three considered masses are very similar.
This is an indication of the good system's robustness
- From the Cumulative Amplitude Spectrum, we see that Z motion is reduced down to $\approx 30\,nm\,[rms]$ and the Y motion down to $\approx 25\,nm\,[rms]$
- From the Cumulative Amplitude Spectrum (Figure [[fig:opt_stiff_hac_dvf_L_cas_disp_error]]), we see that Z motion is reduced down to $\approx 30\,nm\,[rms]$ and the Y motion down to $\approx 25\,nm\,[rms]$
- An increase in the rotational vibrations is observed.
This is due to the fact that:
1. no perturbations inducing rotations were included in the simulation and thus the rotational vibrations are very small
2. the feedback control induces some coupling between the translations and rotations.
2. the high authority control induces some coupling between translations and rotations.
It then introduces some rotational motion due to vibrations in translation
This increase in rotation is still very small and is not foreseen to be a problem
- The vertical rotation plot is meaningless as the spindle rotation was considered to be perfect and no attempt was made to compensate these vibrations by the nano-hexapod
#+name: fig:opt_stiff_hac_dvf_L_psd_disp_error
#+caption: Amplitude Spectral Density of the position error in Open Loop and with the HAC-LAC controller
#+caption: Amplitude Spectral Density of the position error in Open Loop (black) and with the HAC-LAC controller for three payload masses
[[file:figs/opt_stiff_hac_dvf_L_psd_disp_error.png]]
#+name: fig:opt_stiff_hac_dvf_L_cas_disp_error
#+caption: Cumulative Amplitude Spectrum of the position error in Open Loop and with the HAC-LAC controller
#+caption: Cumulative Amplitude Spectrum of the position error in Open Loop (black) and with the HAC-LAC controller for three payload masses
[[file:figs/opt_stiff_hac_dvf_L_cas_disp_error.png]]
*** Time Domain Analysis
:PROPERTIES:
:UNNUMBERED: t
:END:
The time domain sample's vibrations are shown in Figure [[fig:opt_stiff_hac_dvf_L_pos_error]].
The use of the nano-hexapod combined with the HAC-LAC architecture is shown to considerably reduce the sample's vibrations.
@ -1630,46 +1891,125 @@ An animation of the experiment is shown in Figure [[fig:closed_loop_sim_zoom]] a
[[file:figs/closed_loop_sim_zoom.gif]]
** Simulation of More Complex Experiments
*** Introduction :ignore:
<<sec:more_simulations>>
*** Micro-Hexapod offset
*** Introduction :ignore:
Two additional simulations of experiments are performed:
- A tomography experiment with a micro-hexapod's motion to align a particular location of the sample with the X-ray.
The center of mass of the sample is then no longer aligned with the spindle's rotation axis.
- A simultaneous spindle's rotation and scans using the translation stage.
For both simulations, the following values are saved during the simulation:
- Forces applied by the six nano-hexapod's actuators to estimate the required actuator forces
- Displacement of the six nano-hexapod's legs to estimate the required stroke of the actuators
- Position error of the sample with respect to the granite to estimate the performance of the system
*** Position offset introduced by the Micro-Hexapod
:PROPERTIES:
:UNNUMBERED: t
:END:
Let's consider that the micro-hexapod introduces a 10mm offset on the sample's position such that the X-ray is focus on an interesting part of the sample.
The sample's mass is 1kg and the spindle's rotation speed is 60rpm.
The control objective is to keep the point of interest on the focused X-ray.
An animation showing the simulation is shown in Figure [[fig:tomography_dh_offset]].
#+name: fig:tomography_dh_offset
#+caption: Top View of a tomography experiment with a 10mm offset imposed by the micro-hexapod
[[file:figs/tomography_dh_offset.gif]]
The force applied by the actuators are compensating the centripetal force induced by the spindle's rotation.
One can see that the forces applied by the actuator are fluctuating around a constant value (Figure [[fig:opt_stiff_hac_dvf_Dh_offset_F]]).
This is because the controller generates the actuator forces such that they counteracts the disturbances affecting the sample's position.
The disturbance causing this constant force is the centrifugal force induced by the spindle's rotation which is a *constant* force in the frame of the nano-hexapod (provided the rotation speed is constant), directed radially outwards the rotation spindle's axis, and is equal to $F = m r \omega^2 \approx 12 \cdot 0.01 \cdot (2\pi)^2 \approx 5\,[N]$.
This centrifugal force is a *constant* force in the frame of the nano-hexapod (provided the rotation speed is constant), directed radially outwards the rotation spindle's axis, and is equal to $F = m r \omega^2 \approx 12 \cdot 0.01 \cdot (2\pi)^2 \approx 5\,[N]$
#+name: fig:opt_stiff_hac_dvf_Dh_offset_F
#+caption: Forces applied by the six nano-hexapod's actuators
[[file:figs/opt_stiff_hac_dvf_Dh_offset_F.png]]
*** Simultaneous Translation Scans
The relative motions of the nano-hexapod's legs is shown in Figure [[fig:opt_stiff_hac_dvf_Dh_offset_dL]] and are in the micro-meter range.
#+name: fig:opt_stiff_hac_dvf_Dh_offset_dL
#+caption: Relative displacement of the nano-hexapod's legs
[[file:figs/opt_stiff_hac_dvf_Dh_offset_dL.png]]
Finally, the position/orientation error of the sample is shown in Figure [[fig:opt_stiff_hac_dvf_Dh_offset_disp_error]].
The root mean square value of the x-y-z error motions is around $30\,nm$ which is very similar than for the "simple" tomography experiment.
#+name: fig:opt_stiff_hac_dvf_Dh_offset_disp_error
#+caption: Position/orientation error of the sample during the simulation
[[file:figs/opt_stiff_hac_dvf_Dh_offset_disp_error.png]]
*** Simultaneous Translation Scans and Spindle's rotation
:PROPERTIES:
:UNNUMBERED: t
:END:
In this simulation:
- the sample has a mass of 1kg
- the spindle rotation speed is set to 60rpm
- scans with the translation stage are performed simultaneously with a triangular shape having a period of 4s and an amplitude of 5mm
The obtained sample's motion during the simulation is shown in Figure [[fig:ty_scans]].
#+name: fig:ty_scans
#+caption: Top View of a tomography experiment combined with translation scans
[[file:figs/ty_scans.gif]]
The forces applied by the nano-hexapod's are shown in Figure [[fig:opt_stiff_hac_dvf_Dy_scans_F]].
Peak values of the forces are appearing when the translation stage changes the direction of the scan.
#+name: fig:opt_stiff_hac_dvf_Dy_scans_F
#+caption: Forces applied by the six nano-hexapod's actuators
[[file:figs/opt_stiff_hac_dvf_Dy_scans_F.png]]
The relative motions of the nano-hexapod's legs is shown in Figure [[fig:opt_stiff_hac_dvf_Dy_scans_dL]] and are again in the micro-meter range.
#+name: fig:opt_stiff_hac_dvf_Dy_scans_dL
#+caption: Relative displacement of the nano-hexapod's legs
[[file:figs/opt_stiff_hac_dvf_Dy_scans_dL.png]]
The time domain position/orientation error of the sample is shown in Figure [[fig:opt_stiff_hac_dvf_Dy_scans_disp_error]].
The RMS value of the x-y-z position error is again $\approx 30\,nm$.
#+name: fig:opt_stiff_hac_dvf_Dy_scans_disp_error
#+caption: Position/orientation error of the sample during the simulation
[[file:figs/opt_stiff_hac_dvf_Dy_scans_disp_error.png]]
*** Conclusion
:PROPERTIES:
:UNNUMBERED: t
:END:
#+begin_important
These two simulations of more complex experiments shows the robustness of the developed system.
Indeed, the obtained performances are very similar for all three simulated experiments.
The required actuator stroke is shown to be around $\pm 5\,\mu m$ to compensate the dynamical errors, and the required actuators forces remain small.
#+end_important
** Conclusion
#+begin_important
The High Authority Control / Low Authority Control architecture has implemented on the multi-body model of the system.
The High Authority Control / Low Authority Control architecture has been implemented in the multi-body model of the NASS.
It has been found that relative motion sensors should be included in each of the nano-hexapod's leg for active damping purposes.
It consists of a Direct Velocity Feedback control used to damp the nano-hexapod resonances and an outer controller designed in the space of the legs to lower the effect of disturbances.
Relative motion sensors should be included in each of the nano-hexapod's leg for active damping purposes.
The best sensor technology should further be determined based on cost, ease of integration, bandwidth and resolution.
Possible technologies include capacitive sensors, eddy current sensors and encoders.
The control architecture used permits to lower the effect of disturbances up to 100Hz and appears to be very robust to all considered changes in the system.
The control architecture used is shown to lower the effect of disturbances up to 100Hz and appears to be very robust to all considered changes in the system.
A simulation performed in presence of all ground motion and stage vibrations gives an obtained residual X-Y-Z sample's vibrations around $30\,[nm]\,rms$.
The simulation is considered to be fairly realistic as both the model used has been show to properly represents the micro-station dynamics and the disturbances included based on measurements.
Simulations performed in presence of ground motion and stage vibrations gives an obtained residual X-Y-Z sample's vibrations around $30\,[nm]\,rms$.
A more complete study of the control of the NASS is performed [[https://tdehaeze.github.io/nass-simscape/optimal_stiffness_control.html][here]].
The simulation is considered to be fairly realistic as the model used has been show to properly represents the micro-station dynamics and the disturbances included were based on measurements.
#+end_important
* General Conclusion and Further notes
@ -1707,6 +2047,9 @@ Table summarizing the nano-hexapod wanted characteristics:
Say that is will introduce noise inside the bandwidth (100Hz)
This should not be significant.
The metrology is considered to be perfect now.
It can be considered separately (explain why).
It just need to have a sufficient bandwidth which is the case for the attocube (in the bandwidth of interest, it can be considered as a unit transfer function).
** Using soft mounts for the Granite
<<sec:soft_granite>>
@ -1728,7 +2071,6 @@ Metrology Reflector:
- it is very important that the first resonance of the metrology frame is high enough
- it should be above 200Hz
Common metrology frame for the nano-focusing optics and the measurement of the sample position?
** Other Notes
@ -1743,6 +2085,9 @@ The problem is that the Tilt stage rotation axis will not be position correctly
More precise definition of the sample trajectories?
- Simultaneous Ty and Rz scans at what speed?
*** Control Improvement
Feedforward if the motion error is found to be correlated with the motion of the stages.
** General Conclusion