From 6bbe417eae4acaf2d299b7e9228b30d7a73ab36e Mon Sep 17 00:00:00 2001 From: Thomas Dehaeze Date: Mon, 25 May 2020 11:13:54 +0200 Subject: [PATCH] Publish file --- docs/amplified_piezoelectric_stack.html | 148 ++++-- org/amplified_piezoelectric_stack.html | 612 ------------------------ 2 files changed, 114 insertions(+), 646 deletions(-) delete mode 100644 org/amplified_piezoelectric_stack.html diff --git a/docs/amplified_piezoelectric_stack.html b/docs/amplified_piezoelectric_stack.html index bbaebc0..347e894 100644 --- a/docs/amplified_piezoelectric_stack.html +++ b/docs/amplified_piezoelectric_stack.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Amplified Piezoelectric Stack Actuator @@ -36,26 +36,30 @@ @@ -132,8 +136,8 @@ The parameters are shown in the table below.

1 Simplified Model

-
-

1.1 Parameters

+
+

1.1 Parameters

m = 1; % [kg]
@@ -163,8 +167,8 @@ IFF Controller:
 
-
-

1.2 Identification

+
+

1.2 Identification

Identification in open-loop. @@ -219,8 +223,8 @@ Giff.OutputName = {'Fs', 'x1'};

-
-

1.3 Root Locus

+
+

1.3 Root Locus

@@ -230,14 +234,82 @@ Giff.OutputName = {'Fs', 'x1'};
+ +
+

1.4 Analytical Model

+
+

+If we apply the Newton’s second law of motion on the top mass, we obtain: +\[ ms^2 x_1 = F + k_1 (w - x_1) + k_e (x_e - x_1) \] +

+ +

+Then, we can write that the measured force \(F_s\) is equal to: +\[ F_s = k_a(w - x_e) + f = -k_e (x_1 - x_e) \] +which gives: +\[ x_e = \frac{k_a}{k_e + k_a} w + \frac{1}{k_e + k_a} f + \frac{k_e}{k_e + k_a} x_1 \] +

+ +

+Re-injecting that into the previous equations gives: +\[ x_1 = F \frac{1}{ms^2 + k_1 + \frac{k_e k_a}{k_e + k_a}} + w \frac{k_1 + \frac{k_e k_a}{k_e + k_a}}{ms^2 + k_1 + \frac{k_e k_a}{k_e + k_a}} + f \frac{\frac{k_e}{k_e + k_a}}{ms^2 + k_1 + \frac{k_e k_a}{k_e + k_a}} \] +\[ F_s = - F \frac{\frac{k_e k_a}{k_e + k_a}}{ms^2 + k_1 + \frac{k_e k_a}{k_e + k_a}} + w \frac{k_e k_a}{k_e + k_a} \Big( \frac{ms^2}{ms^2 + k_1 + \frac{k_e k_a}{k_e + k_a}} \Big) - f \frac{k_e}{k_e + k_a} \Big( \frac{ms^2 + k_1}{ms^2 + k_1 + \frac{k_e k_a}{k_e + k_a}} \Big) \] +

+ +
+
Ga = 1/(m*s^2 + k1 + ke*ka/(ke + ka)) * ...
+     [ 1 ,              k1 + ke*ka/(ke + ka)  , ke/(ke + ka) ;
+      -ke*ka/(ke + ka), ke*ka/(ke + ka)*m*s^2 , -ke/(ke+ka)*(m*s^2 + k1)];
+Ga.InputName = {'F', 'w', 'f'};
+Ga.OutputName = {'x1', 'Fs'};
+
+
+ + +
+

comp_simscape_analytical.png +

+

Figure 4: Comparison of the Identified Simscape Dynamics (solid) and the Analytical Model (dashed)

+
+
+
+ +
+

1.5 Analytical Analysis

+
+

+For Integral Force Feedback Control, the plant is: +\[ \frac{F_s}{f} = \frac{k_e}{k_e + k_a} \Big( \frac{ms^2 + k_1}{ms^2 + k_1 + \frac{k_e k_a}{k_e + k_a}} \Big) \] +

