Re-read section about multi-body model

This commit is contained in:
Thomas Dehaeze 2020-04-29 19:02:03 +02:00
parent 37bf666505
commit 16e3878dbb
3 changed files with 440 additions and 392 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 104 KiB

File diff suppressed because it is too large Load Diff

View File

@ -666,18 +666,27 @@ This should however not change the conclusion of this study nor significantly ch
<<sec:multi_body_model>>
** Introduction :ignore:
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) with some discrete flexibility between those solid bodies.
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).
Thus, a *multi-body model* is perfect to represent such dynamics.
Thus, *a multi-body model is perfectly adapted to represent the dynamics of the micro-station*.
To do so, we use the Matlab's [[https://www.mathworks.com/products/simscape.html][Simscape]] toolbox.
The Matlab's [[https://www.mathworks.com/products/simscape.html][Simscape]] toolbox is used to develop the multi-body model.
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]].
** Multi-Body model
<<sec:multi_body_model_introduction>>
The parameters to tune the dynamics of the multi body are:
- the mass/moment of inertia of each of the solid bodies
- the 6 stiffnesses and 6 damping properties representing each of the the mechanical guiding between two solid bodies
The mass/inertia of each stage is automatically computed from the imported geometry and the material's density.
The (6dof) stiffness between two solid bodies is first guessed from either measurements of data-sheets.
Then, the values of the stiffness and damping of each joint is manually tuned until the obtained dynamics is sufficiently close to the measured dynamics.
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.
The 3D representation of the simscape model is shown in Figure [[fig:simscape_picture]].
@ -686,7 +695,9 @@ The 3D representation of the simscape model is shown in Figure [[fig:simscape_pi
[[file:figs/simscape_picture.png]]
** Validity of the model's dynamics
It is very difficult the tune the dynamics of such model as there are more than 50 parameters and many curves to compare between the model and the measurements.
<<sec:model_validity>>
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.
The comparison of three of the Frequency Response Functions are shown in Figure [[fig:identification_comp_top_stages]].
@ -710,24 +721,23 @@ Now that the multi-body model dynamics as been tuned, the following elements are
Then, using the model, we can
- perform simulation of experiments in presence of disturbances
- measure the motion of the solid-bodies
- identify the dynamics from inputs (forces, imposed displacement) to outputs (measured motion, force sensor, etc.) which will be useful for the nano-hexapod and control design
- include a multi-body model of the nano-hexapod and closed-loop simulations
- 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
** Wanted position of the sample and position error
<<sec:pos_error_nass>>
For the control of the nano-hexapod, we need to now the sample position error (the motion to be compensated) in the frame of the nano-hexapod.
For the control of the nano-hexapod, the sample position error (the motion to be compensated) in the frame of the nano-hexapod needs to be computed.
To do so, we need to perform several computations (summarized in Figure [[fig:control-schematic-nass]]):
- First, we need to determine the actual *wanted pose* (3 translations and 3 rotations) of the sample with respect to the granite.
This is determined from the wanted motion of each micro-station stage.
Each wanted stage motion is represented by an homogeneous transformation matrix (explain [[http://planning.cs.uiuc.edu/node111.html][here]]), then these matrices are combined to give to total wanted motion of the sample with respect to the granite.
- Then, we need to determine the *actual pose* of the sample with respect to the granite.
This will be performed by several interferometers and several computation will be required to compute the pose of the sample from the interferometers measurements.
However we here directly measure the 3 translations and 3 rotations of the sample using a special simscape block.
- Finally, we need to compare the wanted pose with the measured pose to compute the position error of the sample.
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*.
This position error can be expressed in the frame of the granite, or in the frame of the (rotating) nano-hexapod.
Both computation are performed.
Both computation are performed
#+name: fig:control-schematic-nass
#+caption: Figure caption
@ -737,18 +747,23 @@ More details about these computations are accessible [[https://tdehaeze.github.i
** 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.
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.
Now that the dynamics of the model is tuned and the disturbances included in the model, simulations of experiments can be performed.
An animation of the obtained motion is shown in Figure [[fig:open_loop_sim]].
A zoom in the micro-meter ranger on the sample's location is shown in Figure [[fig:open_loop_sim_zoom]].
A first simulation is done with the nano-hexapod modeled as a rigid-body.
This does represent the system without the NASS and permits to estimate the sample's vibrations using the micro-station alone.
The results of this simulation will be compared to simulations using the NASS in Section [[sec:tomography_experiment]].
Two frames are displayed:
- a non-rotating frame that corresponds to the wanted position of the sample.
Note that here this frame is moving with the granite.
An 3D animation of the simulation is shown in Figure [[fig:open_loop_sim]].
A zoom in the micro-meter ranger on the sample's location is shown in Figure [[fig:open_loop_sim_zoom]] with two frames:
- a non-rotating frame corresponding to the wanted position of the sample.
Note that this frame is moving with the granite.
- a rotating frame that corresponds to the actual pose of the sample
The motion of the sample follows the wanted motion but with vibrations in the micro-meter range as was expected.
#+name: fig:open_loop_sim
#+caption: Tomography Experiment using the Simscape Model
[[file:figs/open_loop_sim.gif]]
@ -759,12 +774,14 @@ Two frames are displayed:
[[file:figs/open_loop_sim_zoom.gif]]
The position error of the sample with respect to the granite are shown in Figure [[fig:exp_scans_rz_dist]].
It is shown that the X-Y-Z position errors are in the micro-meter range.
It is confirmed that the X-Y-Z position errors are in the micro-meter range.
For the rotation around X and Y, the errors are quite small.
This is explained by the fact that no torque disturbances is considered in the model.
For the vertical rotation, this is due to the fact that we suppose perfect rotation of the Spindle, and anyway, no measurement of the sample with respect to the granite is made by the interferometers.
The vertical rotation error is meaningless for two reasons:
- the rotation of the Spindle is considered to be perfect
- no measurement of the sample's vertical rotation with respect to the granite is made by the interferometers
#+name: fig:exp_scans_rz_dist
#+caption: Position error of the Sample with respect to the granite during a Tomography Experiment with included disturbances
@ -772,14 +789,14 @@ For the vertical rotation, this is due to the fact that we suppose perfect rotat
** Conclusion
#+begin_important
The multi-body model developed using Simscape is shown to be sufficiently close to the micro-station dynamics.
The multi-body model has been tuned to represents the micro-station dynamics and includes disturbances such as ground motion and stages vibrations.
It makes possible to:
It can be used to:
- study many effects such as the change of dynamics due to the rotation, the sample mass, etc.
- extract transfer function like $G$ and $G_d$
- simulate experiments to validate performance
- extract transfer function like plant dynamics $G$ and sensibility to disturbances $G_d$
- simulate experiments
This model will be used in the next sections to help the design of the nano-hexapod, to develop the robust control architecture and to perform simulation in order to validate.
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.
#+end_important
* Optimal Nano-Hexapod Design