diff --git a/dcm-simscape.html b/dcm-simscape.html index 834116d..b3c5612 100644 --- a/dcm-simscape.html +++ b/dcm-simscape.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- +%% Tested bragg angles @@ -118,7 +120,7 @@ dz = d_off./(2* -+-
![]()
Figure 1: Jack motion as a function of Bragg angle
@@ -136,34 +138,34 @@ dz = d_off./(2*-1.2. Kinematics (111 Crystal)
++1.2. Kinematics (111 Crystal)
-The reference frame is taken at the center of the 111 second crystal.
-1.2.1. Interferometers - 111 Crystal
++1.2.1. Interferometers - 111 Crystal
Three interferometers are pointed to the bottom surface of the 111 crystal.
-The position of the measurement points are shown in Figure 2 as well as the origin where the motion of the crystal is computed. +The position of the measurement points are shown in Figure 2 as well as the origin where the motion of the crystal is computed.
-+
![]()
Figure 2: Bottom view of the second crystal 111. Position of the measurement points.
-The inverse kinematics consisting of deriving the interferometer measurements from the motion of the crystal (see Figure 3): +The inverse kinematics consisting of deriving the interferometer measurements from the motion of the crystal (see Figure 3):
\begin{equation} \begin{bmatrix} @@ -177,7 +179,7 @@ d_z \\ r_y \\ r_x \end{equation} -+-
![]()
Figure 3: Inverse Kinematics - Interferometers
@@ -185,7 +187,7 @@ d_z \\ r_y \\ r_x-From the Figure 2, the inverse kinematics can be solved as follow (for small motion): +From the Figure 2, the inverse kinematics can be solved as follow (for small motion):
\begin{equation} \bm{J}_{s,111} @@ -205,7 +207,7 @@ J_s_111 = [1, 0.07, -0.015+
Table 1: Sensor Jacobian \(\bm{J}_{s,111}\) @@ -237,7 +239,7 @@ J_s_111 = [1, 0.07, -0.015 -The forward kinematics is solved by inverting the Jacobian matrix (see Figure 4). +The forward kinematics is solved by inverting the Jacobian matrix (see Figure 4).
\begin{equation} \begin{bmatrix} @@ -251,13 +253,13 @@ x_1 \\ x_2 \\ x_3 \end{equation} -+-
![]()
Figure 4: Forward Kinematics - Interferometers
+
Table 2: Inverse of the sensor Jacobian \(\bm{J}_{s,111}^{-1}\) @@ -290,15 +292,15 @@ x_1 \\ x_2 \\ x_3 - -1.2.2. Piezo - 111 Crystal
++1.2.2. Piezo - 111 Crystal
-The location of the actuators with respect with the center of the 111 second crystal are shown in Figure 5. +The location of the actuators with respect with the center of the 111 second crystal are shown in Figure 5.
-+
![]()
Figure 5: Location of actuators with respect to the center of the 111 second crystal (bottom view)
@@ -319,14 +321,14 @@ d_z \\ r_y \\ r_x \end{equation} -+-
![]()
Figure 6: Inverse Kinematics - Actuators
-Based on the geometry in Figure 5, we obtain: +Based on the geometry in Figure 5, we obtain:
\begin{equation} \bm{J}_{a,111} @@ -346,7 +348,7 @@ J_a_111 = [1, 0.14, -0.1525+
Table 3: Actuator Jacobian \(\bm{J}_{a,111}\) @@ -392,13 +394,13 @@ d_{u_r} \\ d_{u_h} \\ d_{d} \end{equation} - +-
![]()
Figure 7: Forward Kinematics - Actuators for 111 crystal
+
-
Table 4: Inverse of the actuator Jacobian \(\bm{J}_{a,111}^{-1}\) @@ -432,8 +434,8 @@ d_{u_r} \\ d_{u_h} \\ d_{d} - -1.3. Save Kinematics
++1.3. Save Kinematics
-save('mat/dcm_kinematics.mat', 'J_a_111', 'J_s_111') @@ -443,15 +445,15 @@ d_{u_r} \\ d_{u_h} \\ d_{d}-2. Open Loop System Identification
++2. Open Loop System Identification
--2.1. Identification
++2.1. Identification
Let’s considered the system \(\bm{G}(s)\) with: @@ -462,11 +464,11 @@ Let’s considered the system \(\bm{G}(s)\) with:
-It is schematically shown in Figure 8. +It is schematically shown in Figure 8.
-+-
![]()
Figure 8: Dynamical system with inputs and outputs
@@ -508,8 +510,8 @@ State-space model with 3 outputs, 3 inputs, and 24 states.-2.2. Plant in the frame of the fastjacks
++2.2. Plant in the frame of the fastjacks
-load('mat/dcm_kinematics.mat'); @@ -517,11 +519,11 @@ State-space model with 3 outputs, 3 inputs, and 24 states.-Using the forward and inverse kinematics, we can computed the dynamics from piezo forces to axial motion of the 3 fastjacks (see Figure 9). +Using the forward and inverse kinematics, we can computed the dynamics from piezo forces to axial motion of the 3 fastjacks (see Figure 9).
-+-
![]()
Figure 9: Use of Jacobian matrices to obtain the system in the frame of the fastjacks
@@ -542,7 +544,7 @@ The DC gain of the new system shows that the system is well decoupled at low fre+
+ + +
Table 5: DC gain of the plant in the frame of the fast jacks \(\bm{G}_{\text{fj}}\) @@ -574,17 +576,17 @@ The DC gain of the new system shows that the system is well decoupled at low fre -The bode plot of \(\bm{G}_{\text{fj}}(s)\) is shown in Figure 10. +The bode plot of \(\bm{G}_{\text{fj}}(s)\) is shown in Figure 10.
-+-
![]()
Figure 10: Bode plot of the diagonal and off-diagonal elements of the plant in the frame of the fast jacks
+-Computing the system in the frame of the fastjack gives good decoupling at low frequency (until the first resonance of the system).
@@ -593,11 +595,11 @@ Computing the system in the frame of the fastjack gives good decoupling at low f-2.3. Plant in the frame of the crystal
++2.3. Plant in the frame of the crystal
-+-
![]()
Figure 11: Use of Jacobian matrices to obtain the system in the frame of the crystal
@@ -652,18 +654,18 @@ The main reason is that, as we map forces to the center of the 111 crystal and n-3. Active Damping Plant (Strain gauges)
++3. Active Damping Plant (Strain gauges)
-In this section, we wish to see whether if strain gauges fixed to the piezoelectric actuator can be used for active damping.
-3.1. Identification
++3.1. Identification
@@ -704,33 +704,128 @@ G_sg = linearize(mdl, io);%% Input/Output definition @@ -671,13 +673,11 @@ clear io; io_i = 1; %% Inputs % Control Input {3x1} [N] -io(io_i) = linio([mdl, '/u'], 1, 'openinput'); io_i = io_i + 1; -% % Stepper Displacement {3x1} [m] -% io(io_i) = linio([mdl, '/d'], 1, 'openinput'); io_i = io_i + 1; +io(io_i) = linio([mdl, '/control_system'], 1, 'openinput'); io_i = io_i + 1; %% Outputs % Strain Gauges {3x1} [m] -io(io_i) = linio([mdl, '/sg'], 1, 'openoutput'); io_i = io_i + 1; +io(io_i) = linio([mdl, '/DCM'], 2, 'openoutput'); io_i = io_i + 1;- -1.4113e-13 +4.4443e-09 1.0339e-13 3.774e-14 1.0339e-13 --1.4113e-13 +4.4443e-09 3.774e-14 3.7792e-14 3.7792e-14 --7.5585e-14 +4.4444e-09 ++ ++
+
Figure 12: Bode Plot of the transfer functions from piezoelectric forces to strain gauges measuremed displacements
+++As the distance between the poles and zeros in Figure 15 is very small, little damping can be actively added using the strain gauges. +This will be confirmed using a Root Locus plot. +
+-+ +4. Active Damping Plant (Force Sensors)
+++ +3.2. Relative Active Damping
+++++ +Krad_g1 = eye(3)*s/(s^2/(2*pi*500)^2 + 2*s/(2*pi*500) + 1); +++As can be seen in Figure 13, very little damping can be added using relative damping strategy using strain gauges. +
+ + +++ ++
+
Figure 13: Root Locus for the relative damping control
+++Krad = -g*Krad_g1; ++++3.3. Damped Plant
++++The controller is implemented on Simscape, and the damped plant is identified. +
+ +++ +%% Input/Output definition +clear io; io_i = 1; + +%% Inputs +% Control Input {3x1} [N] +io(io_i) = linio([mdl, '/control_system'], 1, 'input'); io_i = io_i + 1; + +%% Outputs +% Force Sensor {3x1} [m] +io(io_i) = linio([mdl, '/DCM'], 1, 'openoutput'); io_i = io_i + 1; ++++ +%% DCM Kinematics +load('mat/dcm_kinematics.mat'); ++++ +%% Identification of the Open Loop plant +controller.type = 0; % Open Loop +G_ol = J_a_111*inv(J_s_111)*linearize(mdl, io); +G_ol.InputName = {'u_ur', 'u_uh', 'u_d'}; +G_ol.OutputName = {'d_ur', 'd_uh', 'd_d'}; ++++ + +%% Identification of the damped plant with Relative Active Damping +controller.type = 2; % RAD +G_dp = J_a_111*inv(J_s_111)*linearize(mdl, io); +G_dp.InputName = {'u_ur', 'u_uh', 'u_d'}; +G_dp.OutputName = {'d_ur', 'd_uh', 'd_d'}; +++++
+
Figure 14: Bode plot of both the open-loop plant and the damped plant using relative active damping
++4. Active Damping Plant (Force Sensors)
-Force sensors are added above the piezoelectric actuators. @@ -738,8 +833,8 @@ They can consists of a simple piezoelectric ceramic stack. See for instance fleming10_integ_strain_force_feedb_high.
-4.1. Identification
++4.1. Identification
%% Input/Output definition @@ -798,16 +893,16 @@ G_fs = linearize(mdl, io);+--
![]()
Figure 12: Bode plot of IFF Plant
+Figure 15: Bode plot of IFF Plant
-4.2. Controller - Root Locus
++4.2. Controller - Root Locus
-Kiff_g1 = eye(3)*1/(1 + s/2/pi/20); @@ -815,10 +910,10 @@ G_fs = linearize(mdl, io);+--
![]()
Figure 13: Root Locus plot for the IFF Control strategy
+Figure 16: Root Locus plot for the IFF Control strategy
@@ -829,8 +924,8 @@ Kiff = g*Kiff_g1;-4.3. Damped Plant
++4.3. Damped Plant
%% Input/Output definition @@ -871,13 +966,13 @@ G_dp.OutputName = {'d_ur', +--
![]()
Figure 14: Bode plot of both the open-loop plant and the damped plant using IFF
+Figure 17: Bode plot of both the open-loop plant and the damped plant using IFF
+-The Integral Force Feedback control strategy is very effective in damping the suspension modes of the DCM.
@@ -886,8 +981,8 @@ The Integral Force Feedback control strategy is very effective in damping the su-4.4. Save
++4.4. Save
-save('mat/Kiff.mat', 'Kiff'); @@ -897,18 +992,18 @@ The Integral Force Feedback control strategy is very effective in damping the su-diff --git a/dcm-simscape.org b/dcm-simscape.org index 88720e2..57b6f9c 100644 --- a/dcm-simscape.org +++ b/dcm-simscape.org @@ -738,13 +738,11 @@ clear io; io_i = 1; %% Inputs % Control Input {3x1} [N] -io(io_i) = linio([mdl, '/u'], 1, 'openinput'); io_i = io_i + 1; -% % Stepper Displacement {3x1} [m] -% io(io_i) = linio([mdl, '/d'], 1, 'openinput'); io_i = io_i + 1; +io(io_i) = linio([mdl, '/control_system'], 1, 'openinput'); io_i = io_i + 1; %% Outputs % Strain Gauges {3x1} [m] -io(io_i) = linio([mdl, '/sg'], 1, 'openoutput'); io_i = io_i + 1; +io(io_i) = linio([mdl, '/DCM'], 2, 'openoutput'); io_i = io_i + 1; #+end_src #+begin_src matlab @@ -762,12 +760,12 @@ dcgain(G_sg) #+end_src #+RESULTS: -| -1.4113e-13 | 1.0339e-13 | 3.774e-14 | -| 1.0339e-13 | -1.4113e-13 | 3.774e-14 | -| 3.7792e-14 | 3.7792e-14 | -7.5585e-14 | +| 4.4443e-09 | 1.0339e-13 | 3.774e-14 | +| 1.0339e-13 | 4.4443e-09 | 3.774e-14 | +| 3.7792e-14 | 3.7792e-14 | 4.4444e-09 | #+begin_src matlab :exports none -%% Bode plot for the plant +%% Bode plot for the plant (strain gauge output) figure; tiledlayout(3, 1, 'TileSpacing', 'Compact', 'Padding', 'None'); @@ -788,7 +786,8 @@ end hold off; set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); ylabel('Amplitude [m/N]'); set(gca, 'XTickLabel',[]); -legend('location', 'southwest', 'FontSize', 8, 'NumColumns', 2); +legend('location', 'southeast', 'FontSize', 8, 'NumColumns', 2); +ylim([1e-14, 1e-7]); ax2 = nexttile; hold on; @@ -800,12 +799,173 @@ set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin'); xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); hold off; yticks(-360:90:360); -ylim([-180, 180]); +ylim([-180, 0]); linkaxes([ax1,ax2],'x'); xlim([freqs(1), freqs(end)]); #+end_src +#+begin_src matlab :tangle no :exports results :results file replace +exportFig('figs/strain_gauge_plant_bode_plot.pdf', 'width', 'wide', 'height', 'tall'); +#+end_src + +#+name: fig:strain_gauge_plant_bode_plot +#+caption: Bode Plot of the transfer functions from piezoelectric forces to strain gauges measuremed displacements +#+RESULTS: +[[file:figs/strain_gauge_plant_bode_plot.png]] + +#+begin_important +As the distance between the poles and zeros in Figure [[fig:iff_plant_bode_plot]] is very small, little damping can be actively added using the strain gauges. +This will be confirmed using a Root Locus plot. +#+end_important + +** Relative Active Damping +#+begin_src matlab +Krad_g1 = eye(3)*s/(s^2/(2*pi*500)^2 + 2*s/(2*pi*500) + 1); +#+end_src + +As can be seen in Figure [[fig:relative_damping_root_locus]], very little damping can be added using relative damping strategy using strain gauges. + +#+begin_src matlab :exports none +%% Root Locus for IFF +gains = logspace(3, 8, 200); + +figure; + +hold on; +plot(real(pole(G_sg)), imag(pole(G_sg)), 'x', 'color', colors(1,:), ... + 'DisplayName', '$g = 0$'); +plot(real(tzero(G_sg)), imag(tzero(G_sg)), 'o', 'color', colors(1,:), ... + 'HandleVisibility', 'off'); + +for g = gains + clpoles = pole(feedback(G_sg, g*Krad_g1, -1)); + plot(real(clpoles), imag(clpoles), '.', 'color', colors(1,:), ... + 'HandleVisibility', 'off'); +end + +% Optimal gain +g = 2e5; +clpoles = pole(feedback(G_sg, g*Krad_g1, -1)); +plot(real(clpoles), imag(clpoles), 'x', 'color', colors(2,:), ... + 'DisplayName', sprintf('$g=%.0e$', g)); +hold off; +xlim([-6, 0]); ylim([0, 2700]); +xlabel('Real Part'); ylabel('Imaginary Part'); +legend('location', 'northwest'); +#+end_src + +#+begin_src matlab :tangle no :exports results :results file replace +exportFig('figs/relative_damping_root_locus.pdf', 'width', 'wide', 'height', 'tall'); +#+end_src + +#+name: fig:relative_damping_root_locus +#+caption: Root Locus for the relative damping control +#+RESULTS: +[[file:figs/relative_damping_root_locus.png]] + +#+begin_src matlab +Krad = -g*Krad_g1; +#+end_src + +** Damped Plant +The controller is implemented on Simscape, and the damped plant is identified. + +#+begin_src matlab +%% Input/Output definition +clear io; io_i = 1; + +%% Inputs +% Control Input {3x1} [N] +io(io_i) = linio([mdl, '/control_system'], 1, 'input'); io_i = io_i + 1; + +%% Outputs +% Force Sensor {3x1} [m] +io(io_i) = linio([mdl, '/DCM'], 1, 'openoutput'); io_i = io_i + 1; +#+end_src + +#+begin_src matlab +%% DCM Kinematics +load('mat/dcm_kinematics.mat'); +#+end_src + +#+begin_src matlab +%% Identification of the Open Loop plant +controller.type = 0; % Open Loop +G_ol = J_a_111*inv(J_s_111)*linearize(mdl, io); +G_ol.InputName = {'u_ur', 'u_uh', 'u_d'}; +G_ol.OutputName = {'d_ur', 'd_uh', 'd_d'}; +#+end_src + +#+begin_src matlab +%% Identification of the damped plant with Relative Active Damping +controller.type = 2; % RAD +G_dp = J_a_111*inv(J_s_111)*linearize(mdl, io); +G_dp.InputName = {'u_ur', 'u_uh', 'u_d'}; +G_dp.OutputName = {'d_ur', 'd_uh', 'd_d'}; +#+end_src + +#+begin_src matlab :exports none +%% Comparison of the damped and undamped plant +figure; +tiledlayout(3, 1, 'TileSpacing', 'Compact', 'Padding', 'None'); + +ax1 = nexttile([2,1]); +hold on; +plot(freqs, abs(squeeze(freqresp(G_ol(1,1), freqs, 'Hz'))), ... + 'DisplayName', 'd - OL'); +plot(freqs, abs(squeeze(freqresp(G_ol(2,2), freqs, 'Hz'))), ... + 'DisplayName', 'uh - OL'); +plot(freqs, abs(squeeze(freqresp(G_ol(3,3), freqs, 'Hz'))), ... + 'DisplayName', 'ur - OL'); +set(gca,'ColorOrderIndex',1) +plot(freqs, abs(squeeze(freqresp(G_dp(1,1), freqs, 'Hz'))), '--', ... + 'DisplayName', 'd - IFF'); +plot(freqs, abs(squeeze(freqresp(G_dp(2,2), freqs, 'Hz'))), '--', ... + 'DisplayName', 'uh - IFF'); +plot(freqs, abs(squeeze(freqresp(G_dp(3,3), freqs, 'Hz'))), '--', ... + 'DisplayName', 'ur - IFF'); +for i = 1:2 + for j = i+1:3 + plot(freqs, abs(squeeze(freqresp(G_dp(i,j), freqs, 'Hz'))), 'color', [0, 0, 0, 0.2], ... + 'HandleVisibility', 'off'); + end +end +hold off; +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +ylabel('Amplitude [m/N]'); set(gca, 'XTickLabel',[]); +legend('location', 'southeast', 'FontSize', 8, 'NumColumns', 2); +ylim([1e-12, 1e-6]); + +ax2 = nexttile; +hold on; +plot(freqs, 180/pi*angle(squeeze(freqresp(G_ol(1,1), freqs, 'Hz')))); +plot(freqs, 180/pi*angle(squeeze(freqresp(G_ol(2,2), freqs, 'Hz')))); +plot(freqs, 180/pi*angle(squeeze(freqresp(G_ol(3,3), freqs, 'Hz')))); +set(gca,'ColorOrderIndex',1) +plot(freqs, 180/pi*angle(squeeze(freqresp(G_dp(1,1), freqs, 'Hz'))), '--'); +plot(freqs, 180/pi*angle(squeeze(freqresp(G_dp(2,2), freqs, 'Hz'))), '--'); +plot(freqs, 180/pi*angle(squeeze(freqresp(G_dp(3,3), freqs, 'Hz'))), '--'); +hold off; +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin'); +xlabel('Frequency [Hz]'); ylabel('Phase [deg]'); +hold off; +yticks(-360:90:360); +ylim([-180, 0]); + +linkaxes([ax1,ax2],'x'); +xlim([freqs(1), freqs(end)]); +#+end_src + +#+begin_src matlab :tangle no :exports results :results file replace +exportFig('figs/comp_damp_undamped_plant_rad_bode_plot.pdf', 'width', 'wide', 'height', 'tall'); +#+end_src + +#+name: fig:comp_damp_undamped_plant_rad_bode_plot +#+caption: Bode plot of both the open-loop plant and the damped plant using relative active damping +#+RESULTS: +[[file:figs/comp_damp_undamped_plant_rad_bode_plot.png]] + * Active Damping Plant (Force Sensors) :PROPERTIES: :header-args:matlab+: :tangle matlab/dcm_active_damping_iff.m diff --git a/dcm-simscape.pdf b/dcm-simscape.pdf index 6732f54..595ee5c 100644 Binary files a/dcm-simscape.pdf and b/dcm-simscape.pdf differ diff --git a/figs/comp_damp_undamped_plant_rad_bode_plot.pdf b/figs/comp_damp_undamped_plant_rad_bode_plot.pdf new file mode 100644 index 0000000..80e4bbf Binary files /dev/null and b/figs/comp_damp_undamped_plant_rad_bode_plot.pdf differ diff --git a/figs/comp_damp_undamped_plant_rad_bode_plot.png b/figs/comp_damp_undamped_plant_rad_bode_plot.png new file mode 100644 index 0000000..15f7a7f Binary files /dev/null and b/figs/comp_damp_undamped_plant_rad_bode_plot.png differ diff --git a/figs/relative_damping_root_locus.pdf b/figs/relative_damping_root_locus.pdf new file mode 100644 index 0000000..84bfb04 Binary files /dev/null and b/figs/relative_damping_root_locus.pdf differ diff --git a/figs/relative_damping_root_locus.png b/figs/relative_damping_root_locus.png new file mode 100644 index 0000000..b40e8c0 Binary files /dev/null and b/figs/relative_damping_root_locus.png differ diff --git a/figs/strain_gauge_plant_bode_plot.pdf b/figs/strain_gauge_plant_bode_plot.pdf new file mode 100644 index 0000000..1169e6d --- /dev/null +++ b/figs/strain_gauge_plant_bode_plot.pdf @@ -0,0 +1,1386 @@ +%PDF-1.4 +%ª«¬ +1 0 obj +<< +/Producer (Apache FOP Version 2.4.0-SNAPSHOT: PDFDocumentGraphics2D) +/CreationDate (D:20211130113217+01'00') +>> +endobj +2 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +3 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +4 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +5 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +6 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +7 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +8 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +9 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +10 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +11 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +12 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +13 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +14 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +15 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +16 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +17 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +18 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +19 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +20 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +21 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +22 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +23 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +24 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +25 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +26 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +27 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +28 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +29 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +30 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +31 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +32 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +33 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +34 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +35 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +36 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +37 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +38 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +39 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +40 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +41 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +42 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +43 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +44 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +45 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +46 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +47 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +48 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +49 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +50 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +51 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +52 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +53 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +54 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +55 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +56 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +57 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +58 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +59 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +60 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +61 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +62 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +63 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +64 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +65 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +66 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +67 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +68 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +69 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +70 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +71 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +72 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +73 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +74 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +75 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +76 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +77 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +78 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +79 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +80 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +81 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +82 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +83 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +84 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +85 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +86 0 obj +<< +/Type /ExtGState +/CA 0.2 +>> +endobj +87 0 obj +<< +/Type /ExtGState +/CA 0.2 +>> +endobj +88 0 obj +<< +/Type /ExtGState +/CA 0.2 +>> +endobj +89 0 obj +<< +/Type /ExtGState +/CA 0.2 +>> +endobj +90 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +91 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +92 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +93 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +94 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +95 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +96 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +97 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +98 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +99 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +100 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +101 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +102 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +103 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +104 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +105 0 obj +<< +/Type /ExtGState +/CA 0.2509804 +>> +endobj +106 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +107 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +108 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +109 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +110 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +111 0 obj +<< +/Type /ExtGState +/CA 0.14901961 +>> +endobj +112 0 obj +<< /Length 113 0 R /Filter /FlateDecode >> +stream +xœì½Ï®4IpÝ·Ÿ§è`«òoe†Ë–ðÂw‚V2$Ãh.-üú>'NduUf}3·/¿KR&iÊœ¹1ÝY�•¿ÿöGxløÿþ†ÿ'mÛã?ÿÝÛ3Äb}ÿþüßþHö�éñ7ý™b){¯Y¢ðø¯l�÷GØöGÞ·ÇßýÑZ´zÙ?ñÿRÆÿûÿñ_þø?þìËþÕ¿ûø¾ÿÎÇØ"¾t×ÿÇðHÿ âÿÿöïÿˆ�ÿç�ðLö?�ÿ£ÿïĘž5÷s(þ—?qäÿð—ãÆÏÇíáÙZÎ}ëã§_þôµqÓÇ㦼=co1·Ø}ÜËŸ¾6nþ|Ü}¶²µBãžÿôµqËÇãæ=KJ5miÌóåO_·~>nÊϼ—ÜsjcÜóŸ¾6îþù¸¥>{ÞSÛ�Ÿ{úË×FmŸ�º×ç^[o¡§1ìùO_·Created: 2021-11-30 mar. 11:26
+Created: 2021-11-30 mar. 11:44
ýéKCnHiè»xØKñúô§/ ý¹-Å¡S‹p}JÈaüèó_¾ä‘|O—¥}{âpm8kÆÀ§¿|iàïi²Tã/4l%ïcäóŸ¾4ô÷4Y*\O0b¶mh²ËŸ¾4ô÷4¬¶gÝzKq?^ôùO_ú{š,åú!·ëq}þÓ—†þž&K9>c[ïí=ôéO_ú{š,¥†ƒ¹–¾•q`^þô¥¡¿§ÉR(ϲÅXŽCëü—/ ü==ëüYw�åXc§¿|iàïi±ØË3ö-âŒÚäò§/E8¾§ÇbãKM°ÕãP'—?}ièïi2X Ï\k‡õ׎¡OúÒÐßÓdqop‹Bo¹�W}ùÓ—†þž&‹{yn{‹°¹� ?ÿéKCO“ÁôÂшsj�Ç„Ÿÿô¥¡¿§Éà“=iàTšìò§/ ý=Mö[†þž&‹¹=Sé9â펡ÏúÒÐßÓe1ÕgI‡Ô{™�ÿô¥¡¿©Íbƒû¹§ÞevúË—¢¦ßÔe‘‹yÃìæcºÏúÒÐßÔe¡â»rˆû°€ÏùÒÀßÔd!Àêì!ÅíøÍç?}ièoj² t*iïÛ8¨/úÒÐßÔd[†A°µÔã{èÓŸ¾4ô÷4Yhá‰w[àÈŽ¡/úÒÐßÓd¡â»zŠm;&üò§/ ý=Mjxn[†ƒâ1ôéO_ú{š,”üÌ}ßCc…_þô¥¡¿§ÉBîO¼Ü¸ã¤CŸÿô¥›˜ïé2NÏÚjÜûñªOùÒÀßÓd!oϽÓî<ÂU—?}ièïé²�vœ�{oðßÇÐç?}ièïé²�ò3¶²oøºcèÓŸ¾4ô÷tIX©âp<~õùO_ú›ºlƒ3Y¶z=võùO_ú{º¬§g«ëy;ëü—/ ü=MÖ¸ r+mèNøÒ°ßÓb->·Ôr8F=þýKƒ~Oíû³ä”c-c’ÏùÒ}î÷´×n µ…m˜€ç¿|iàïi¯}ÃIÌàßК§?|iØoÆø+̞唎ÿé/_ø»q1|b‡’zǦNùÒÀß´Àês¥w�æü—/ üMO’/4n[ÏoËïý—/ üMë+?[/¥†#È}þË—þ¦íµ=ó¶•=½ ÎÓ_¾4ð÷tÜŶ÷UÆûß¿4è7#ú8ùà/îïÜû_ÊùžÆúì:· íôù-ë¸=þÒ0ñÃ@ã`#f»÷9"·§?}iàô��ãžÀh9ÿéKço\wü÷%Q–ó_þrØí:RüËkÿwÊßïûæ.à?~^�G´ë~Û—¯é ¿y€kZÂoþò1áf <÷²m°¸¿ Õ>šœ÷ÔüÀCe™Íóû¿~^;ÕÒc×·ÿU +ëoï/RW÷x•²úÛÇû‹TÕß=Þ_¥¨þöñþ"5õ·�÷§)©¿}´¿HEýíãݨîß;Â_%¹þöñþ"·õw�÷W)¿}¼¿ÈdýíãýEëïï¯òVûxš®úÛGû‹,Õß>Þd9ýÞo?›NéÙhy”¯Üp}Ç4XƒŸðZÃ2Y?0àT¼2™?1àµje² ~`À©\e2~bÀk�ÊdüÄ€— +•«yðÃ]+S&ûà'œ˜bªz™,„ŸðZí2™?0àTå2Ù?1ൺe2~bÀkUËd%üÀ€S5Ëd&üÄ€—2–«�ðÃ]«W&Cá'<…~àë?®”ù–‰ó#!³�Ÿ{ùíQ¾96«Q>Ï~0Ü‘ÕpŸe?nŠÃj´ŸÅžÞÿžü�ïé&†î£üÈ{º‰œûp?òžÖx¹�ö³!ó6ª—ß¾¡æ’²1ÌGeeŸŒ7Õ‘�ñ>ª%ûd¼©xlŒ÷QÙGã]+ÆŽñ>©ûd¼©LlŒ÷Q©ØGã]kÃŽñ>©ûd¼© lŒ÷QQØGã]«ÀŽñ>©ûh¼ké×1Þ'å_Ÿ ×z/¯OF»y�Ñ>)ôúd´©²k÷Qu×'ãMå\c¼�Jº>ïZÃuŒ÷I×'ãM…[c¼�Š·>ïZuŒ÷IÅÖGÆäµDkŒ÷Q™ÖßÇxãý�õ:Õ��á>©ûd´kñ×í“°O,ó©âˇû¬êë“ñ¦2¯1ÞG¥^�wí:Æû¤¾ë“ñ¦‚®1ÞGE]�wâ:Æû¤’ë£ñ®¥[ÇxŸ”o}2ÞT45Æû¨pêŸòxSeÖï£ê¬OƛʱÆx•d}2Þµk÷IÖG£]¯Žá>)¾úd¼kµÕ«�F»–XÃ}RfõQÔæZW5Æû¨¶ê£ñ®ÅTÇxŸTý}¢Rc¼ +KÍ[>ÞgU[ŸŒ7•i�ñ>*Õúh¼kmÖ1Þ'õYŸŒ7d�ñ>*Êúd¼© +kŒ÷Q%ÖGã]J¯Žá>(¿úh´k½Õ1Ü'5WŸŒ7Y�ñ>*´úh¼keÕ1Þ'ÕUŸŒ7•S�ñ>*©úd¼©†jŒ÷QÕãM…S>ÜGÅSŒv–òÁ>©˜úd¬s‰ÔêëeRŒ4ÕEùXÕF}2ÚµjŒöIAÔ'£]* Æ`TAý=.|4Ø�Ý$\‹¬F¨ñ“B«�¢U—ʪ#XõAuÕGþÏ¥œêp>(©úÈ»ÔPØuT�p—©ã€û xê#}|©–:ÔñSŸì€s‰ÔXÿ_/“úd=^ê¢Ærü 6êÓ?âGní÷fI‰¿ûÚvº <†ù‰ÛÀ›®’Çx?qxÓJòï'noúG¾Çû�ÛÀ›¦‘Çx?qxÓ)ò=ÞÜÞ´‡<Æû‰ÛÀ›ž�ïñ~à6ð¦ä{¼¸ \»?Žá~â6pmùxŒö·�7}�á~â6ð¦¹ã1ÞOÜÞtt|�÷·�7m�ñ~â6ð¦wã{¼¸ ¼iØxŒ÷·�·)Rc¼Ê‘ºÞÃýÀmàÚ +òínoú?Žá~ä6ð¦éã1ÞOÜÞtz|�÷·�7í�ñ~â6ð¦§ã{¼¸ ¼iäøïnoZ(ãýÄíÜ?Êx×ÛÀc¼Ÿ¸ ¼iÎxŒ÷·�kGÆc¸¸ ¼iÃøîn×Þ‹Çp?pxÓpñ=ÜÜÞtY<Æû‰ÛÀ›ÖŠïñ~à6ð6÷yŒ÷CÉÏÓmàïGnoš6ãýÄmàM§Æ÷x?pxÓžñï'noz2ãýÄmàÚˆñ=Üï¿ ¼é¾øînoZ.ãýÄmàMŸÅ÷x?pxÓ\ñï'no:*ãýÄmàÚFq÷·�KïÄ1ØÜÎ �¡~ûmàÚ%qŒõ·�kkÄc´¸ \ú!ƒýþÛÀ»²" öcõ_—ÛÀ#Ôø·�kŸÅw°ê÷ß®ÍßîÏï¿ \;*¾ °ß¸¶Q|p¿ÿ6pí�øVÇ¿ÿ6pn˜x¬ÿß~¸tI<–ãï¿ < +„}ˆq_÷¯þm/Û#þç�¿ý/‰_6F‹�ýrŽ ÆôŒ�ø¯ÿö�ƒÀû7…_W¡Ì1?ÛÞ;Þ¿ý»ÇüŸ¶mÿóã?=þößÿñoþÖ~Ágß›Ë3—žR\¿7ž¿ÏŸûƒ÷Jß{þi�Ñû›ô!Ák¿ÿš¨ïú_�ðñ7nÏ w¼~qZýkïxÛ¤æþÓŸx×öý?ñÎÿl¼y÷6àßo üé7ÿÉZÈß\u3[¾îe+?±þôû`-üéx?±þtÀ¿×Zøóoþ“µ0ÏÝW×Â%г¼«Ÿ¨Ã ûþZøÓïg4ï¦î¿o-üéx1=á¢÷~ãZøÓÿì�•›7¶Ã+ÜßþÍöÜì¿€FÂéÿÜk +-føù O9…tû˜ÝÜ2>Ж";/�Ǩë‹ü=Ã6˜Þ¹ñߌºÿÔ¨5ð2|ÛoGm?5*œšœsÉñnÔþS£òâxKìUt3êÿòc£nOüw[(w£þëŸÎ¬Ûžóݨÿë�½Wøü¼Ìºôû¡A™Õ—ön×Ò¿ù¡AqJ–B½ý¥ÿö‡e[½Â¾Iÿ€ +¢&ªîïÖQØ~hÐ}‡7»ßÍm¸9GË�½=†¼ý™ñ:æŸx {iá;Ÿ{Æzü?/éè÷ž/µøO\Ñ}À[žû^ö=âì9‹^µg)ÿË©Dp÷£‰ø øçÔÃ,â�º%ü/žÑE±¶à¢æÿé" +ÏZr-øC´¥®/d²Ö–ã^Š‹êžì™b¸ÕhWõ‹„ý¾öžÆ®´ÞMÄŽJøÉýøÁoQa‹Å’B8Dz‚Š7…—¸¿Öÿ¾?·f½áÆßKë¹¹¨Õ�—iµgMµ&œ¼CY5QfvéÌÇO-©Ú=v vm-´ZïDXo_9~,LÓRL`õ=µcZß"ê¾ÜãÇf˜´6{0ÂbÌšóšKúT~nußöíøÉgQÃLæxHb¨É$åYñä1¿ø-ÂÔöœ:ßµDÉZjR—kß ð¶C¤ÜUJ:<”\ö