+ +

+As high frequency, this converge to: +\[ \frac{F_s}{f} \underset{\omega\to\infty}{\longrightarrow} \frac{k_e}{k_e + k_a} \] +And at low frequency: +\[ \frac{F_s}{f} \underset{\omega\to 0}{\longrightarrow} \frac{k_e}{k_e + k_a} \frac{k_1}{k_1 + \frac{k_e k_a}{k_e + k_a}} \] +

+ +

+It has two complex conjugate zeros at: +\[ z = \pm j \sqrt{\frac{k_1}{m}} \] +And two complex conjugate poles at: +\[ p = \pm j \sqrt{\frac{k_1 + \frac{k_e k_a}{k_e + k_a}}{m}} \] +

+ +

+If maximal damping is to be attained with IFF, the distance between the zero and the pole is to be maximized. +Thus, we wish to maximize \(p/z\), which is equivalent as to minimize \(k_1\) and have \(k_e \approx k_a\) (supposing \(k_e + k_a \approx \text{cst}\)). +

+
+

2 Rotating X-Y platform

-
-

2.1 Parameters

+
+

2.1 Parameters

m = 1; % [kg]
@@ -264,8 +336,8 @@ h = 0.2; % [m]
 
-
-

2.2 Identification

+
+

2.2 Identification

Rotating speed in rad/s: @@ -309,19 +381,19 @@ end

amplitifed_piezo_xy_rotation_plant_iff.png

-

Figure 4: Transfer function matrix from forces to force sensors for multiple rotation speed

+

Figure 5: Transfer function matrix from forces to force sensors for multiple rotation speed

-
-

2.3 Root Locus

+
+

2.3 Root Locus

amplified_piezo_xy_rotation_root_locus.png

-

Figure 5: Root locus for 3 rotating speed

+

Figure 6: Root locus for 3 rotating speed

@@ -372,7 +444,7 @@ end

amplified_piezo_xy_rotating_unstable_root_locus.png

-

Figure 6: Root Locus for the two considered rotation speed. For the red curve, the system is unstable.

+

Figure 7: Root Locus for the two considered rotation speed. For the red curve, the system is unstable.

@@ -413,8 +485,8 @@ We set the stiffness of the payload fixation:
-
-

3.2 Identification

+
+

3.2 Identification

K = tf(zeros(6));
@@ -447,7 +519,7 @@ The nano-hexapod has the following leg’s stiffness and damping.
 

amplified_piezo_iff_loop_gain.png

-

Figure 7: Dynamics for the Integral Force Feedback for three payload masses

+

Figure 8: Dynamics for the Integral Force Feedback for three payload masses

@@ -455,7 +527,7 @@ The nano-hexapod has the following leg’s stiffness and damping.

amplified_piezo_iff_root_locus.png

-

Figure 8: Root Locus for the IFF control for three payload masses

+

Figure 9: Root Locus for the IFF control for three payload masses

@@ -465,7 +537,7 @@ Damping as function of the gain

amplified_piezo_iff_damping_gain.png

-

Figure 9: Damping ratio of the poles as a function of the IFF gain

+

Figure 10: Damping ratio of the poles as a function of the IFF gain

@@ -485,7 +557,7 @@ Finally, we use the following controller for the Decentralized Direct Velocity F

amplified_piezo_iff_plant_damped_X.png

-

Figure 10: Primary plant in the task space with (dashed) and without (solid) IFF

+

Figure 11: Primary plant in the task space with (dashed) and without (solid) IFF

@@ -493,13 +565,13 @@ Finally, we use the following controller for the Decentralized Direct Velocity F

amplified_piezo_iff_damped_plant_L.png

-

Figure 11: Primary plant in the space of the legs with (dashed) and without (solid) IFF

+

Figure 12: Primary plant in the space of the legs with (dashed) and without (solid) IFF

