Finish path about robust control

This commit is contained in:
Thomas Dehaeze 2020-04-29 15:23:52 +02:00
parent e913685e9b
commit c575b2fed2
2 changed files with 509 additions and 402 deletions

File diff suppressed because it is too large Load Diff

141
index.org
View File

@ -411,7 +411,7 @@ The measurement thus consists of:
The position of the accelerometers are:
- 4 on the first granite
- 4 on the second granite
- 4 on top of the translation stage (figure [[fig:accelerometers_ty_overview]])
- 4 on top of the translation stage (Figure [[fig:accelerometers_ty_overview]])
- 4 on top of the tilt stage
- 3 on top of the spindle
- 4 on top of the hexapod
@ -563,9 +563,9 @@ However, when rotating with the Spindle (normal functioning mode):
The same setup is used (a geophone is located at the sample's location and another on the granite).
We impose a 1Hz triangle motion with an amplitude of $\pm 2.5mm$ on the translation stage (Figure [[fig:figure_name]]), and we measure the absolute velocity of both the sample and the granite.
We impose a 1Hz triangle motion with an amplitude of $\pm 2.5mm$ on the translation stage (Figure [[fig:Figure_name]]), and we measure the absolute velocity of both the sample and the granite.
#+name: fig:figure_name
#+name: fig:Figure_name
#+caption: Y position of the translation stage measured by the encoders
[[file:figs/ty_position_time.png]]
@ -828,7 +828,9 @@ We can see that the most important change is in the frequency range 30Hz to 300H
#+caption: Amplitude Spectral Density of the Sample vertical position error due to Vertical vibration of the Spindle for multiple nano-hexapod stiffnesses
[[file:figs/opt_stiff_psd_dz_tot.png]]
#+begin_important
If we look at the Cumulative amplitude spectrum of the vertical error motion in Figure [[fig:opt_stiff_cas_dz_tot]], we can observe that a soft hexapod ($k < 10^5 - 10^6\,[N/m]$) helps reducing the high frequency disturbances, and thus a smaller control bandwidth will suffice to obtain the wanted performance.
#+end_important
#+name: fig:opt_stiff_cas_dz_tot
#+caption: Cumulative Amplitude Spectrum of the Sample vertical position error due to all considered perturbations for multiple nano-hexapod stiffnesses
@ -846,7 +848,8 @@ The uncertainty in the system can be caused by:
- A change in the *Payload mass/dynamics* (complete analysis [[https://tdehaeze.github.io/nass-simscape/uncertainty_payload.html][here]]): the sample's mass is ranging from $1\,kg$ to $50\,kg$
- A change of *experimental condition* such as the micro-station's pose or the spindle rotation (complete analysis [[https://tdehaeze.github.io/nass-simscape/uncertainty_experiment.html][here]])
All these uncertainties will limit the attainable bandwidth and hence the obtained performance.
Because of the trade-off between robustness and performance, the bigger the plant dynamic uncertainty, the lower the simultaneous attainable performance is for all the plants.
Thus, all these uncertainties will limit the attainable bandwidth and hence the obtained performance.
In the next sections, the effect the considered changes on the *plant dynamics* is quantified and conclusions are made on the optimal stiffness for robustness properties.
@ -1018,25 +1021,26 @@ This show how the dynamics evolves with the stiffness and how different effects
** Introduction :ignore:
Before designing the control system, let's summarize what has been done:
- The multi-body model of the micro-station has been tuned based on actual dynamical measurements
- Ground motion and stage vibrations are included in the model with realistic measured values
- The optimal nano-hexapod stiffness has been determined such that is minimized the effect of disturbances and at the same time reduces the plant dynamic uncertainty
- 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
The optimal nano-hexapod is now included in the model, and a robust control architecture that minimizes the vibrations of the sample is developed.
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 payloads that will be used.
This is quite challenging as:
- the plant dynamics does depend quite a lot on the payload's mass
- as there is a trade-off robustness/performance, the bigger the plant dynamic spread, the lower the simultaneous attainable performance is for all the plants
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.
If 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 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.
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.
** High Authority Control / Low Authority Control Architecture
For such system, the *High-Authority-Control/Low-Authority-Control* (HAC-LAC) architecture
Many control architecture could be used for the control of the nano-hexapod.
from the following reasons explained in cite:preumont18_vibrat_contr_activ_struc_fourt_edition:
One of the possible control architecture 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
The HAC/LAC approach consist of combining the two approached in a dual-loop control as shown in Figure [[fig:control_architecture_hac_lac_one_input]].
The inner loop uses a set of collocated actuator/sensor pairs for decentralized active damping with guaranteed stability ; the outer loop consists of a non-collocated HAC based on a model of the actively damped structure.
@ -1050,42 +1054,48 @@ 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]]
** Active Damping and Sensors to be included
The HAC-LAC architecture thus consisted 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]])
** Active Damping and Sensors to be included in the nano-hexapod
<<sec:lac_control>>
Active Damping can help with two things:
- reducing the effect of uncertainty close to the resonance of the system
- makes the plant dynamics simpler to control for the High Authority Controller
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
There are different ways to actively damp a system depending on the sensor used : either force sensor, relative motion sensor or inertial sensor.
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.
A separate study (accessible [[https://tdehaeze.github.io/rotating-frame/index.html][here]]) for all three sensor type have been done, the conclusions are:
- the use of force sensors is to be avoided as it could induce instability in the system due to rotation of the nano-hexapod
- the use of inertial sensor should not be used as it would tends to decouple the motion of the sample to the motion of the granite (which is not wanted) and it would be difficult to apply in a robust way
- relative motion sensors can be used to damped the nano-hexapod's modes in a robust way
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 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
Relative motion sensors are then included in each of the nano-hexapod's leg and a decentralized direct velocity feedback control architecture as shown in figure [[fig:control_architecture_dvf]] is applied.
*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}$: Forces applied in each leg
- $\bm{\tau}_m$: Force sensor located in each leg
- $\bm{\mathcal{X}}$: Measurement of the payload position with respect to the granite
- $\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
- $d\bm{\mathcal{L}}$: Measurement of the (small) relative motion of each leg
$\bm{K}_{\text{DVF}}$ is a diagonal controller that consists of applying a force in each actuator proportional to the relative velocity of the associated leg.
This adds damping to the nano-hexapod's modes.
$\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.
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]]
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 explained below.
This may not be the optimal choice as will be further explained.
The plant dynamics before (solid curves) and after (dashed curves) the Law-Authority-Control implementation are compared in Figure [[fig:opt_stiff_primary_plant_damped_L]].
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.
@ -1093,34 +1103,36 @@ 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]]
As shown in Figure [[fig:opt_stiff_sensibility_dist_dvf]], the use of the DVF 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 be used, and further analysis and optimization will be performed.
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.
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]]
** Motion Control
** 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.
The block =Compute Position Error= is used to compute the position error of the sample with respect to the nano-hexapod's base platform $\bm{\epsilon}_{\mathcal{X}_n}$ from the actual measurement of the sample's pose $\bm{\mathcal{X}}$ and the wanted pose $\bm{r}_\mathcal{X}$.
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 computation done in such block was briefly explained in Section [[sec:pos_error_nass]].
From the position error $\bm{\epsilon}_{\mathcal{X}_n}$ expressed in the frame of the nano-hexapod, the nano-hexapod's Jacobian $\bm{J}$ (which is a real matrix) is used to compute the corresponding length error of each of the nano hexapod's leg $\bm{\epsilon}_\mathcal{L}$.
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}$.
Then, a diagonal controller $\bm{K}_\mathcal{L}$ generates the required force in each leg to compensate the position error.
Then, a diagonal controller $\bm{K}_\mathcal{L}$ generates the required force in each leg to compensate for the position errors.
#+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
[[file:figs/control_architecture_hac_dvf_pos_L.png]]
Many alternative to this control architecture has been studied, but this is the one that actually gives to best performance/robustness compromise.
Some alternative to this control architecture have been studied, but this is the one that actually gives the best performance/robustness compromise.
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]].
The dynamical spread is kept reasonably small thanks to both the optimal nano-hexapod design and to Law-Authority-Controller.
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
#+caption: Diagonal elements of the transfer function matrix from $\bm{\tau}^\prime$ to $\bm{\epsilon}_{\mathcal{X}_n}$ for the three considered masses
@ -1128,18 +1140,22 @@ The dynamical spread is kept reasonably small thanks to both the optimal nano-he
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.
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]]
The sensibility to disturbance after the use of HAC-LAC control is shown in Figure [[fig:opt_stiff_primary_control_L_senbility_dist]].
When obtain a change of sensibility which is very typical to feedback system:
The change of sensibility is very typical for feedback system:
- the sensibility is reduced within the controller bandwidth (here $\approx 100\,[Hz]$)
- the sensibility is increase around the crossover frequency and mostly unchanged outside of the control bandwidth
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]]
@ -1147,24 +1163,27 @@ The large increase at around 250Hz when using a mass of either 1kg or 10kg is pr
** Simulation of Tomography Experiments
<<sec:tomography_experiment>>
The same simulation of a tomography experiment performed in Section [[sec:micro_station_simulation]] is now re-done with the used of the HAC-LAC architecture.
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.
All the disturbances are included such as ground motion, spindle and translation stage vibrations.
After the simulation is performed, 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 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 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]$
- An increase in the rotational vibrations is observed.
This is due to the fact that:
1. no perturbations inducing rotations are included in the simulation: the vibrations in rotation are very small
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.
This means that it introduces some rotations due to translation vibrations
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 obtained performances for all the three considered masses are very similar.
That shows the robustness of the system
- The vertical rotation plot is meaningless as the spindle rotation was considered to be perfect and no attempt is made to compensate vertical rotation by the nano-hexapod
- 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]$
- 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
@ -1179,7 +1198,7 @@ Several observations can be made:
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.
An animation of the experiment is shown in Figure [[fig:closed_loop_sim_zoom]] and we can see that the actual sample's position is more closely following the ideal position as was the case with the simulation of the micro-station alone in Figure [[fig:open_loop_sim_zoom]] (same scale was used for both simulations).
An animation of the experiment is shown in Figure [[fig:closed_loop_sim_zoom]] and we can see that the actual sample's position is more closely following the ideal position compared to the simulation of the micro-station alone in Figure [[fig:open_loop_sim_zoom]] (same scale was used for both animations).
#+name: fig:opt_stiff_hac_dvf_L_pos_error
#+caption: Position Error of the sample during a tomography experiment when no control is applied and with the HAC-DVF control architecture
@ -1191,12 +1210,30 @@ An animation of the experiment is shown in Figure [[fig:closed_loop_sim_zoom]] a
** Conclusion
#+begin_important
The High Authority Control / Low Authority Control architecture has implemented on the multi-body model of the system.
It has been found that 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.
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.
A more complete study of the control of the NASS is performed [[https://tdehaeze.github.io/nass-simscape/optimal_stiffness_control.html][here]].
#+end_important
* Further notes
<<sec:further_notes>>
* General Conclusion and Further notes
<<sec:conclusion_and_further_notes>>
** General Conclusion
** Further Work
** Using soft mounts for the
<<sec:soft_granite>>