Add discussion about NASS robust control
This commit is contained in:
parent
b113a284d7
commit
e913685e9b
1190
index.html
1190
index.html
File diff suppressed because it is too large
Load Diff
122
index.org
122
index.org
@ -712,6 +712,7 @@ To do so, we need to perform several computations (summarized in Figure [[fig:co
|
|||||||
More details about these computations are accessible [[https://tdehaeze.github.io/nass-simscape/positioning_error.html][here]].
|
More details about these computations are accessible [[https://tdehaeze.github.io/nass-simscape/positioning_error.html][here]].
|
||||||
|
|
||||||
** Simulation of Experiments
|
** Simulation of Experiments
|
||||||
|
<<sec:micro_station_simulation>>
|
||||||
Now that the dynamics of the model is tuned and the disturbances included in the model, we can perform simulation of experiments.
|
Now that the dynamics of the model is tuned and the disturbances included in the model, we can perform simulation of experiments.
|
||||||
|
|
||||||
We first do a simulation where the nano-hexapod is considered to be a solid-body to estimate the sample's motion that we have without an control.
|
We first do a simulation where the nano-hexapod is considered to be a solid-body to estimate the sample's motion that we have without an control.
|
||||||
@ -1015,31 +1016,31 @@ This show how the dynamics evolves with the stiffness and how different effects
|
|||||||
<<sec:robust_control_architecture>>
|
<<sec:robust_control_architecture>>
|
||||||
|
|
||||||
** Introduction :ignore:
|
** 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
|
||||||
|
|
||||||
|
The optimal nano-hexapod is now included in the model, and a robust control architecture that minimizes the vibrations of the sample is developed.
|
||||||
|
|
||||||
|
|
||||||
https://tdehaeze.github.io/nass-simscape/optimal_stiffness_control.html
|
It is preferred to design *one* controller that gives acceptable performance for all the payloads that will be used.
|
||||||
|
This is quite challenging as:
|
||||||
stiffness 10^5
|
- 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 that *one* controller is designed such that it will give acceptable performance for all the payloads that will be used.
|
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.
|
||||||
|
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.
|
||||||
This is quite challenging as the plant dynamics does depend quite a lot on the payload's mass.
|
|
||||||
|
|
||||||
It is difficult to design a
|
|
||||||
|
|
||||||
As there is a trade-off robustness/performance, the bigger the plant dynamic change, the lower the attainable performance.
|
|
||||||
|
|
||||||
|
|
||||||
If 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.
|
For such system, the *High-Authority-Control/Low-Authority-Control* (HAC-LAC) architecture
|
||||||
This would require to measure the mass/inertia of each used payload and
|
|
||||||
adaptive control is generally difficult to use in practice.
|
|
||||||
|
|
||||||
|
|
||||||
HAC-LAC
|
|
||||||
|
|
||||||
|
from the following reasons explained in cite:preumont18_vibrat_contr_activ_struc_fourt_edition:
|
||||||
#+begin_quote
|
#+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. This approach has the following advantages:
|
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.
|
||||||
|
This approach has the following advantages:
|
||||||
- The active damping extends outside the bandwidth of the HAC and reduces the settling time of the modes which are outsite the bandwidth
|
- The active damping extends outside the bandwidth of the HAC and reduces the settling time of the modes which are outsite the bandwidth
|
||||||
- The active damping makes it easier to gain-stabilize the modes outside the bandwidth of the output loop (improved gain margin)
|
- The active damping makes it easier to gain-stabilize the modes outside the bandwidth of the output loop (improved gain margin)
|
||||||
- The larger damping of the modes within the controller bandwidth makes them more robust to the parmetric uncertainty (improved phase margin)
|
- The larger damping of the modes within the controller bandwidth makes them more robust to the parmetric uncertainty (improved phase margin)
|
||||||
@ -1050,38 +1051,44 @@ The HAC/LAC approach consist of combining the two approached in a dual-loop cont
|
|||||||
[[file:figs/control_architecture_hac_lac_one_input.png]]
|
[[file:figs/control_architecture_hac_lac_one_input.png]]
|
||||||
|
|
||||||
** Active Damping and Sensors to be included
|
** Active Damping and Sensors to be included
|
||||||
Active Damping can help with two things
|
<<sec:lac_control>>
|
||||||
|
|
||||||
#+begin_quote
|
Active Damping can help with two things:
|
||||||
Active damping is very effective in reducing the settling time of transient disturbances and the effect of steady state disturbances near the resonance frequencies of the system; however, away from the resonances, the active damping is completely ineffective and leaves the closed-loop response essentially unchanged.
|
- reducing the effect of uncertainty close to the resonance of the system
|
||||||
Such low-gain controllers are often called Low Authority Controllers (LAC), because they modify the poles of the system only slightly.
|
- makes the plant dynamics simpler to control for the High Authority Controller
|
||||||
#+end_quote
|
|
||||||
|
|
||||||
There are three main ways to actively damp a system:
|
|
||||||
- force Sensor
|
|
||||||
- Relative Velocity Sensors
|
|
||||||
- Inertial Sensor
|
|
||||||
|
|
||||||
Because of the rotation
|
There are different ways to actively damp a system depending on the sensor used : either force sensor, relative motion sensor or inertial sensor.
|
||||||
|
|
||||||
https://tdehaeze.github.io/rotating-frame/index.html
|
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
|
||||||
|
|
||||||
Thus, relative motion sensors should be included in each of the nano-hexapod's leg.
|
|
||||||
|
|
||||||
The decentralized direct velocity feedback control architecture is shown in figure [[fig:control_architecture_dvf]] where:
|
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.
|
||||||
|
|
||||||
|
The signals shown in Figure [[fig:control_architecture_dvf]] are:
|
||||||
- $\bm{\tau}$: Forces applied in each leg
|
- $\bm{\tau}$: Forces applied in each leg
|
||||||
- $\bm{\tau}_m$: Force sensor located 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{\mathcal{X}}$: Measurement of the payload position with respect to the granite
|
||||||
- $d\bm{\mathcal{L}}$: Measurement of the (small) relative motion of each leg
|
- $d\bm{\mathcal{L}}$: Measurement of the (small) relative motion of each leg
|
||||||
|
|
||||||
The controller $\bm{K}_{\text{DVF}}$ is a diagonal
|
$\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.
|
||||||
|
|
||||||
#+name: fig:control_architecture_dvf
|
#+name: fig:control_architecture_dvf
|
||||||
#+caption: Low Authority Control: Decentralized Direct Velocity Feedback
|
#+caption: Low Authority Control: Decentralized Direct Velocity Feedback
|
||||||
[[file:figs/control_architecture_dvf.png]]
|
[[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.
|
||||||
|
|
||||||
|
|
||||||
|
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]].
|
||||||
|
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.
|
||||||
|
|
||||||
#+name: fig:opt_stiff_primary_plant_damped_L
|
#+name: fig:opt_stiff_primary_plant_damped_L
|
||||||
#+caption: Primary plant in the space of the legs with (dashed) and without (solid) Direct Velocity Feedback
|
#+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]]
|
[[file:figs/opt_stiff_primary_plant_damped_L.png]]
|
||||||
@ -1094,53 +1101,86 @@ This is probably not the optimal gain that could be used, and further analysis a
|
|||||||
[[file:figs/opt_stiff_sensibility_dist_dvf.png]]
|
[[file:figs/opt_stiff_sensibility_dist_dvf.png]]
|
||||||
|
|
||||||
** Motion Control
|
** Motion Control
|
||||||
The complete control 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.
|
<<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 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 computation done in such block was explained briefly in Section [[sec:pos_error_nass]].
|
The computation done in such block was briefly explained in Section [[sec:pos_error_nass]].
|
||||||
|
|
||||||
From the position error express in the frame of the nano-hexapod, $\bm{J}$
|
|
||||||
|
|
||||||
$\bm{\epsilon}_\mathcal{L}$ thus express the length error of each of the nano hexapod's leg such that it position the sample at the correct position.
|
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}$.
|
||||||
|
|
||||||
Then, a diagonal controller $\bm{K}_\mathcal{L}$ generates the required force in each leg such that
|
Then, a diagonal controller $\bm{K}_\mathcal{L}$ generates the required force in each leg to compensate the position error.
|
||||||
|
|
||||||
#+name: fig:control_architecture_hac_dvf_pos_L
|
#+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: 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]]
|
[[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.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
#+name: fig:opt_stiff_primary_plant_L
|
#+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
|
#+caption: Diagonal elements of the transfer function matrix from $\bm{\tau}^\prime$ to $\bm{\epsilon}_{\mathcal{X}_n}$ for the three considered masses
|
||||||
[[file:figs/opt_stiff_primary_plant_L.png]]
|
[[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.
|
||||||
|
|
||||||
#+name: fig:opt_stiff_primary_loop_gain_L
|
#+name: fig:opt_stiff_primary_loop_gain_L
|
||||||
#+caption: Loop gain for the primary plant
|
#+caption: Loop gain for the primary plant
|
||||||
[[file:figs/opt_stiff_primary_loop_gain_L.png]]
|
[[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 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.
|
||||||
|
|
||||||
#+name: fig:opt_stiff_primary_control_L_senbility_dist
|
#+name: fig:opt_stiff_primary_control_L_senbility_dist
|
||||||
#+caption: Sensibility to disturbances when the HAC-LAC control is applied
|
#+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]]
|
[[file:figs/opt_stiff_primary_control_L_senbility_dist.png]]
|
||||||
|
|
||||||
** Simulation of Tomography Experiments
|
** Simulation of Tomography Experiments
|
||||||
<<sec:tomography_experiment>>
|
<<sec:tomography_experiment>>
|
||||||
|
|
||||||
The obtained performances for all the three considered masses are very similar.
|
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.
|
||||||
That shows the robustness of the system.
|
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 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
|
||||||
|
- 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
|
||||||
|
2. the feedback control induces some coupling between the translations and rotations.
|
||||||
|
This means that it introduces some rotations due to translation vibrations
|
||||||
|
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]$
|
||||||
|
|
||||||
#+name: fig:opt_stiff_hac_dvf_L_psd_disp_error
|
#+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 and with the HAC-LAC controller
|
||||||
[[file:figs/opt_stiff_hac_dvf_L_psd_disp_error.png]]
|
[[file:figs/opt_stiff_hac_dvf_L_psd_disp_error.png]]
|
||||||
|
|
||||||
|
|
||||||
#+name: fig:opt_stiff_hac_dvf_L_cas_disp_error
|
#+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 and with the HAC-LAC controller
|
||||||
[[file:figs/opt_stiff_hac_dvf_L_cas_disp_error.png]]
|
[[file:figs/opt_stiff_hac_dvf_L_cas_disp_error.png]]
|
||||||
|
|
||||||
|
|
||||||
|
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).
|
||||||
|
|
||||||
#+name: fig:opt_stiff_hac_dvf_L_pos_error
|
#+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
|
#+caption: Position Error of the sample during a tomography experiment when no control is applied and with the HAC-DVF control architecture
|
||||||
[[file:figs/opt_stiff_hac_dvf_L_pos_error.png]]
|
[[file:figs/opt_stiff_hac_dvf_L_pos_error.png]]
|
||||||
@ -1150,6 +1190,10 @@ That shows the robustness of the system.
|
|||||||
[[file:figs/closed_loop_sim_zoom.gif]]
|
[[file:figs/closed_loop_sim_zoom.gif]]
|
||||||
|
|
||||||
** Conclusion
|
** Conclusion
|
||||||
|
#+begin_important
|
||||||
|
|
||||||
|
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
|
* Further notes
|
||||||
<<sec:further_notes>>
|
<<sec:further_notes>>
|
||||||
|
Loading…
Reference in New Issue
Block a user