amplified_piezo_iff_damped_coupling_X.png

-

Figure 12: Coupling in the primary plant in the task with (dashed) and without (solid) IFF

+

Figure 13: Coupling in the primary plant in the task with (dashed) and without (solid) IFF

@@ -507,7 +579,7 @@ Finally, we use the following controller for the Decentralized Direct Velocity F

amplified_piezo_iff_damped_coupling_L.png

-

Figure 13: Coupling in the primary plant in the space of the legs with (dashed) and without (solid) IFF

+

Figure 14: Coupling in the primary plant in the space of the legs with (dashed) and without (solid) IFF

@@ -519,18 +591,26 @@ Finally, we use the following controller for the Decentralized Direct Velocity F

amplified_piezo_iff_disturbances.png

-

Figure 14: Norm of the transfer function from vertical disturbances to vertical position error with (dashed) and without (solid) Integral Force Feedback applied

+

Figure 15: Norm of the transfer function from vertical disturbances to vertical position error with (dashed) and without (solid) Integral Force Feedback applied

+ + +
+

3.6 Optimal Stiffnesses

+
+
+

3.7 Direct Velocity Feedback with Amplified Actuators

+

Author: Dehaeze Thomas

-

Created: 2020-05-20 mer. 16:56

+

Created: 2020-05-25 lun. 11:13

diff --git a/org/amplified_piezoelectric_stack.html b/org/amplified_piezoelectric_stack.html deleted file mode 100644 index a12c877..0000000 --- a/org/amplified_piezoelectric_stack.html +++ /dev/null @@ -1,612 +0,0 @@ - - - - - - -Amplified Piezoelectric Stack Actuator - - - - - - - - - - - - -
- UP - | - HOME -
-

Amplified Piezoelectric Stack Actuator

- - -

-The presented model is based on souleille18_concep_activ_mount_space_applic. -

- -

-The model represents the amplified piezo APA100M from Cedrat-Technologies (Figure 1). -The parameters are shown in the table below. -

- - -
-

souleille18_model_piezo.png -

-

Figure 1: Picture of an APA100M from Cedrat Technologies. Simplified model of a one DoF payload mounted on such isolator

-
- - - - --- -- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table 1: Parameters used for the model of the APA 100M
 ValueMeaning
\(m\)\(1\,[kg]\)Payload mass
\(k_e\)\(4.8\,[N/\mu m]\)Stiffness used to adjust the pole of the isolator
\(k_1\)\(0.96\,[N/\mu m]\)Stiffness of the metallic suspension when the stack is removed
\(k_a\)\(65\,[N/\mu m]\)Stiffness of the actuator
\(c_1\)\(10\,[N/(m/s)]\)Added viscous damping
- -
-

1 Simplified Model

-
-
-
-

1.1 Parameters

-
-
-
m = 1; % [kg]
-
-ke = 4.8e6; % [N/m]
-ce = 5; % [N/(m/s)]
-me = 0.001; % [kg]
-
-k1 = 0.96e6; % [N/m]
-c1 = 10; % [N/(m/s)]
-
-ka = 65e6; % [N/m]
-ca = 5; % [N/(m/s)]
-ma = 0.001; % [kg]
-
-h = 0.2; % [m]
-
-
- -

-IFF Controller: -

-
-
Kiff = -8000/s;
-
-
-
-
- -
-

1.2 Identification

-
-

-Identification in open-loop. -

-
-
%% Name of the Simulink File
-mdl = 'amplified_piezo_model';
-
-%% Input/Output definition
-clear io; io_i = 1;
-io(io_i) = linio([mdl, '/w'],  1, 'openinput');  io_i = io_i + 1; % Base Motion
-io(io_i) = linio([mdl, '/f'],  1, 'openinput');  io_i = io_i + 1; % Actuator Inputs
-io(io_i) = linio([mdl, '/F'],  1, 'openinput');  io_i = io_i + 1; % External Force
-
-io(io_i) = linio([mdl, '/Fs'], 3, 'openoutput'); io_i = io_i + 1; % Force Sensors
-io(io_i) = linio([mdl, '/x1'], 1, 'openoutput'); io_i = io_i + 1; % Mass displacement
-
-G = linearize(mdl, io, 0);
-G.InputName  = {'w', 'f', 'F'};
-G.OutputName = {'Fs', 'x1'};
-
-
- -

