In this document are gathered and summarized all the developments done for the design of the Nano Active Stabilization System.
This consists of a nano-hexapod and an associated control architecture that are used to stabilize samples down to the nano-meter level in presence of disturbances.
- frequency content of the sources of disturbances such as vibrations induced by the micro-station's stages and ground motion (Section [[sec:identification_disturbances]])
Based on that, an optimal choice of the nano-hexapod stiffness is made (Section [[sec:nano_hexapod_design]]).
Finally, using the optimally designed nano-hexapod, a robust control architecture is developed.
Simulations are performed to show that this design gives acceptable performance and the required robustness (Section [[sec:robust_control_architecture]]).
In Section [[sec:noise_budget]] is introduced the *dynamic error budgeting* which is a powerful tool that allows to derive the total error in a dynamic system from multiple disturbance sources.
This tool will be widely used throughout this study to both predict the performances and identify the effects that do limit the performances.
The use of Feedback control in a motion system required to use some sensors to monitor the actual status of the system and actuators to modifies this status.
The use of feedback control as several advantages and pitfalls that are listed below (taken from cite:schmidt14_desig_high_perfor_mechat_revis_edition):
Feedback controlled systems can also be designed for /robustness/, which means that the stability and performance requirements are guaranteed even for parameter variation of the controller mechatronics system
A feedback controller reacts on the difference between the reference signal (wanted motion) and the measurement (actual motion), which means that the error has to occur first /before/ the controller can correct for it.
The limited reaction speed means that the controller will be able to compensate the positioning errors only in some frequency band, called the controller /bandwidth/
- *Feedback of noise*:
By closing the loop, the sensor noise is also fed back and will induce positioning errors
- *Can introduce instability*:
Feedback control can destabilize a stable plant.
Thus the /robustness/ properties of the feedback system must be carefully guaranteed
*** Simplified Feedback Control Diagram for the NASS
From the feedback diagram in Figure [[fig:classical_feedback_small]], the position error signal $\epsilon = r - y$ can be written as a function of the reference signal $r$, the disturbances $d$ and the measurement noise $n$:
Moreover, the slope of $|S(j\omega)|$ is limited for stability reasons (not explained here), and therefore a large control bandwidth is required to obtain sufficient disturbance rejection at lower frequencies (where the disturbances have usually large effects).
The main issue it that for stability reasons, *the system dynamics must be known with only small uncertainty in the vicinity of the crossover frequency*.
For mechanical systems, this generally means that the control bandwidth should take place before any appearing of flexible dynamics (right part of Figure [[fig:oomen18_next_gen_loop_gain]]).
#+caption: Envisaged developments in motion systems. In traditional motion systems, the control bandwidth takes place in the rigid-body region. In the next generation systemes, flexible dynamics are foreseen to occur within the control bandwidth. cite:oomen18_advan_motion_contr_precis_mechat
The nano-hexapod and the control architecture have to be developed in such a way that the feedback system remains stable and exhibit acceptable performance for all these possible changes in the system.
The dynamic error budgeting is a powerful tool to study the effects of multiple error sources (i.e. disturbances and measurement noise) and to predict how much these effects are reduced by a feedback system.
The dynamic error budgeting uses two important mathematical functions: the *Power Spectral Density* and the *Cumulative Power Spectrum*.
After these two functions are introduced (in Sections [[sec:psd]] and [[sec:cps]]), is shown how do multiple error sources are combined and modified by dynamical systems (in Section [[sec:psd_lti_system]] and [[sec:psd_combined_signals]]).
One can also integrate the infinitesimal power $S_{xx}(\omega)d\omega$ over a finite frequency band to obtain the power of the signal $x$ in that frequency band:
The Cumulative Power Spectrum is generally shown as a function of frequency, and is used to identify the critical modes in a design, at which the effort should be targeted.
It can also helps to determine at which frequencies the effect of disturbances must be reduced, and thus the approximate required control bandwidth.
A typical Cumulative Power Spectrum is shown in figure [[fig:preumont18_cas_plot]].
#+name: fig:preumont18_cas_plot
#+caption: Cumulative Power Spectrum in open-loop and closed-loop for increasing gains (taken from cite:preumont18_vibrat_contr_activ_struc_fourt_edition)
Let's consider a signal $u$ with a PSD $S_{uu}$ going through a LTI system $G(s)$ that outputs a signal $y$ with a PSD (Figure [[fig:psd_lti_system]]).
To do so, the dynamics of the micro-station (Section [[sec:micro_station_dynamics]]) should be identified and then included in a model (Section [[sec:multi_body_model]]). Then a model of the nano-hexapod is merged with the micro-station model (Section [[sec:nano_hexapod_design]])
All the measurements performed on the micro-station are detailed in [[https://tdehaeze.github.io/meas-analysis/][this]] document and summarized in the following sections.
To limit the number of degrees of freedom to be measured, it is supposed that in the frequency range of interest (DC-300Hz), each of the positioning stage is behaving as a *solid body*.
Thus, to fully describe the dynamics of the station, only 6 degrees of freedom for each positioning stage (that is 36 degrees of freedom for the 6 considered solid bodies) should be measured.
From the measurements are extracted all the transfer functions from forces applied at the location of the hammer impacts to the x-y-z acceleration of each solid body at the location of each accelerometer.
The dynamical measurements made on the micro-station confirmed the fact that a multi-body model is a good option to correctly represents the micro-station dynamics.
In Section [[sec:multi_body_model]], the obtained Frequency Response Functions will be used to compare the model dynamics with the micro-station dynamics.
Note that the low frequency disturbances such as static guiding errors and thermal effects are not much of interest here, because the frequency content of these errors will be located way inside the controller bandwidth and thus will be easily compensated by the nano-hexapod.
The main challenge is to reduce the disturbances containing high frequencies, and thus efforts are made to identify these high frequency disturbances such as:
- Ground motion (Section [[sec:ground_motion]])
- Vibration introduced by control systems (Section [[sec:stage_vibration_control]])
- Vibration introduced by the motion of the spindle and of the translation stage (Section [[sec:stage_vibration_motion]])
A noise budgeting is performed in Section [[sec:open_loop_noise_budget]], the vibrations induced by the disturbances are compared and the required control bandwidth is estimated.
The measurements are presented in more detail in [[https://tdehaeze.github.io/meas-analysis/][this]] document and the open loop noise budget is done in [[https://tdehaeze.github.io/nass-simscape/disturbances.html][this]] document.
The measured Power Spectral Density of the ground motion at the ID31 floor is compared with other measurements performed at ID09 and at CERN.
The low frequency differences between the ground motion at ID31 and ID09 is just due to the fact that for the later measurement, the low frequency sensitivity of the inertial sensor was not taken into account.
It is shown that these local feedback loops have little influence on the sample's vibrations except the Spindle that introduced a sample's vertical motion at 25Hz.
Complete reports on these measurements are accessible [[https://tdehaeze.github.io/meas-analysis/2018-10-15%20-%20Marc/index.html][here]] and [[https://tdehaeze.github.io/meas-analysis/disturbance-control-system/index.html][here]].
Details reports are accessible [[https://tdehaeze.github.io/meas-analysis/disturbance-ty/index.html][here]] for the translation stage and [[https://tdehaeze.github.io/meas-analysis/disturbance-sr-rz/index.html][here]] for the spindle/slip-ring.
*** Spindle and Slip-Ring
:PROPERTIES:
:UNNUMBERED: t
:END:
The setup for the measurement of vibrations induced by rotation of the Spindle and Slip-ring is shown in Figure [[fig:rz_meas_errors]].
#+name: fig:rz_meas_errors
#+caption: Measurement of the sample's vertical motion when rotating at 6rpm
Some investigation should be performed to determine where does this 23Hz motion comes from and why such high frequency motion is introduced by the spindle's motor.
A 1Hz triangle motion with an amplitude of $\pm 2.5mm$ is sent to the translation stage (Figure [[fig:Figure_name]]), and the absolute velocities of the sample and the granite are measured.
The ASD contains any peaks starting from 1Hz showing the large spectral content of the motion which is probably due to the triangular reference of the translation stage.
#+begin_important
A smoother motion for the translation stage (such as a sinus motion, of a filtered triangular signal) could help reducing much of the vibrations.
#+caption: Amplitude spectral density of the measure velocity corresponding to the geophone in the vertical direction located on the granite and at the sample location when the translation stage is scanning at 1Hz
The Power Spectral Density of the motion error due to the ground motion, translation stage scans and spindle rotation are shown in Figure [[fig:dist_effect_relative_motion]].
From Figure [[fig:dist_effect_relative_motion_cas]], required bandwidth can be estimated by seeing that $10\ nm [rms]$ motion is induced by the perturbations above 100Hz.
All the disturbance measurements were made with inertial sensors, and to obtain the relative motion sample/granite, two inertial sensors were used and the signals were subtracted.
An alternative could be to position a small calibrated sphere at the sample location and to use the X-ray to measure its motion while performing translation scans and spindle rotations.
As was shown during the modal analysis (Section [[sec:micro_station_dynamics]]), the micro-station behaves as multiple rigid bodies (granite, translation stage, tilt stage, spindle, hexapod) connected with some discrete flexibility (stiffnesses and dampers).
A small summary of the multi-body Simscape is available [[https://tdehaeze.github.io/nass-simscape/simscape.html][here]] and each of the modeled stage is described [[https://tdehaeze.github.io/nass-simscape/simscape_subsystems.html][here]].
The stiffnesses between two solid bodies is first guessed from either measurements of data-sheets.
Then, the values of the stiffnesses and damping properties of each joint is manually tuned until the obtained dynamics is sufficiently close to the measured dynamics.
Tuning the dynamics of such model is very difficult as there are more than 50 parameters to tune and many different dynamics to compare between the model and the measurements.
#+caption: Frequency Response function from Hammer force in the X,Y and Z directions to the X,Y and Z displacements of the micro-hexapod's top platform. The measurements are shown in blue and the Model in red.
More detailed comparison between the model and the measured dynamics is performed [[https://tdehaeze.github.io/nass-simscape/identification.html][here]].
- identify the dynamics from inputs (forces, imposed displacement) to outputs (measured motion, force sensor, etc.) which will be useful for the nano-hexapod design and the control synthesis
- include a multi-body model of the nano-hexapod and perform closed-loop simulations
To do so, several computations are performed (summarized in Figure [[fig:control-schematic-nass]]):
- First, the *wanted pose* (3 translations and 3 rotations) of the sample with respect to the granite is computed.
This is determined from the wanted motion of each micro-station stage: each wanted stage motion is represented by a homogeneous transformation matrix that are combined to give to total wanted motion of the sample with respect to the granite
- Then, the *actual pose* of the sample with respect to the granite is computed.
For the real system, this will require the use of several interferometers and computations to obtain the sample's pose from the individual measurements.
However, the pose of the sample with respect to the granite is directly measured using a special simscape block
- Finally, the wanted pose is compared with the measured pose to compute the *position error of the sample*.
In the next sections, it will allows to optimally design the nano-hexapod, to develop a robust control architecture and to perform simulations to estimate the system's performances.
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 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 typical Stewart platform is composed of two platforms connected by six identical struts (or legs) composed of:
- a universal joint at one end
- a spherical joint at the other end
- a prismatic joint with an associated actuator
This is very schematically shown in Figure [[fig:stewart_architecture_example]] where the $a_i$ are the location of the joints connected to the fixed platform and the $b_i$ are the joints connected to the mobile platform.
#+name: fig:stewart_architecture_example
#+caption: Schematic representation of a Stewart platform
[[file:figs/stewart_architecture_example.png]]
As shows in Figure [[fig:stewart_architecture_example]], two frames $\{A\}$ and $\{B\}$ are virtually fixed to respectively the bottom and the top platforms.
These frames are used to describe the relative motion of the two platforms through the position vector ${}^A\bm{P}_B$ of $\{B\}$ expressed in $\{A\}$ and the rotation matrix ${}^A\bm{R}_B$ expressing the orientation of $\{B\}$ with respect to $\{A\}$.
For the nano-hexapod, these frames are chosen to be located at the theoretical center of the spherical metrology reflector.
Since the Stewart platform has six-degrees-of-freedom and six actuators, it is called a /fully parallel/ manipulator.
A change in the length of the legs $\bm{\mathcal{L}} = \left[ l_1, l_2, l_3, l_4, l_5, l_6 \right]^T$ will induce a motion of the mobile platform with respect to the fixed platform as shown in Figure [[fig:stewart_architecture_example_pose]].
The relation between a change in length of the legs and the relative motion of the platforms is studied thanks to the kinematic analysis, which is explained in Section [[sec:nano_hexapod_architecture]].
#+name: fig:stewart_architecture_example_pose
#+caption: Display of the Stewart platform architecture at some defined pose
The Stewart Platform is very adapted for the NASS application for the following reasons:
- it is a fully parallel manipulator, thus all the motions errors can be compensated
- it is very compact compared to a serial manipulator
- it has high stiffness and good dynamic performances
The main disadvantage of Stewart platforms is the small workspace when compare the serial manipulators which is not a problem here.
A Matlab toolbox to study and design Stewart Platforms has been developed and used for the design of the nano-hexapod.
The source code is accessible [[https://github.com/tdehaeze/stewart-simscape][here]] and the documentation [[https://tdehaeze.github.io/stewart-simscape/][here]].
For instance, it is quite obvious that a stiff nano-hexapod is better than a soft one when it comes to direct forces applied to the sample such as cable forces.
A study of the optimal nano-hexapod stiffness for the minimization of disturbance sensibility is accessible [[https://tdehaeze.github.io/nass-simscape/optimal_stiffness_disturbances.html][here]] and summarized below.
The sensibility to the spindle's vibration for all the considered nano-hexapod stiffnesses (from $10^3\,[N/m]$ to $10^9\,[N/m]$) is shown in Figure [[fig:opt_stiff_sensitivity_Frz]].
Looking at the change of sensibility with the nano-hexapod's stiffness helps understand the physics of the system.
It however, does not permit to estimate the optimal stiffness that will lower the motion error due to disturbances.
To do so, the power spectral density of the disturbances should be taken into account, as the sensibility of one disturbance should be reduced only where the PSD of the considered disturbance is large compared to the other disturbances.
What is more important than comparing the sensitivity to disturbances, is to compare the resulting open-loop power spectral density of the sample's position error with the change of the nano-hexapod's stiffness.
From the Power Spectral Density of all the sources of disturbances identified in Section [[sec:identification_disturbances]] is computed the Power Spectral Density of the vertical motion error for all the considered nano-hexapod stiffnesses (Figure [[fig:opt_stiff_psd_dz_tot]]).
It can be seen that the most important change is in the frequency range 30Hz to 300Hz where a stiffness smaller than $10^5\,[N/m]$ greatly reduces the sample's vibrations.
#+caption: Amplitude Spectral Density of the Sample vertical position error due to Vertical vibration of the Spindle for multiple nano-hexapod stiffnesses
It can be observe on the Cumulative amplitude spectrum of the vertical error motion in Figure [[fig:opt_stiff_cas_dz_tot]], that a soft hexapod ($k < 10^5 - 10^6\,[N/m]$) helps reducing the high frequency disturbances, and thus a smaller control bandwidth will be required to obtain the wanted performance.
#+caption: Cumulative Amplitude Spectrum of the Sample vertical position error due to all considered perturbations for multiple nano-hexapod stiffnesses
[[file:figs/opt_stiff_cas_dz_tot.png]]
** Optimal Stiffness to reduce the plant uncertainty
Therefore, all changes that might occur in the system must be identified and the nano-hexapod stiffness that minimizes the uncertainties to these changes should be determined.
- A change in the *Support's compliance* (complete analysis [[https://tdehaeze.github.io/nass-simscape/uncertainty_support.html][here]]): if the micro-station dynamics is changing due to the change of mechanical parts or just because of aging effects, the feedback system should remains stable and the obtained performance should not change
- 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 speed (complete analysis [[https://tdehaeze.github.io/nass-simscape/uncertainty_experiment.html][here]])
Because of the trade-off between robustness and performance, *the bigger the plant dynamic uncertainty, the lower the attainable performance will be for all the system changes*.
In the next sections, the effect the considered changes on the *plant dynamics* is quantified and conclusions are drawn on the optimal stiffness for robustness properties.
In the following study, when it is referred to /plant dynamics/, it means the dynamics from forces applied by the nano-hexapod to the measured sample's displacement by the metrology.
Only the plant dynamics will be compared as it is the most important dynamics for robustness and performance properties.
However, the dynamics from forces to sensors located in the nano-hexapod legs, such as force and relative motion sensors, have also been considered in a separate study.
In Figure [[fig:opt_stiffness_payload_mass_fz_dz]] the dynamics is shown for payloads with a mass equal to 1kg, 20kg and 50kg (the resonance of the payload is fixed to 100Hz).
On the left side, the change of dynamics is computed for a very soft nano-hexapod, while on the right side, it is computed for a very stiff nano-hexapod.
One can see that for the soft nano-hexapod:
- the first resonance (suspension mode of the nano-hexapod) is lowered with an increase of the sample's mass.
This is very logical as the first resonance corresponds to $\omega = \sqrt{\frac{k_n}{m_n + m_s}}$ where $k_n$ is the vertical nano-hexapod stiffness, $m_n$ the mass of the nano-hexapod's top platform, and $m_s$ the sample's mass
- the gain after the first resonance and up until the anti-resonance at 100Hz is changing with the sample's mass.
It is indeed equal to $\frac{1}{(m_n + m_s) \omega^2}$
To minimize the uncertainty to the payload's mass, the mass of the nano-hexapod's top platform plus the metrology reflector should be maximized, and ideally close to the maximum payload's mass.
As the maximum payload's mass is $50\,kg$, this may however not be practical, and thus the control architecture must be developed to be robust to a change of the payload's mass.
#+caption: Dynamics from $\mathcal{F}_z$ to $\mathcal{X}_z$ for varying payload mass, both for a soft nano-hexapod (left) and a stiff nano-hexapod (right)
#+caption: Dynamics from $\mathcal{F}_z$ to $\mathcal{X}_z$ for varying payload resonance frequency, both for a soft nano-hexapod and a stiff nano-hexapod
The dynamics for all the payloads (mass from 1kg to 50kg and first resonance from 50Hz to 500Hz) and all the considered nano-hexapod stiffnesses are display in Figure [[fig:opt_stiffness_payload_impedance_all_fz_dz]].
For nano-hexapod stiffnesses below $10^6\,[N/m]$:
- the phase stays between 0 and -180deg which is a very nice property for control
- above that frequency, the change of dynamics is quite chaotic (which this is due to the micro-station dynamics as shown in the next section) and it would be difficult to have a controller with high bandwidth which is robust to such change of dynamics
For soft nano-hexapods, the payload has an important impact on the dynamics that will have to be carefully taken into account for the controller design.
To identify the effect of the micro-station compliance on the system dynamics, the plant dynamics is identified in two different cases (Figure [[fig:opt_stiffness_micro_station_fx_dx]]):
- with a micro-station considered as a solid body (solid curves)
One can see that for nano-hexapod stiffnesses below $10^6\,[N/m]$, the plant dynamics does not significantly changed due to the micro station dynamics (the solid and dashed curves are superimposed).
For nano-hexapod stiffnesses above $10^7\,[N/m]$, the micro-station compliance appears in the plant dynamics starting at about 45Hz.
If the resonance of the nano-hexapod is below the first resonance of the micro-station, then the micro-station dynamics if "filtered out" and does not appears in the dynamics to be controlled.
This renders the system robust to any possible change of the micro-station dynamics.
If a stiff nano-hexapod is used, the control bandwidth should probably be limited to around the first micro-station's mode ($\approx 45\,[Hz]$) which will likely no give acceptable performance.
One can see that for nano-hexapods with a stiffness above $10^5\,[N/m]$, the dynamics is mostly not changing with the spindle's rotating speed.
For very soft nano-hexapods, the main resonance is split into two resonances and one anti-resonance that are all moving at a function of the rotating speed.
If the resonance of the nano-hexapod is (say a factor 5) above the maximum rotation speed, then the plant dynamics will be mostly not impacted by the rotation.
A very soft ($k < 10^4\,[N/m]$) nano-hexapod should not be used due to the effect of the spindle's rotation.
Finally, let's combined all the uncertainties and display the "spread" of the plant dynamics for all the nano-hexapod stiffnesses (Figure [[fig:opt_stiffness_plant_dynamics_task_space]]).
- The payload's first resonance is seen as an anti-resonance in the plant dynamics.
As this effect will largely be variable from one payload to the other, thus *the payload's first resonance should be maximized* (above 300Hz if possible) for all used payloads
- The dynamics of the nano-hexapod is not affected by the micro-station dynamics (compliance) if $k < 10^6\,[N/m]$
- The spindle's rotating speed has no significant influence on the plant dynamics for nano-hexapod's stiffnesses $k > 10^5\,[N/m]$
The *resonance frequency of the nano-hexapod should be between 5Hz* (way above the maximum rotating speed) *and 50Hz* (before the first micro-station resonance) for all the considered payloads.
This corresponds to an *optimal nano-hexapod leg stiffness in the range* $10^5 - 10^6\,[N/m]$.
- *Kinematic analysis*: study of the geometry of motion without considering the forces and torques that cause the motion
- *Jacobian analysis*: reveals the relation between the actuators velocities and the moving platform linear and angular velocities. It also constructs the transformation between actuator forces and task space forces
and moments acting on the moving platform.
- *Dynamic analysis*: consists of the equations of motion for the manipulator which are quite complex to derive
Kinematic and Jacobian analysis are briefly introduced in this section, however the dynamic analysis is not performed analytically but rather studied using the Simscape model.
As will be shown, the Nano-Hexapod geometry has an influence on:
For *inverse kinematic analysis*, it is assumed that the position ${}^A\bm{P}$ and orientation of the moving platform ${}^A\bm{R}_B$ are given and the problem is to obtain the joint variables $\bm{\mathcal{L}} = \left[ l_1, l_2, l_3, l_4, l_5, l_6 \right]^T$.
If the position and orientation of the platform lie in the feasible workspace, the solution is unique.
Otherwise, the solution gives complex numbers.
This means that from the wanted position of the nano-hexapod's mobile platform with respect to the fixed platform (described by ${}^A\bm{P}$ and ${}^A\bm{R}_B$) and for a specific geometry (position of the top joints $^{B}\bm{b}$ and bottom joints ${}^A\bm{a}$), the required motion of each leg can easily be determined.
In *forward kinematic analysis*, it is assumed that the vector of limb lengths $\bm{L}$ is given and the problem is to find the position ${}^A\bm{P}$ and the orientation ${}^A\bm{R}_B$.
The Jacobian matrix $\bm{J}$ can be computed form the *orientation of the legs* (describes by the unit vectors ${}^A\hat{\bm{s}}_i$) and the *position of the top joints* (described by the position vectors ${}^A\bm{b}_i$) both expressed in the frame $\{A\}$:
For small legs motions $\delta\bm{\mathcal{L}}$ and small mobile platform motion $\delta \bm{\mathcal{X}}$, the following approximation can be computed from Eq. eqref:eq:jacobian_velocity:
Equations eqref:eq:jacobian_L can be used to *approximate the forward and inverse kinematic* problems for small displacements.
This approximation will be used to estimate the platform's mobility from the legs' stroke, or inversely, to estimate the required stroke of the legs from the wanted platform's mobility.
Note that Eq. eqref:eq:jacobian_L is an approximation and is only valid for leg's displacement less than $1\%$ of the leg's length which is the case for the nano-hexapod.
And thus *the Jacobian matrix can be used to compute the forces that should be applied by the Stewart platform's legs from the wanted total forces/torques that is to be applied to the sample*.
Linear transformations in Eq. eqref:eq:jacobian_L and eqref:eq:jacobian_F will be widely in the developed control architectures in Section [[sec:robust_control_architecture]].
*** Mobility of the Stewart Platform
:PROPERTIES:
:UNNUMBERED: t
:END:
For a specified geometry and actuator stroke, the mobility of the Stewart platform can be estimated thanks to the approximate forward kinematic analysis.
An example of the mobility considering only pure translations is shown in Figure [[fig:mobility_translations_null_rotation]].
#+name: fig:mobility_translations_null_rotation
#+caption: Obtained mobility of a Stewart platform for pure translations (the platform's orientation is fixed)
The geometry is chosen arbitrary and corresponds to the wanted nano-hexapod size.
If only pure translations and pure rotations are considered, the required actuator stroke is $76 \mu m$, whereas if *combined* translations and rotations are considered, the required actuator stroke is $177 \mu m$.
This gives an idea of the relation between the mobility and the actuator stroke.
In order to determine the stiffness and compliance matrices of the Stewart platform, let's model the actuators by a spring with a stiffness $k_i$ in parallel with a force source $\tau_i$.
Equations eqref:eq:jacobian_L, eqref:eq:jacobian_F and eqref:eq:jacobian_K can be used to see how the maneuverability, the force authority and the stiffness of the Stewart platform are changing with a the geometry (position of the joints and orientation of the legs).
The effects of two changes in the manipulator's geometry are summarized in Table [[tab:effect_legs_jacobian]].
These results could have been easily deduced with some basics of mechanics, but they can be easily quantified thanks to the Kinematic and Jacobian analysis.
The nano-hexapod geometry and further be optimized in terms of stiffness and stroke using the presented tools.
#+name: tab:effect_legs_jacobian
#+caption: Effect of a change in geometry on the manipulator's stiffness, force authority and stroke
| | *legs pointing more vertically* | *legs further apart* |
The cubic architecture is quite specific in the sense that the active struts are arranged in a mutually orthogonal configuration connecting the corners of a cube (Figure [[fig:3d-cubic-stewart-aligned]]).
#+caption: Schematic representation of the Cubic architecture
[[file:figs/3d-cubic-stewart-aligned.png]]
This architecture provides some advantages such as *uniform stiffness* and *uniform mobility* in all directions.
It can also have very nice dynamical properties in specific conditions (center of mass of the payload located at the cube's center) that are not met for the NASS.
The cubic configuration also puts much restriction on the position and orientation of the legs as there is only one design variable: the size of the cube.
When only small stroke is required, *flexible* joints can be used: material is bend to achieve motion, rather than relying on sliding or rolling across two surfaces.
The flexible joints have few advantages compared to conventional joints such as the *absence of wear, friction and backlash* which allows extremely high-precision (predictable) motion.
This has been studied using the Simscape model (report available [[https://tdehaeze.github.io/nass-simscape/flexible_joints_study.html][here]]), and conclusions on the required characteristics of the flexible joints are summarized below.
The bending and torsional stiffnesses somehow adds a parasitic stiffness in parallel with the struts.
This is not found to be problematic for the control architecture that will be developed in Section [[sec:robust_control_architecture]] (it is however, if Integral Force Feedback is to be used, explained [[https://tdehaeze.github.io/stewart-simscape/control-active-damping.html][here]]).
The finite axial stiffness of the flexible joints can however be very problematic for control.
Small values of the axial stiffness are shown to limit the achievable damping using Direct Velocity Feedback.
The axial stiffness should therefore be maximized and taken into account in the model of the nano-hexapod.
For the identified optimal actuator stiffness $k = 10^5\,[N/m]$, the flexible joint should have the following stiffness properties:
- Axial Stiffness: $K_a > 10^7\,[N/m]$
- Bending Stiffness: $K_b < 50\,[Nm/rad]$
- Torsion Stiffness: $K_t < 50\,[Nm/rad]$
These requirements are easily obtained in practice.
For instance, the flexible joint used for the ID16 nano-hexapod have the following stiffness properties:
- Axial Stiffness: $K_a = 6 \cdot 10^7\,[N/m]$
- Bending Stiffness: $K_b = 15\,[Nm/rad]$
- Torsion Stiffness: $K_t = 20\,[Nm/rad]$
#+begin_important
Even though much attention should be paid on the proper design of the flexible joints, they should not impose limitation on the performance of the system.
Simulations will help determine the required rotational stroke of the flexible joints and will help with the design.
Relations between the geometry of the Stewart platform and its characteristics such as stiffness, maneuverability and force authority have been derived.
These relations can help optimize the Stewart platform's geometry, however, the choice of the geometry is quite constrained by the limited size of the hexapod, the size of the flexible joints and of the included actuators and sensors.
The effects of flexible joints stiffness on the dynamics have been studied and requirements on the flexible joints have been derived.
In Section [[sec:optimal_stiff_dist]], it has been concluded that a nano-hexapod stiffness below $10^5-10^6\,[N/m]$ helps reducing the high frequency vibrations induced by all sources of disturbances considered.
As the high frequency vibrations are the most difficult to compensate for when using feedback control, a soft hexapod will most certainly helps improving the performances.
In Section [[sec:optimal_stiff_plant]], it has been concluded that a nano-hexapod leg stiffness in the range $10^5 - 10^6\,[N/m]$ is a good compromise between the uncertainty induced by the micro-station dynamics and by the rotating speed.
Provided that the samples used have a first mode that is sufficiently high in frequency, the total plant dynamic uncertainty should be manageable by the control.
Thus, a leg's stiffness of $10^5\,[N/m]$ will be used in Section [[sec:robust_control_architecture]] to develop the robust control architecture and to perform simulations.
A more detailed study of the determination of the optimal stiffness based on all the effects is available [[https://tdehaeze.github.io/nass-simscape/uncertainty_optimal_stiffness.html][here]].
- 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
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 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.
One of the control architectures that seems adapted for the current problem is the *High Authority Control / Low Authority Control* (HAC-LAC) architecture.
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.
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
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
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 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
*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
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]]).
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.
| 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 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]]).
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.
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
*** 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
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 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.
Thus, further improvements and optimization will be applied to this control architecture in order to limit the increase of vibration transmissibility at high frequency.
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 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}$
#+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
#+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
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
#+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
| *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]].
#+caption: Diagonal elements of the transfer function matrix from $\bm{\tau}^\prime$ to $\bm{\epsilon}_{\mathcal{X}_n}$ for the three considered masses
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 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]].
- From the Cumulative Amplitude Spectrum (Figure [[fig:opt_stiff_hac_dvf_L_cas_disp_error]]), it can be seen 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
An animation of the experiment is shown in Figure [[fig:closed_loop_sim_zoom]] and it can be seen 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).
#+caption: Tomography Experiment using the Simscape Model in Closed Loop with the HAC-LAC Control - Zoom on the sample's position (the full vertical scale is $\approx 10 \mu m$)
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]].
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]$.
#+name: fig:opt_stiff_hac_dvf_Dh_offset_F
#+caption: Forces applied by the six nano-hexapod's actuators
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 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.
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.
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).