diff --git a/docs/figs/2dof_apa_model.pdf b/docs/figs/2dof_apa_model.pdf new file mode 100644 index 0000000..c3bac96 Binary files /dev/null and b/docs/figs/2dof_apa_model.pdf differ diff --git a/docs/figs/2dof_apa_model.png b/docs/figs/2dof_apa_model.png new file mode 100644 index 0000000..1ed0106 Binary files /dev/null and b/docs/figs/2dof_apa_model.png differ diff --git a/docs/figs/encoder_struts.pdf b/docs/figs/encoder_struts.pdf new file mode 100644 index 0000000..68e7fe2 Binary files /dev/null and b/docs/figs/encoder_struts.pdf differ diff --git a/docs/figs/encoder_struts.png b/docs/figs/encoder_struts.png new file mode 100644 index 0000000..0745124 Binary files /dev/null and b/docs/figs/encoder_struts.png differ diff --git a/docs/figs/encoders_plates_with_apa.pdf b/docs/figs/encoders_plates_with_apa.pdf new file mode 100644 index 0000000..906664d Binary files /dev/null and b/docs/figs/encoders_plates_with_apa.pdf differ diff --git a/docs/figs/encoders_plates_with_apa.png b/docs/figs/encoders_plates_with_apa.png new file mode 100644 index 0000000..c56cac1 Binary files /dev/null and b/docs/figs/encoders_plates_with_apa.png differ diff --git a/docs/figs/flexible_joint_simscape.pdf b/docs/figs/flexible_joint_simscape.pdf new file mode 100644 index 0000000..09bb296 Binary files /dev/null and b/docs/figs/flexible_joint_simscape.pdf differ diff --git a/docs/figs/flexible_joint_simscape.png b/docs/figs/flexible_joint_simscape.png new file mode 100644 index 0000000..8a237cf Binary files /dev/null and b/docs/figs/flexible_joint_simscape.png differ diff --git a/docs/figs/nano_hexapod_simscape_encoder_plates.pdf b/docs/figs/nano_hexapod_simscape_encoder_plates.pdf new file mode 100644 index 0000000..4d7ead5 Binary files /dev/null and b/docs/figs/nano_hexapod_simscape_encoder_plates.pdf differ diff --git a/docs/figs/nano_hexapod_simscape_encoder_plates.png b/docs/figs/nano_hexapod_simscape_encoder_plates.png new file mode 100644 index 0000000..52a02c5 Binary files /dev/null and b/docs/figs/nano_hexapod_simscape_encoder_plates.png differ diff --git a/docs/figs/nano_hexapod_simscape_encoder_struts.pdf b/docs/figs/nano_hexapod_simscape_encoder_struts.pdf new file mode 100644 index 0000000..2a1654b Binary files /dev/null and b/docs/figs/nano_hexapod_simscape_encoder_struts.pdf differ diff --git a/docs/figs/nano_hexapod_simscape_encoder_struts.png b/docs/figs/nano_hexapod_simscape_encoder_struts.png new file mode 100644 index 0000000..f4f728e Binary files /dev/null and b/docs/figs/nano_hexapod_simscape_encoder_struts.png differ diff --git a/docs/figs/simscape_encoder_model.pdf b/docs/figs/simscape_encoder_model.pdf new file mode 100644 index 0000000..9c73f21 Binary files /dev/null and b/docs/figs/simscape_encoder_model.pdf differ diff --git a/docs/figs/simscape_encoder_model.png b/docs/figs/simscape_encoder_model.png new file mode 100644 index 0000000..e30d46f Binary files /dev/null and b/docs/figs/simscape_encoder_model.png differ diff --git a/docs/figs/simscape_encoder_model_disp.pdf b/docs/figs/simscape_encoder_model_disp.pdf new file mode 100644 index 0000000..549b1ab Binary files /dev/null and b/docs/figs/simscape_encoder_model_disp.pdf differ diff --git a/docs/figs/simscape_encoder_model_disp.png b/docs/figs/simscape_encoder_model_disp.png new file mode 100644 index 0000000..a921fe9 Binary files /dev/null and b/docs/figs/simscape_encoder_model_disp.png differ diff --git a/docs/figs/simscape_model_flexible_joint.pdf b/docs/figs/simscape_model_flexible_joint.pdf new file mode 100644 index 0000000..b0e5edc Binary files /dev/null and b/docs/figs/simscape_model_flexible_joint.pdf differ diff --git a/docs/figs/simscape_model_flexible_joint.png b/docs/figs/simscape_model_flexible_joint.png new file mode 100644 index 0000000..c350ea5 Binary files /dev/null and b/docs/figs/simscape_model_flexible_joint.png differ diff --git a/docs/nano_hexapod.html b/docs/nano_hexapod.html index 9bbc06c..faafbea 100644 --- a/docs/nano_hexapod.html +++ b/docs/nano_hexapod.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- +-In this document, a Simscape model of the nano-hexapod is developed. +In this document, a Simscape model of the nano-hexapod is developed and studied (shown in Figure 1).
++It is structured as follows: +
+
+Figure 1: 3D view of the Sismcape model for the Nano-Hexapod
+
The nano-hexapod can be initialized and configured using the initializeNanoHexapodFinal
function (link).
+The following code would produce the model shown in Figure 2. +
n_hexapod = initializeNanoHexapodFinal('flex_bot_type', '4dof', ...
'flex_top_type', '3dof', ...
@@ -149,6 +168,239 @@ The nano-hexapod can be initialized and configured using the initializeNan
+
+Figure 2: 3D view of the Sismcape model for the Nano-Hexapod
++Several elements on the nano-hexapod can be configured: +
+ ++The model of the flexible joint is composed of 3 solid bodies as shown in Figure 3 which are connected by joints representing the flexibility of the joint. +
+ ++We can represent: +
++The configurations and the represented flexibilities are summarized in Table 1. +
+ +flex_type |
+Bending | +Torsional | +Axial | +
---|---|---|---|
2dof |
+x | ++ | + |
3dof |
+x | +x | ++ |
4dof |
+x | +x | +x | +
+Of course, adding more DoF for the flexible joint will induce an addition of many states for the nano-hexapod simscape model. +
+ + ++
+Figure 3: 3D view of the Sismcape model for the Flexible joint (4DoF configuration)
++The nano-hexapod’s struts are containing one amplified piezoelectric actuator (APA300ML from Cedrat Technologies). +
+ +
+The APA can be modeled in different ways which can be configured with the actuator_type
argument.
+
+The simplest model is a 2-DoF system shown in Figure 4. +
+ + ++
+Figure 4: Schematic of the 2DoF model for the Amplified Piezoelectric Actuator
++Then, a more complex model based on a Finite Element Model can be used. +
++The encoders can be either fixed directly on the struts (Figure 5) or on the two plates (Figure 6). +
+ +
+This can be configured with the motion_sensor_type
parameters which can be equal to 'struts'
or 'plates'
.
+
+
+Figure 5: 3D view of the Encoders fixed on the struts
++
+Figure 6: 3D view of the Encoders fixed on the plates
++A complete view of the nano-hexapod with encoders fixed to the struts is shown in Figure 2 while it is shown in Figure 7 when the encoders are fixed to the plates. +
+ + ++
+Figure 7: Nano-Hexapod with encoders fixed to the plates
++The encoder model is schematically represented in Figure 8: +
++The output measurement is then the x displacement of the origin of the frame {F} expressed in frame {B}. +
+ + ++
+Figure 8: Schematic of the encoder model
++If the encoder is experiencing some tilt, it is then “converted” into a measured displacement as shown in Figure 9. +
+ + ++
+Figure 9: Schematic of the encoder model
++While the Jacobian configuration will not change the physical system, it is still quite an important part of the model. +
+ ++This configuration consists on defining the location of the frame {B} in which the Jacobian will be computed. +This Jacobian is then used to transform the actuator forces to forces/torques applied on the payload and expressed in frame {B}. +Same thing can be done for the measured encoder displacements. +
++We here wish to compare the plant from actuators to the encoders when the encoders are either fixed on the struts or on the plates. +
+We initialize the identification parameters.
@@ -166,19 +418,6 @@ io(io_i) = linio([mdl, '/F'], 1, '/D'], 1, 'openoutput'); io_i = io_i + 1; % Relative Motion Outputs-We here wish to compare the plant from actuators to the encoders when the encoders are either fixed on the struts or on the plates. -
Identify the plant when the encoders are on the struts: @@ -211,16 +450,16 @@ Gp.OutputName = {'D1',
-The obtained plants are compared in Figure 1. +The obtained plants are compared in Figure 10.
-
Figure 1: Comparison of the plants from actuator to associated encoder when the encoders are either fixed to the struts or to the plates
+Figure 10: Comparison of the plants from actuator to associated encoder when the encoders are either fixed to the struts or to the plates
Why do we have zeros at 400Hz and 800Hz when the encoders are fixed on the struts?
@@ -271,12 +510,12 @@ Gf.OutputName = {'D1',-
Figure 2: Comparison of the plants from actuator to associated strut encoder when the APA are modelled with a 2DoF system of with a flexible one
+Figure 11: Comparison of the plants from actuator to associated strut encoder when the APA are modelled with a 2DoF system of with a flexible one
-The first resonance is strange when using the flexible APA model (Figure 2). +The first resonance is strange when using the flexible APA model (Figure 11). Moreover the system is unstable. Otherwise, the 2DoF model matches quite well the flexible model considering its simplicity.
@@ -314,11 +553,11 @@ There are 24 states.-These states are summarized on table 1. +These states are summarized on table 2.
-And the bode plot of the DVF plant is shown in Figure 3. +And the bode plot of the DVF plant is shown in Figure 12.
-
Figure 3: Bode plot of the transfer functions from actuator forces \(\tau_i\) to relative motion sensors attached to the struts \(\mathcal{L}_i\). Diagonal terms are shown in blue, and off-diagonal terms in black.
+Figure 12: Bode plot of the transfer functions from actuator forces \(\tau_i\) to relative motion sensors attached to the struts \(\mathcal{L}_i\). Diagonal terms are shown in blue, and off-diagonal terms in black.
-The bode plot is shown in Figure 4. +The bode plot is shown in Figure 13.
-
Figure 4: Bode plot of the transfer functions from actuator forces \(\tau_i\) to force sensors \(F_{m,i}\). Diagonal terms are shown in blue, and off-diagonal terms in black.
+Figure 13: Bode plot of the transfer functions from actuator forces \(\tau_i\) to force sensors \(F_{m,i}\). Diagonal terms are shown in blue, and off-diagonal terms in black.
-Consider the plant shown in Figure 5 with: +Consider the plant shown in Figure 14 with:
-
Figure 5: Plant in the cartesian Frame
+Figure 14: Plant in the cartesian Frame
-The diagonal elements of the plant are shown in Figure 6. +The diagonal elements of the plant are shown in Figure 15.
-
Figure 6: Bode plot of the diagonal elements of the decentralized (cartesian) plant when using the sensor Jacobian (solid) and when using “perfect” 6dof sensor (dashed). The encoders are fixed on the struts.
+Figure 15: Bode plot of the diagonal elements of the decentralized (cartesian) plant when using the sensor Jacobian (solid) and when using “perfect” 6dof sensor (dashed). The encoders are fixed on the struts.
@@ -694,16 +933,16 @@ Gpp = -Gp({'Dx', <
-The obtained bode plots are shown in Figure 7. +The obtained bode plots are shown in Figure 16.
-
Figure 7: Bode plot of the diagonal elements of the decentralized (cartesian) plant when using the sensor Jacobian (solid) and when using “perfect” 6dof sensor (dashed). The encoders are fixed on the plates.
+Figure 16: Bode plot of the diagonal elements of the decentralized (cartesian) plant when using the sensor Jacobian (solid) and when using “perfect” 6dof sensor (dashed). The encoders are fixed on the plates.
The Jacobian for the encoders is working properly both when the encoders are fixed to the plates or to the struts.
@@ -720,13 +959,13 @@ However, then the encoders are fixed to the struts, there is a mismatch between-The decentralized plants are now compared whether the encoders are fixed on the struts or on the plates in Figure 8. +The decentralized plants are now compared whether the encoders are fixed on the struts or on the plates in Figure 17.
-
Figure 8: Bode plot of the “cartesian” plant (transfer function from \(\mathcal{F}\) to \(d\mathcal{X}\)) when the encoders are fixed on the struts (solid) and on the plates (dashed)
+Figure 17: Bode plot of the “cartesian” plant (transfer function from \(\mathcal{F}\) to \(d\mathcal{X}\)) when the encoders are fixed on the struts (solid) and on the plates (dashed)
The bending and torsional stiffness of the flexible joints induces a lot of coupling between forces/torques applied to the to platform to its displacement/rotation. -It can be seen by comparison the compliance matrices in Tables 5 and 6. +It can be seen by comparison the compliance matrices in Tables 6 and 7.
@@ -1467,14 +1706,14 @@ It is here chosen to have quite a large \(\omega_c\) in order to not modify the
-The obtained Root Locus is shown in Figure 11. +The obtained Root Locus is shown in Figure 20. The control gain chosen for future plots is shown by the red crosses.
-
Figure 11: Root locus for the decentralized IFF control strategy
+Figure 20: Root locus for the decentralized IFF control strategy
-The corresponding loop gain of the diagonal terms are shown in Figure 12. +The corresponding loop gain of the diagonal terms are shown in Figure 21. It is shown that the loop gain is quite large around resonances (which allows to add lots of damping) and less than one at low frequency thanks to the large value of \(\omega_c\).
-
Figure 12: Loop gain of the diagonal terms \(G(i,i) \cdot K_{\text{IFF}}(i,i)\)
+Figure 21: Loop gain of the diagonal terms \(G(i,i) \cdot K_{\text{IFF}}(i,i)\)
-
Figure 13: Bode plots of the transfer functions from actuator forces \(\tau_i\) to relative motion sensors \(\mathcal{L}_i\) with and without the IFF controller.
+Figure 22: Bode plots of the transfer functions from actuator forces \(\tau_i\) to relative motion sensors \(\mathcal{L}_i\) with and without the IFF controller.
The Integral Force Feedback Strategy is very effective to damp the 6 suspension modes of the nano-hexapod.
@@ -1574,10 +1813,10 @@ The obtained compliances are compared in Figure-
Figure 14: Comparison of the compliances in Open Loop and with Integral Force Feedback controller
+Figure 23: Comparison of the compliances in Open Loop and with Integral Force Feedback controller
The use of IFF induces a degradation of the compliance. This degradation is limited due to the use of a pseudo integrator (instead of a pure integrator). @@ -1609,8 +1848,8 @@ It is structured as follows:
@@ -1650,19 +1889,19 @@ Gdvf.OutputName = {'D1', 15. +Its bode plot is shown in Figure 24.
-
Figure 15: Direct Velocity Feedback plant
+Figure 24: Direct Velocity Feedback plant
@@ -1685,14 +1924,14 @@ The value of \(\omega_d\) sets the frequency above high the derivative action is
-The obtained Root Locus is shown in Figure 16. +The obtained Root Locus is shown in Figure 25. The control gain chosen for future plots is shown by the red crosses.
-
Figure 16: Root locus for the decentralized DVF control strategy
+Figure 25: Root locus for the decentralized DVF control strategy
-The corresponding loop gain of the diagonal terms are shown in Figure 17. +The corresponding loop gain of the diagonal terms are shown in Figure 26. It is shown that the loop gain is quite large around resonances (which allows to add lots of damping) and less than one at low frequency thanks to the large value of \(\omega_c\).
-
Figure 17: Loop gain of the diagonal terms \(G(i,i) \cdot K_{\text{DVF}}(i,i)\)
+Figure 26: Loop gain of the diagonal terms \(G(i,i) \cdot K_{\text{DVF}}(i,i)\)
@@ -1758,16 +1997,16 @@ Gdvf.OutputName = {'D1', 18. +The obtained plants are compared in Figure 27.
-
Figure 18: Bode plots of the transfer functions from actuator forces \(\tau_i\) to relative motion sensors \(\mathcal{L}_i\) with and without the DVF controller.
+Figure 27: Bode plots of the transfer functions from actuator forces \(\tau_i\) to relative motion sensors \(\mathcal{L}_i\) with and without the DVF controller.
The Direct Velocity Feedback Strategy is very effective to damp the 6 suspension modes of the nano-hexapod.
@@ -1776,8 +2015,8 @@ The Direct Velocity Feedback Strategy is very effective to damp the 6 suspension@@ -1786,13 +2025,13 @@ The Direct Velocity Feedback Strategy is very effective to damp the 6 suspension
The DVF strategy has the well known drawback of degrading the compliance (transfer function from external forces/torques applied to the top platform to the motion of the top platform), especially at low frequency where the control gain is large. Let’s quantify that for the nano-hexapod. -The obtained compliances are compared in Figure 19. +The obtained compliances are compared in Figure 28.
-
Figure 19: Comparison of the compliances in Open Loop and with Direct Velocity Feedback controller
+Figure 28: Comparison of the compliances in Open Loop and with Direct Velocity Feedback controller
@@ -1859,19 +2098,19 @@ Gdvf.OutputName = {'D1', 20. +Its bode plot is shown in Figure 29.
-
Figure 20: Direct Velocity Feedback plant
+Figure 29: Direct Velocity Feedback plant
@@ -1894,14 +2133,14 @@ The value of \(\omega_d\) sets the frequency above high the derivative action is
-The obtained Root Locus is shown in Figure 21. +The obtained Root Locus is shown in Figure 30. The control gain chosen for future plots is shown by the red crosses.
-
Figure 21: Root locus for the decentralized DVF control strategy
+Figure 30: Root locus for the decentralized DVF control strategy
-The corresponding loop gain of the diagonal terms are shown in Figure 22. +The corresponding loop gain of the diagonal terms are shown in Figure 31. It is shown that the loop gain is quite large around resonances (which allows to add lots of damping).
-
Figure 22: Loop gain of the diagonal terms \(G(i,i) \cdot K_{\text{DVF}}(i,i)\)
+Figure 31: Loop gain of the diagonal terms \(G(i,i) \cdot K_{\text{DVF}}(i,i)\)
@@ -1967,16 +2206,16 @@ Gdvf.OutputName = {'D1', 23. +The obtained plants are compared in Figure 32.
-
Figure 23: Bode plots of the transfer functions from actuator forces \(\tau_i\) to relative motion sensors \(\mathcal{L}_i\) with and without the DVF controller.
+Figure 32: Bode plots of the transfer functions from actuator forces \(\tau_i\) to relative motion sensors \(\mathcal{L}_i\) with and without the DVF controller.
The Direct Velocity Feedback Strategy is very effective in damping the 6 suspension modes of the nano-hexapod.
@@ -1985,8 +2224,8 @@ The Direct Velocity Feedback Strategy is very effective in damping the 6 suspens@@ -1995,13 +2234,13 @@ The Direct Velocity Feedback Strategy is very effective in damping the 6 suspens
The DVF strategy has the well known drawback of degrading the compliance (transfer function from external forces/torques applied to the top platform to the motion of the top platform), especially at low frequency where the control gain is large. Let’s quantify that for the nano-hexapod. -The obtained compliances are compared in Figure 24. +The obtained compliances are compared in Figure 33.
-
Figure 24: Comparison of the compliances in Open Loop and with Direct Velocity Feedback controller
+Figure 33: Comparison of the compliances in Open Loop and with Direct Velocity Feedback controller
Created: 2021-04-23 ven. 13:22
+Created: 2021-04-23 ven. 15:30