-Identification in closed-loop. -

-
-
%% Name of the Simulink File
-mdl = 'amplified_piezo_model';
-
-%% Input/Output definition
-clear io; io_i = 1;
-io(io_i) = linio([mdl, '/w'],  1, 'input');  io_i = io_i + 1; % Base Motion
-io(io_i) = linio([mdl, '/f'],  1, 'input');  io_i = io_i + 1; % Actuator Inputs
-io(io_i) = linio([mdl, '/F'],  1, 'input');  io_i = io_i + 1; % External Force
-
-io(io_i) = linio([mdl, '/Fs'], 3, 'output'); io_i = io_i + 1; % Force Sensors
-io(io_i) = linio([mdl, '/x1'], 1, 'output'); io_i = io_i + 1; % Mass displacement
-
-Giff = linearize(mdl, io, 0);
-Giff.InputName  = {'w', 'f', 'F'};
-Giff.OutputName = {'Fs', 'x1'};
-
-
- - -
-

amplified_piezo_tf_ol_and_cl.png -

-

Figure 2: Matrix of transfer functions from input to output in open loop (blue) and closed loop (red)

-
-
-
- -
-

1.3 Root Locus

-
- -
-

amplified_piezo_root_locus.png -

-

Figure 3: Root Locus

-
-
-
- -
-

1.4 Analytical Model

-
-

-If we apply the Newton’s second law of motion on the top mass, we obtain: -\[ ms^2 x_1 = F + k_1 (w - x_1) + k_e (x_e - x_1) \] -

- -

-Then, we can write that the measured force \(F_s\) is equal to: -\[ F_s = k_a(w - x_e) + f = -k_e (x_1 - x_e) \] -which gives: -\[ x_e = \frac{k_a}{k_e + k_a} w + \frac{1}{k_e + k_a} f + \frac{k_e}{k_e + k_a} x_1 \] -

- -

-Re-injecting that into the previous equations gives: -\[ x_1 = F \frac{1}{ms^2 + k_1 + \frac{k_e k_a}{k_e + k_a}} + w \frac{k_1 + \frac{k_e k_a}{k_e + k_a}}{ms^2 + k_1 + \frac{k_e k_a}{k_e + k_a}} + f \frac{\frac{k_e}{k_e + k_a}}{ms^2 + k_1 + \frac{k_e k_a}{k_e + k_a}} \] -\[ F_s = - F \frac{\frac{k_e k_a}{k_e + k_a}}{ms^2 + k_1 + \frac{k_e k_a}{k_e + k_a}} + w \frac{k_e k_a}{k_e + k_a} \Big( \frac{ms^2}{ms^2 + k_1 + \frac{k_e k_a}{k_e + k_a}} \Big) - f \frac{k_e}{k_e + k_a} \Big( \frac{ms^2 + k_1}{ms^2 + k_1 + \frac{k_e k_a}{k_e + k_a}} \Big) \] -

- -
-
Ga = 1/(m*s^2 + k1 + ke*ka/(ke + ka)) * ...
-     [ 1 ,              k1 + ke*ka/(ke + ka)  , ke/(ke + ka) ;
-      -ke*ka/(ke + ka), ke*ka/(ke + ka)*m*s^2 , -ke/(ke+ka)*(m*s^2 + k1)];
-Ga.InputName = {'F', 'w', 'f'};
-Ga.OutputName = {'x1', 'Fs'};
-
-
- - -
-

comp_simscape_analytical.png -

-

Figure 4: Comparison of the Identified Simscape Dynamics (solid) and the Analytical Model (dashed)

-
-
-
- -
-

1.5 Analytical Analysis

-
-

-For Integral Force Feedback Control, the plant is: -\[ \frac{F_s}{f} = \frac{k_e}{k_e + k_a} \Big( \frac{ms^2 + k_1}{ms^2 + k_1 + \frac{k_e k_a}{k_e + k_a}} \Big) \] -

- -

-As high frequency, this converge to: -\[ \frac{F_s}{f} \underset{\omega\to\infty}{\longrightarrow} \frac{k_e}{k_e + k_a} \] -And at low frequency: -\[ \frac{F_s}{f} \underset{\omega\to 0}{\longrightarrow} \frac{k_e}{k_e + k_a} \frac{k_1}{k_1 + \frac{k_e k_a}{k_e + k_a}} \] -

- -

-It has two complex conjugate zeros at: -\[ z = \pm j \sqrt{\frac{k_1}{m}} \] -And two complex conjugate poles at: -\[ p = \pm j \sqrt{\frac{k_1 + \frac{k_e k_a}{k_e + k_a}}{m}} \] -

- -

-If maximal damping is to be attained with IFF, the distance between the zero and the pole is to be maximized. -Thus, we wish to maximize \(p/z\), which is equivalent as to minimize \(k_1\) and have \(k_e \approx k_a\) (supposing \(k_e + k_a \approx \text{cst}\)). -

-
-
-
- -
-

2 Rotating X-Y platform

-
-
-
-

2.1 Parameters

-
-
-
m = 1; % [kg]
-
-ke = 4.8e6; % [N/m]
-ce = 5; % [N/(m/s)]
-me = 0.001; % [kg]
-
-k1 = 0.96e6; % [N/m]
-c1 = 10; % [N/(m/s)]
-
-ka = 65e6; % [N/m]
-ca = 5; % [N/(m/s)]
-ma = 0.001; % [kg]
-
-h = 0.2; % [m]
-
-
- -
-
Kiff = tf(0);
-
-
-
-
- -
-

2.2 Identification

-
-

-Rotating speed in rad/s: -

-
-
Ws = 2*pi*[0, 1, 10, 100];
-
-
- -
-
Gs = {zeros(length(Ws), 1)};
-
-
- -

-Identification in open-loop. -

-
-
%% Name of the Simulink File
-mdl = 'amplified_piezo_xy_rotating_stage';
-
-%% Input/Output definition
-clear io; io_i = 1;
-io(io_i) = linio([mdl, '/fx'],  1, 'openinput');  io_i = io_i + 1;
-io(io_i) = linio([mdl, '/fy'],  1, 'openinput');  io_i = io_i + 1;
-
-io(io_i) = linio([mdl, '/Fs'], 1, 'openoutput'); io_i = io_i + 1;
-io(io_i) = linio([mdl, '/Fs'], 2, 'openoutput'); io_i = io_i + 1;
-
-for i = 1:length(Ws)
-    ws = Ws(i);
-    G = linearize(mdl, io, 0);
-    G.InputName  = {'fx', 'fy'};
-    G.OutputName = {'Fsx', 'Fsy'};
-    Gs(i) = {G};
-end
-
-
- - -
-

amplitifed_piezo_xy_rotation_plant_iff.png -

-

Figure 5: Transfer function matrix from forces to force sensors for multiple rotation speed

-
-
-
- -
-

2.3 Root Locus

-
- -
-

amplified_piezo_xy_rotation_root_locus.png -

-

Figure 6: Root locus for 3 rotating speed

-
-
-
- -
-

2.4 Analysis

-
-

-The negative stiffness induced by the rotation is equal to \(m \omega_0^2\). -Thus, the maximum rotation speed where IFF can be applied is: -\[ \omega_\text{max} = \sqrt{\frac{k_1}{m}} \approx 156\,[Hz] \] -

- -

-Let’s verify that. -

-
-
Ws = 2*pi*[140, 160];
-
-
- -

-Identification -

-
-
%% Name of the Simulink File
-mdl = 'amplified_piezo_xy_rotating_stage';
-
-%% Input/Output definition
-clear io; io_i = 1;
-io(io_i) = linio([mdl, '/fx'],  1, 'openinput');  io_i = io_i + 1;
-io(io_i) = linio([mdl, '/fy'],  1, 'openinput');  io_i = io_i + 1;
-
-io(io_i) = linio([mdl, '/Fs'], 1, 'openoutput'); io_i = io_i + 1;
-io(io_i) = linio([mdl, '/Fs'], 2, 'openoutput'); io_i = io_i + 1;
-
-for i = 1:length(Ws)
-    ws = Ws(i);
-    G = linearize(mdl, io, 0);
-    G.InputName  = {'fx', 'fy'};
-    G.OutputName = {'Fsx', 'Fsy'};
-    Gs(i) = {G};
-end
-
-
- - -
-

amplified_piezo_xy_rotating_unstable_root_locus.png -

-

Figure 7: Root Locus for the two considered rotation speed. For the red curve, the system is unstable.

-
-
-
-
- -
-

3 Stewart Platform with Amplified Actuators

-
-
-
-

3.1 Initialization

-
-
-
initializeGround();
-initializeGranite();
-initializeTy();
-initializeRy();
-initializeRz();
-initializeMicroHexapod();
-initializeAxisc();
-initializeMirror();
-
-initializeSimscapeConfiguration();
-initializeDisturbances('enable', false);
-initializeLoggingConfiguration('log', 'none');
-
-initializeController('type', 'hac-iff');
-
-
- -

-We set the stiffness of the payload fixation: -

-
-
Kp = 1e8; % [N/m]
-
-
-
-
- -
-

3.2 Identification

-
-
-
K = tf(zeros(6));
-Kiff = tf(zeros(6));
-
-
- -

-We identify the system for the following payload masses: -

-
-
Ms = [1, 10, 50];
-
-
- -

-The nano-hexapod has the following leg’s stiffness and damping. -

-
-
initializeNanoHexapod('actuator', 'amplified');
-
-
-
-
- -
-

3.3 Controller Design

-
- -
-

amplified_piezo_iff_loop_gain.png -

-

Figure 8: Dynamics for the Integral Force Feedback for three payload masses

-
- - - -
-

amplified_piezo_iff_root_locus.png -

-

Figure 9: Root Locus for the IFF control for three payload masses

-
- -

-Damping as function of the gain -

- -
-

amplified_piezo_iff_damping_gain.png -

-

Figure 10: Damping ratio of the poles as a function of the IFF gain

-
- -

-Finally, we use the following controller for the Decentralized Direct Velocity Feedback: -

-
-
Kiff = -1e4/s*eye(6);
-
-
-
-
- -
-

3.4 Effect of the Low Authority Control on the Primary Plant

-
- -
-

amplified_piezo_iff_plant_damped_X.png -

-

Figure 11: Primary plant in the task space with (dashed) and without (solid) IFF

-
- - - -
-

amplified_piezo_iff_damped_plant_L.png -

-

Figure 12: Primary plant in the space of the legs with (dashed) and without (solid) IFF

-
- -
-

amplified_piezo_iff_damped_coupling_X.png -

-

Figure 13: Coupling in the primary plant in the task with (dashed) and without (solid) IFF

-
- - - -
-

amplified_piezo_iff_damped_coupling_L.png -

-

Figure 14: Coupling in the primary plant in the space of the legs with (dashed) and without (solid) IFF

-
-
-
- -
-

3.5 Effect of the Low Authority Control on the Sensibility to Disturbances

-
- -
-

amplified_piezo_iff_disturbances.png -

-

Figure 15: Norm of the transfer function from vertical disturbances to vertical position error with (dashed) and without (solid) Integral Force Feedback applied

-
-
- -
-
-
- - -
-

3.6 Optimal Stiffnesses

-
-
-
-
-

Author: Dehaeze Thomas

-

Created: 2020-05-25 lun. 11:05

-
- -