From 3745bbebeea164445af81912ed7b733405141139 Mon Sep 17 00:00:00 2001 From: Thomas Dehaeze Date: Wed, 16 Oct 2019 11:18:06 +0200 Subject: [PATCH] Add tilt flexibility to granite --- ...-47bd-8615-9b27b505f4cb.type.Reference.xml | 2 + ...-4897-8adc-0c69dd956059.type.Reference.xml | 2 - identification/index.org | 352 +- simscape/index.html | 3075 +++++++++++++++++ simscape/index.org | 1895 ++++++++++ simscape/sim_micro_station_id.slx | Bin 0 -> 103361 bytes .../sim_micro_station_id.slx.r2018a | Bin 89948 -> 89947 bytes simscape/sim_micro_station_modal_analysis.slx | Bin 0 -> 103582 bytes .../sim_micro_station_modal_analysis_com.slx | Bin 0 -> 108901 bytes .../sim_nano_station_id.slx | Bin 10 files changed, 5323 insertions(+), 3 deletions(-) create mode 100644 .SimulinkProject/Root.type.ProjectPath/134ab644-e82f-47bd-8615-9b27b505f4cb.type.Reference.xml delete mode 100644 .SimulinkProject/Root.type.ProjectPath/36ca1734-c731-4897-8adc-0c69dd956059.type.Reference.xml create mode 100644 simscape/index.html create mode 100644 simscape/index.org create mode 100644 simscape/sim_micro_station_id.slx rename identification/sim_micro_station_id.slx => simscape/sim_micro_station_id.slx.r2018a (51%) create mode 100644 simscape/sim_micro_station_modal_analysis.slx create mode 100644 simscape/sim_micro_station_modal_analysis_com.slx rename {identification => simscape}/sim_nano_station_id.slx (100%) diff --git a/.SimulinkProject/Root.type.ProjectPath/134ab644-e82f-47bd-8615-9b27b505f4cb.type.Reference.xml b/.SimulinkProject/Root.type.ProjectPath/134ab644-e82f-47bd-8615-9b27b505f4cb.type.Reference.xml new file mode 100644 index 0000000..d2266e4 --- /dev/null +++ b/.SimulinkProject/Root.type.ProjectPath/134ab644-e82f-47bd-8615-9b27b505f4cb.type.Reference.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/.SimulinkProject/Root.type.ProjectPath/36ca1734-c731-4897-8adc-0c69dd956059.type.Reference.xml b/.SimulinkProject/Root.type.ProjectPath/36ca1734-c731-4897-8adc-0c69dd956059.type.Reference.xml deleted file mode 100644 index 5c6b9cb..0000000 --- a/.SimulinkProject/Root.type.ProjectPath/36ca1734-c731-4897-8adc-0c69dd956059.type.Reference.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/identification/index.org b/identification/index.org index 61b43a1..1d3724e 100644 --- a/identification/index.org +++ b/identification/index.org @@ -42,7 +42,7 @@ :END: * Introduction :ignore: -The goal here is to make an identification of the micro-station in order to compare the model with the measurements on the real micro-station. +The goal here is to make an identification of the *micro-station* in order to compare the model with the measurements on the real micro-station. In order to do so: - Decide where to virtually excite the station and where to measure its motion @@ -56,6 +56,356 @@ Indeed, we can define the center of mass of any solid body but not of multiple s One solution could be to use one STEP file for one solid body. However, the position of the center of mass can be exported using simulink and then defined on Simscape. +* Identification of the Micro-Station +** Introduction :ignore: + +** Matlab Init :noexport:ignore: +#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name) + <> +#+end_src + +#+begin_src matlab :exports none :results silent :noweb yes + <> +#+end_src + +#+begin_src matlab :tangle no + simulinkproject('../'); +#+end_src + +** Compute the transfer functions +We first define some parameters for the identification. +The simulink file for the identification is =sim_micro_station_id.slx=. + +#+begin_src matlab + open 'simscape/sim_micro_station_id.slx' +#+end_src + +#+begin_src matlab +%% Options for Linearized +options = linearizeOptions; +options.SampleTime = 0; + +%% Name of the Simulink File +mdl = 'sim_micro_station_id'; +#+end_src + +#+begin_src matlab +%% Micro-Hexapod +% Input/Output definition +io(1) = linio([mdl, '/Micro-Station/Fm_ext'],1,'openinput'); +io(2) = linio([mdl, '/Micro-Station/Fg_ext'],1,'openinput'); +io(3) = linio([mdl, '/Micro-Station/Dm_inertial'],1,'output'); +io(4) = linio([mdl, '/Micro-Station/Ty_inertial'],1,'output'); +io(5) = linio([mdl, '/Micro-Station/Ry_inertial'],1,'output'); +io(6) = linio([mdl, '/Micro-Station/Dg_inertial'],1,'output'); +#+end_src + +#+begin_src matlab +% Run the linearization +G_ms = linearize(mdl, io, 0); + +% Input/Output names +G_ms.InputName = {'Fmx', 'Fmy', 'Fmz',... + 'Fgx', 'Fgy', 'Fgz'}; +G_ms.OutputName = {'Dmx', 'Dmy', 'Dmz', ... + 'Tyx', 'Tyy', 'Tyz', ... + 'Ryx', 'Ryy', 'Ryz', ... + 'Dgx', 'Dgy', 'Dgz'}; +#+end_src + +#+begin_src matlab +%% Save the obtained transfer functions +save('./mat/id_micro_station.mat', 'G_ms'); +#+end_src + + +** Plots the transfer functions + +** Compare with the measurements + + +* Modal Analysis of the Micro-Station +** Matlab Init :noexport:ignore: +#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name) + <> +#+end_src + +#+begin_src matlab :exports none :results silent :noweb yes + <> +#+end_src + +#+begin_src matlab :tangle no + simulinkproject('../'); +#+end_src + +** Simscape Model +#+begin_src matlab + open 'simscape/sim_micro_station_modal_analysis.slx' +#+end_src + +#+begin_src matlab +%% Options for Linearized +options = linearizeOptions; +options.SampleTime = 0; + +%% Name of the Simulink File +mdl = 'sim_micro_station_modal_analysis'; +#+end_src + +#+begin_src matlab +%% Micro-Hexapod +% Input/Output definition +io(1) = linio([mdl, '/Micro-Station/F_hammer'],1,'openinput'); +io(2) = linio([mdl, '/Micro-Station/acc9'],1,'output'); +io(3) = linio([mdl, '/Micro-Station/acc10'],1,'output'); +io(4) = linio([mdl, '/Micro-Station/acc11'],1,'output'); +io(5) = linio([mdl, '/Micro-Station/acc12'],1,'output'); +#+end_src + +#+begin_src matlab + % Run the linearization + G_ms = linearize(mdl, io, 0); + + % Input/Output names + G_ms.InputName = {'Fx', 'Fy', 'Fz'}; + G_ms.OutputName = {'x9', 'y9', 'z9', ... + 'x10', 'y10', 'z10', ... + 'x11', 'y11', 'z11', ... + 'x12', 'y12', 'z12'}; +#+end_src + +** Plot Results +#+begin_src matlab +figure; +hold on; +plot(freqs, abs(squeeze(freqresp(G_ms('x9', 'Fx'), freqs, 'Hz')))); +set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); +ylabel('Amplitude [m/N]'); +hold off; +#+end_src + +** Compare with measurements +#+begin_src matlab + load('../meas/modal-analysis/mat/frf_coh_matrices.mat', 'FRFs', 'COHs', 'freqs'); +#+end_src + +#+begin_src matlab + dirs = {'x', 'y', 'z'}; + + n_acc = 9; + n_dir = 1; % x, y, z + n_exc = 1; % x, y, z + + figure; + hold on; + plot(freqs, abs(squeeze(FRFs(3*(n_acc-1) + n_dir, n_exc, :)))./((2*pi*freqs).^2)'); + plot(freqs, abs(squeeze(freqresp(G_ms([dirs{n_dir}, num2str(n_acc)], ['F', dirs{n_dir}]), freqs, 'Hz')))); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + ylabel('Amplitude [m/N]'); + hold off; +#+end_src + +* Compare with measurements at the CoM of each element +** Matlab Init :noexport:ignore: +#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name) + <> +#+end_src + +#+begin_src matlab :exports none :results silent :noweb yes + <> +#+end_src + +#+begin_src matlab :tangle no + simulinkproject('../'); +#+end_src + +** Init +#+begin_src matlab :results none +%% Initialize Ground +initializeGround(); + +%% Initialize Granite +initializeGranite(); + +%% Initialize Translation stage +initializeTy(); + +%% Initialize Tilt Stage +initializeRy(); + +%% Initialize Spindle +initializeRz(); + +%% Initialize Hexapod Symétrie +initializeMicroHexapod(); +#+end_src + +** Center of Mass of each solid body + +| | granite bot | granite top | ty | ry | rz | hexa | +|--------+-------------+-------------+------+------+------+------| +| X [mm] | 45 | 52 | 0 | 0 | 0 | -4 | +| Y [mm] | 144 | 258 | 14 | -5 | 0 | 6 | +| Z [mm] | -1251 | -778 | -600 | -628 | -580 | -319 | + +#+begin_src matlab + open 'simscape/sim_micro_station_modal_analysis_com.slx' +#+end_src + +** Simscape Model +#+begin_src matlab + %% Options for Linearized + options = linearizeOptions; + options.SampleTime = 0; + + %% Name of the Simulink File + mdl = 'sim_micro_station_modal_analysis_com'; +#+end_src + +#+begin_src matlab + %% Micro-Hexapod + % Input/Output definition + io(1) = linio([mdl, '/Micro-Station/F_hammer'],1,'openinput'); + io(2) = linio([mdl, '/Micro-Station/acc_gtop'],1,'output'); + io(3) = linio([mdl, '/Micro-Station/acc_ty'],1,'output'); + io(4) = linio([mdl, '/Micro-Station/acc_ry'],1,'output'); + io(5) = linio([mdl, '/Micro-Station/acc_rz'],1,'output'); + io(6) = linio([mdl, '/Micro-Station/acc_hexa'],1,'output'); +#+end_src + +#+begin_src matlab + % Run the linearization + G_ms = linearize(mdl, io, 0); + + % Input/Output names + G_ms.InputName = {'Fx', 'Fy', 'Fz'}; + G_ms.OutputName = {'gtop_x', 'gtop_y', 'gtop_z', 'gtop_rx', 'gtop_ry', 'gtop_rz', ... + 'ty_x', 'ty_y', 'ty_z', 'ty_rx', 'ty_ry', 'ty_rz', ... + 'ry_x', 'ry_y', 'ry_z', 'ry_rx', 'ry_ry', 'ry_rz', ... + 'rz_x', 'rz_y', 'rz_z', 'rz_rx', 'rz_ry', 'rz_rz', ... + 'hexa_x', 'hexa_y', 'hexa_z', 'hexa_rx', 'hexa_ry', 'hexa_rz'}; +#+end_src + +** Compare with measurements +#+begin_src matlab + load('../meas/modal-analysis/mat/frf_coh_matrices.mat', 'freqs'); + load('../meas/modal-analysis/mat/frf_com.mat', 'FRFs_CoM'); +#+end_src + +#+begin_src matlab + dirs = {'x', 'y', 'z', 'rx', 'ry', 'rz'}; + stages = {'gbot', 'gtop', 'ty', 'ry', 'rz', 'hexa'} + + n_stg = 2; + n_dir = 2; % x, y, z, Rx, Ry, Rz + n_exc = 2; % x, y, z + + f = logspace(1, 3, 1000); + + figure; + hold on; + plot(freqs, abs(squeeze(FRFs_CoM(6*(n_stg-1) + n_dir, n_exc, :)))./((2*pi*freqs).^2)'); + plot(f, abs(squeeze(freqresp(G_ms([stages{n_stg}, '_', dirs{n_dir}], ['F', dirs{n_exc}]), f, 'Hz')))); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + ylabel('Amplitude [m/N]'); + hold off; + xlim([10, 1000]); +#+end_src + +#+begin_src matlab + dirs = {'x', 'y', 'z', 'rx', 'ry', 'rz'}; + stages = {'gtop', 'ty', 'ry', 'rz', 'hexa'} + + f = logspace(1, 3, 1000); + + figure; + for n_stg = 1:2 + for n_dir = 1:3 + subplot(3, 2, (n_dir-1)*2 + n_stg); + title(['F ', dirs{n_dir}, ' to ', stages{n_stg}, ' ', dirs{n_dir}]); + hold on; + plot(freqs, abs(squeeze(FRFs_CoM(6*(n_stg) + n_dir, n_dir, :)))./((2*pi*freqs).^2)'); + plot(f, abs(squeeze(freqresp(G_ms([stages{n_stg}, '_', dirs{n_dir}], ['F', dirs{n_dir}]), f, 'Hz')))); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + ylabel('Amplitude [m/N]'); + hold off; + xlim([10, 1000]); + ylim([1e-12, 1e-6]); + end + end +#+end_src + +#+begin_src matlab + dirs = {'x', 'y', 'z', 'rx', 'ry', 'rz'}; + stages = {'ry', 'rz', 'hexa'} + + f = logspace(1, 3, 1000); + + figure; + for n_stg = 1:2 + for n_dir = 1:3 + subplot(3, 2, (n_dir-1)*2 + n_stg); + title(['F ', dirs{n_dir}, ' to ', stages{n_stg}, ' ', dirs{n_dir}]); + hold on; + plot(freqs, abs(squeeze(FRFs_CoM(6*(n_stg+2) + n_dir, n_dir, :)))./((2*pi*freqs).^2)'); + plot(f, abs(squeeze(freqresp(G_ms([stages{n_stg}, '_', dirs{n_dir}], ['F', dirs{n_dir}]), f, 'Hz')))); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + ylabel('Amplitude [m/N]'); + hold off; + xlim([10, 1000]); + ylim([1e-12, 1e-6]); + end + end +#+end_src + +#+begin_src matlab + dirs = {'x', 'y', 'z', 'rx', 'ry', 'rz'}; + stages = {'hexa'} + + f = logspace(1, 3, 1000); + + figure; + for n_stg = 1 + for n_dir = 1:3 + subplot(3, 2, (n_dir-1)*2 + n_stg); + title(['F ', dirs{n_dir}, ' to ', stages{n_stg}, ' ', dirs{n_dir}]); + hold on; + plot(freqs, abs(squeeze(FRFs_CoM(6*(n_stg+4) + n_dir, n_dir, :)))./((2*pi*freqs).^2)'); + plot(f, abs(squeeze(freqresp(G_ms([stages{n_stg}, '_', dirs{n_dir}], ['F', dirs{n_dir}]), f, 'Hz')))); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + ylabel('Amplitude [m/N]'); + hold off; + xlim([10, 1000]); + ylim([1e-12, 1e-6]); + end + end +#+end_src + +For Granite Fx to Tx/Ty/Tz/Rx/Ry/Rz +#+begin_src matlab + dirs = {'x', 'y', 'z', 'rx', 'ry', 'rz'}; + stages = {'gtop', 'ty', 'ry', 'rz', 'hexa'} + + n_stg = 2; + n_exc = 2; + + f = logspace(1, 3, 1000); + + figure; + for n_dir = 1:6 + subplot(2, 3, n_dir); + title(['F', dirs{n_exc}, ' to ', stages{n_stg}, ' ', dirs{n_dir}]); + hold on; + plot(freqs, abs(squeeze(FRFs_CoM(6*(n_stg) + n_dir, n_exc, :)))./((2*pi*freqs).^2)'); + plot(f, abs(squeeze(freqresp(G_ms([stages{n_stg}, '_', dirs{n_dir}], ['F', dirs{n_exc}]), f, 'Hz')))); + set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); + ylabel('Amplitude [m/N]'); + hold off; + xlim([10, 1000]); + ylim([1e-12, 1e-6]); + end +#+end_src + * ZIP file containing the data and matlab files :ignore: #+begin_src bash :exports none :results none if [ matlab/identification_micro_station.m -nt data/identification_micro_station.zip ]; then diff --git a/simscape/index.html b/simscape/index.html new file mode 100644 index 0000000..672cd5f --- /dev/null +++ b/simscape/index.html @@ -0,0 +1,3075 @@ + + + + + + + +Simscape Model + + + + + + + + + + + + + +
+ UP + | + HOME +
+

Simscape Model

+ + +

+This file is used to explain how this Simscape Model works. +

+
    +
  • In section 1, the simulink project with the associated scripts are presented
  • +
  • In section 2, an introduction to Simscape Multibody is done
  • +
  • In section 3, each simscape files are presented with the associated signal names and joint architectures
  • +
  • In section 4, the list of the Simulink library elements are described
  • +
  • In section 5, the scripts used for the simulations (initialization for instance) are described
  • +
  • In section 6, a list of Matlab function that will be used are defined here
  • +
  • In section 7, all the functions that are used to initialize the Simscape Multibody elements are defined here. This includes the mass of all solids for instance.
  • +
+ +
+

1 Simulink Project - Startup and Shutdown scripts

+
+

+ +

+ +

+From the Simulink project mathworks page: +

+
+

+Simulink® and Simulink Projects provide a collaborative, scalable environment that enables teams to manage their files and data in one place. +

+ +

+With Simulink Projects, you can: +

+
    +
  • Collaborate: Enforce companywide standards such as company tools, libraries, and standard startup and shutdown scripts. Share your work with rich sharing options including MATLAB® toolboxes, email, and archives.
  • +
  • Automate: Set up your project environment correctly every time by automating steps such as loading the data, managing the path, and opening the models.
  • +
  • Integrate with source control: Enable easy integration with source control and configuration management tools.
  • +
+
+ +

+The project can be opened using the simulinkproject function: +

+ +
+
simulinkproject('./');
+
+
+ +

+When the project opens, a startup script is ran. +The startup script is defined below and is exported to the project_startup.m script. +

+
+
freqs = logspace(-1, 3, 1000);
+save_fig = false;
+save('./mat/config.mat', 'freqs', 'save_fig');
+
+project = simulinkproject;
+projectRoot = project.RootFolder;
+
+myCacheFolder = fullfile(projectRoot, '.SimulinkCache');
+myCodeFolder = fullfile(projectRoot, '.SimulinkCode');
+
+Simulink.fileGenControl('set',...
+    'CacheFolder', myCacheFolder,...
+    'CodeGenFolder', myCodeFolder,...
+    'createDir', true);
+
+
+ +

+When the project closes, it runs the project_shutdown.m script defined below. +

+
+
Simulink.fileGenControl('reset');
+
+
+ +

+The project also permits to automatically add defined folder to the path when the project is opened. +

+
+
+ +
+

2 Simscape Multibody - Presentation

+
+

+ +

+ +

+A simscape model permits to model multi-physics systems. +

+ +

+Simscape Multibody permits to model multibody systems using blocks representing bodies, joints, constraints, force elements, and sensors. +

+
+ +
+

2.1 Solid bodies

+
+

+Each solid body is represented by a solid block. +The geometry of the solid body can be imported using a step file. The properties of the solid body such as its mass, center of mass and moment of inertia can be derived from its density and its geometry as defined by the step file. They also can be set by hand. +

+
+
+ +
+

2.2 Frames

+
+

+Frames are very important in simscape multibody, they defined where the forces are applied, where the joints are located and where the measurements are made. +

+ +

+They can be defined from the solid body geometry, or using the rigid transform block. +

+
+
+ +
+

2.3 Joints

+
+

+Solid Bodies are connected with joints (between frames of the two solid bodies). +

+ +

+There are various types of joints that are all described here. +

+ + + + +++ ++ ++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1: Degrees of freedom associated with each joint
Joint BlockTranslational DOFsRotational DOFs
6-DOF33
Bearing13
Bushing33
Cartesian30
Constant Velocity02
Cylindrical11
Gimbal03
Leadscrew1 (coupled)1 (coupled)
Pin Slot11
Planar21
Prismatic10
Rectangular20
Revolute01
Spherical13
Telescoping13
Universal02
Weld00
+ +

+Joint blocks are assortments of joint primitives: +

+
    +
  • Prismatic: allows translation along a single standard axis: Px, Py, Pz
  • +
  • Revolute: allows rotation about a single standard axis: Rx, Ry, Rz
  • +
  • Spherical: allow rotation about any 3D axis: S
  • +
  • Lead Screw: allows coupled rotation and translation on a standard axis: LSz
  • +
  • Constant Velocity: Allows rotation at constant velocity between intersection through arbitrarily aligned shafts: CV
  • +
+ + + + +++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 2: Joint primitives for each joint type
Joint BlockPxPyPzRxRyRzSCVLSz
6-DOFxxx   x  
Bearing  xxxx   
Bushingxxxxxx   
Cartesianxxx      
Constant Velocity       x 
Cylindrical  x  x   
Gimbal   xxx   
Leadscrew        x
Pin Slotx    x   
Planarxx   x   
Prismatic  x      
Rectangularxx       
Revolute     x   
Spherical      x  
Telescoping  x   x  
Universal   xx    
Weld         
+ +

+For each of the joint primitive, we can specify the dynamical properties: +

+
    +
  • The spring stiffness: either linear or rotational one
  • +
  • The damping coefficient
  • +
+ +

+For the actuation, we can either specify the motion or the force: +

+
    +
  • the force applied in the corresponding DOF is provided by the input
  • +
  • the motion is provided by the input
  • +
+ +

+A sensor can be added to measure either the position, velocity or acceleration of the joint DOF. +

+ +

+Composite Force/Torque sensing: +

+
    +
  • Constraint force
  • +
  • Total force: gives the sum across all joint primitives over all sources: actuation inputs, internal springs and dampers.
  • +
+
+
+ +
+

2.4 Measurements

+
+

+A transform sensor block measures the spatial relationship between two frames: the base B and the follower F. +

+ +

+It can give the rotational and translational position, velocity and acceleration. +

+ +

+The measurement frame should be specified: it corresponds to the frame in which to resolve the selected spatial measurements. The default is world. +

+ +

+If we want to simulate an inertial sensor, we just have to choose B to be the world frame. +

+ +

+Force sensors are included in the joints blocks. +

+
+
+ +
+

2.5 Excitation

+
+

+We can apply external forces to the model by using an external force and torque block. +

+ +

+Internal force, acting reciprocally between base and following origins is implemented using the internal force block even though it is usually included in one joint block. +

+
+
+
+ +
+

3 Simulink files and signal names

+
+

+ +

+ +

+In order to "normalize" things, the names of all the signal are listed here. +

+
+ +
+

3.1 List of Simscape files

+
+

+Few different Simulink files are used: +

+
    +
  • kinematics
  • +
  • identification - micro station
  • +
  • identification - nano station
  • +
  • control
  • +
+ + + + +++ ++ ++ ++ ++ ++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 3: List of simscape files
Simscape NameTyRyRzHexaNASS
id micro stationFFFF 
id nano station stagesFFFFF
id nano station configDDDDF
control nano stationDDDDF
+
+
+ +
+

3.2 List of Inputs

+
+
+
+

3.2.1 Perturbations

+
+ + + +++ ++ ++ ++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 4: List of Disturbances
VariableMeaningSizeUnit
DwGround motion3[m]
FgExternal force applied on granite3[N]
FsExternal force applied on the Sample3[N]
+
+
+ +
+

3.2.2 Measurement Noise

+
+ + + +++ ++ ++ ++ + + + + + + + + + + + + + + + + +
Table 5: List of Measurement Noise
VariableMeaningSizeUnit
    
+
+
+ +
+

3.2.3 Control Inputs

+
+ + + +++ ++ ++ ++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 6: List of Control Inputs
VariableMeaningSizeUnit
FyActuation force for Ty1[N]
DyImposed displacement for Ty1[m]
MyActuation torque for Ry1[N.m]
RyImposed rotation for Ry1[rad]
MzActuation torque for Rz1[N.m]
RzImposed rotation for Rz1[rad]
FhActuation force/torque for hexapod (cart)6[N, N.m]
FhlActuation force/torque for hexapod (legs)6[N]
DhImposed position for hexapod (cart)6[m, rad]
RmPosition of the two masses2[rad]
FnActuation force for the NASS (cart)6[N, N.m]
FnlActuation force for the NASS's legs6[N]
DnImposed position for the NASS (cart)6[m, rad]
+
+
+
+ +
+

3.3 List of Outputs

+
+ + + +++ ++ ++ ++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 7: List of Outputs
VariableMeaningSizeUnit
DgmAbsolute displacement of the granite3[m]
VgmAbsolute Velocity of the granite3[m/s]
DymMeasured displacement of Ty1[m]
RymMeasured rotation of Ry1[rad]
RzmMeasured rotation of Rz1[rad]
DhmMeasured position of hexapod (cart)6[m, rad]
FnlmMeasured force of NASS's legs6[N]
DnlmMeasured elongation of NASS's legs6[m]
DnmMeasured position of NASS w.r.t NASS's base6[m, rad]
VnmMeasured absolute velocity of NASS platform6[m/s, rad/s]
VnlmMeasured absolute velocity of NASS's legs6[m/s]
DsmPosition of Sample w.r.t. granite frame6[m, rad]
+
+
+
+ +
+

4 Simulink Library

+
+

+ +

+ +

+A simulink library is developed in order to share elements between the different simulink files. +

+
+ +
+

4.1 inputs

+
+

+inputs.slx +

+
+
+ +
+

4.2 nass_library

+ +
+ +
+

4.3 pos_error_wrt_nass_base

+ +
+ +
+

4.4 QuaternionToAngles

+ +
+ +
+

4.5 RotationMatrixToAngle

+ +
+
+ +
+

5 Scripts

+
+

+ +

+
+ +
+

5.1 Simulation Initialization

+
+

+ +

+ +

+This Matlab script is accessible here. +

+ +

+This script runs just before the simulation is started. +It is used to load the simulation configuration and the controllers used for the simulation. +

+ +
+
%% Load all the data used for the simulation
+load('sim_conf.mat');
+
+%% Load Controller
+load('controllers.mat');
+
+
+
+
+
+ +
+

6 Functions

+
+

+ +

+
+ +
+

6.1 computePsdDispl

+
+

+ +

+ +

+This Matlab function is accessible here. +

+ +
+
function [psd_object] = computePsdDispl(sys_data, t_init, n_av)
+    i_init = find(sys_data.time > t_init, 1);
+
+    han_win = hanning(ceil(length(sys_data.Dx(i_init:end, :))/n_av));
+    Fs = 1/sys_data.time(2);
+
+    [pdx, f] = pwelch(sys_data.Dx(i_init:end, :), han_win, [], [], Fs);
+    [pdy, ~] = pwelch(sys_data.Dy(i_init:end, :), han_win, [], [], Fs);
+    [pdz, ~] = pwelch(sys_data.Dz(i_init:end, :), han_win, [], [], Fs);
+
+    [prx, ~] = pwelch(sys_data.Rx(i_init:end, :), han_win, [], [], Fs);
+    [pry, ~] = pwelch(sys_data.Ry(i_init:end, :), han_win, [], [], Fs);
+    [prz, ~] = pwelch(sys_data.Rz(i_init:end, :), han_win, [], [], Fs);
+
+    psd_object = struct(...
+        'f',  f,   ...
+        'dx', pdx, ...
+        'dy', pdy, ...
+        'dz', pdz, ...
+        'rx', prx, ...
+        'ry', pry, ...
+        'rz', prz);
+end
+
+
+
+
+ +
+

6.2 computeSetpoint

+
+

+ +

+ +

+This Matlab function is accessible here. +

+ +
+
function setpoint = computeSetpoint(ty, ry, rz)
+%%
+setpoint = zeros(6, 1);
+
+%% Ty
+Ty = [1 0 0 0  ;
+      0 1 0 ty ;
+      0 0 1 0  ;
+      0 0 0 1 ];
+
+% Tyinv = [1 0 0  0  ;
+%          0 1 0 -ty ;
+%          0 0 1  0  ;
+%          0 0 0  1 ];
+
+%% Ry
+Ry = [ cos(ry) 0 sin(ry) 0 ;
+      0       1 0       0 ;
+      -sin(ry) 0 cos(ry) 0 ;
+      0        0 0       1 ];
+
+% TMry = Ty*Ry*Tyinv;
+
+%% Rz
+Rz = [cos(rz) -sin(rz) 0 0 ;
+      sin(rz)  cos(rz) 0 0 ;
+      0        0       1 0 ;
+      0        0       0 1 ];
+
+% TMrz = Ty*TMry*Rz*TMry'*Tyinv;
+
+%% All stages
+% TM = TMrz*TMry*Ty;
+
+TM = Ty*Ry*Rz;
+
+[thetax, thetay, thetaz] = RM2angle(TM(1:3, 1:3));
+
+setpoint(1:3) = TM(1:3, 4);
+setpoint(4:6) = [thetax, thetay, thetaz];
+
+%% Custom Functions
+function [thetax, thetay, thetaz] = RM2angle(R)
+    if abs(abs(R(3, 1)) - 1) > 1e-6 % R31 != 1 and R31 != -1
+        thetay = -asin(R(3, 1));
+        thetax = atan2(R(3, 2)/cos(thetay), R(3, 3)/cos(thetay));
+        thetaz = atan2(R(2, 1)/cos(thetay), R(1, 1)/cos(thetay));
+    else
+        thetaz = 0;
+        if abs(R(3, 1)+1) < 1e-6 % R31 = -1
+            thetay = pi/2;
+            thetax = thetaz + atan2(R(1, 2), R(1, 3));
+        else
+            thetay = -pi/2;
+            thetax = -thetaz + atan2(-R(1, 2), -R(1, 3));
+        end
+    end
+end
+end
+
+
+
+
+ +
+

6.3 converErrorBasis

+
+

+ +

+ +

+This Matlab function is accessible here. +

+ +
+
function error_nass = convertErrorBasis(pos, setpoint, ty, ry, rz)
+% convertErrorBasis -
+%
+% Syntax: convertErrorBasis(p_error, ty, ry, rz)
+%
+% Inputs:
+%    - p_error - Position error of the sample w.r.t. the granite [m, rad]
+%    - ty - Measured translation of the Ty stage [m]
+%    - ry - Measured rotation of the Ry stage [rad]
+%    - rz - Measured rotation of the Rz stage [rad]
+%
+% Outputs:
+%    - P_nass - Position error of the sample w.r.t. the NASS base [m]
+%    - R_nass - Rotation error of the sample w.r.t. the NASS base [rad]
+%
+% Example:
+%
+
+%% If line vector => column vector
+if size(pos, 2) == 6
+    pos = pos';
+end
+
+if size(setpoint, 2) == 6
+    setpoint = setpoint';
+end
+
+%% Position of the sample in the frame fixed to the Granite
+P_granite = [pos(1:3); 1]; % Position [m]
+R_granite = [setpoint(1:3); 1]; % Reference [m]
+
+%% Transformation matrices of the stages
+% T-y
+TMty = [1 0 0 0  ;
+        0 1 0 ty ;
+        0 0 1 0  ;
+        0 0 0 1 ];
+
+% R-y
+TMry = [ cos(ry) 0 sin(ry) 0 ;
+        0       1 0       0 ;
+        -sin(ry) 0 cos(ry) 0 ;
+        0        0 0       1 ];
+
+% R-z
+TMrz = [cos(rz) -sin(rz) 0 0 ;
+        sin(rz)  cos(rz) 0 0 ;
+        0        0       1 0 ;
+        0        0       0 1 ];
+
+%% Compute Point coordinates in the new reference fixed to the NASS base
+% P_nass = TMrz*TMry*TMty*P_granite;
+P_nass = TMrz\TMry\TMty\P_granite;
+R_nass = TMrz\TMry\TMty\R_granite;
+
+dx = R_nass(1)-P_nass(1);
+dy = R_nass(2)-P_nass(2);
+dz = R_nass(3)-P_nass(3);
+
+%% Compute new basis vectors linked to the NASS base
+% ux_nass = TMrz*TMry*TMty*[1; 0; 0; 0];
+% ux_nass = ux_nass(1:3);
+% uy_nass = TMrz*TMry*TMty*[0; 1; 0; 0];
+% uy_nass = uy_nass(1:3);
+% uz_nass = TMrz*TMry*TMty*[0; 0; 1; 0];
+% uz_nass = uz_nass(1:3);
+
+ux_nass = TMrz\TMry\TMty\[1; 0; 0; 0];
+ux_nass = ux_nass(1:3);
+uy_nass = TMrz\TMry\TMty\[0; 1; 0; 0];
+uy_nass = uy_nass(1:3);
+uz_nass = TMrz\TMry\TMty\[0; 0; 1; 0];
+uz_nass = uz_nass(1:3);
+
+%% Rotations error w.r.t. granite Frame
+% Rotations error w.r.t. granite Frame
+rx_nass = pos(4);
+ry_nass = pos(5);
+rz_nass = pos(6);
+
+% Rotation matrices of the Sample w.r.t. the Granite
+Mrx_error = [1 0              0 ;
+            0 cos(-rx_nass) -sin(-rx_nass) ;
+            0 sin(-rx_nass)  cos(-rx_nass)];
+
+Mry_error = [ cos(-ry_nass) 0 sin(-ry_nass) ;
+              0             1 0 ;
+            -sin(-ry_nass) 0 cos(-ry_nass)];
+
+Mrz_error = [cos(-rz_nass) -sin(-rz_nass) 0 ;
+            sin(-rz_nass)  cos(-rz_nass) 0 ;
+            0              0             1];
+
+% Rotation matrix of the Sample w.r.t. the Granite
+Mr_error = Mrz_error*Mry_error*Mrx_error;
+
+%% Use matrix to solve
+R = Mr_error/[ux_nass, uy_nass, uz_nass]; % Rotation matrix from NASS base to Sample
+
+[thetax, thetay, thetaz] = RM2angle(R);
+
+error_nass = [dx; dy; dz; thetax; thetay; thetaz];
+
+%% Custom Functions
+function [thetax, thetay, thetaz] = RM2angle(R)
+    if abs(abs(R(3, 1)) - 1) > 1e-6 % R31 != 1 and R31 != -1
+        thetay = -asin(R(3, 1));
+        % thetaybis = pi-thetay;
+        thetax = atan2(R(3, 2)/cos(thetay), R(3, 3)/cos(thetay));
+        % thetaxbis = atan2(R(3, 2)/cos(thetaybis), R(3, 3)/cos(thetaybis));
+        thetaz = atan2(R(2, 1)/cos(thetay), R(1, 1)/cos(thetay));
+        % thetazbis = atan2(R(2, 1)/cos(thetaybis), R(1, 1)/cos(thetaybis));
+    else
+        thetaz = 0;
+        if abs(R(3, 1)+1) < 1e-6 % R31 = -1
+            thetay = pi/2;
+            thetax = thetaz + atan2(R(1, 2), R(1, 3));
+        else
+            thetay = -pi/2;
+            thetax = -thetaz + atan2(-R(1, 2), -R(1, 3));
+        end
+    end
+end
+
+end
+
+
+
+
+ +
+

6.4 generateDiagPidControl

+
+

+ +

+ +

+This Matlab function is accessible here. +

+ +
+
function [K] = generateDiagPidControl(G, fs)
+    %%
+    pid_opts = pidtuneOptions(...
+        'PhaseMargin', 50, ...
+        'DesignFocus', 'disturbance-rejection');
+
+    %%
+    K = tf(zeros(6));
+
+    for i = 1:6
+        input_name = G.InputName(i);
+        output_name = G.OutputName(i);
+        K(i, i) = tf(pidtune(minreal(G(output_name, input_name)), 'PIDF', 2*pi*fs, pid_opts));
+    end
+
+    K.InputName = G.OutputName;
+    K.OutputName = G.InputName;
+end
+
+
+
+
+
+

6.5 identifyPlant

+
+

+ +

+ +

+This Matlab function is accessible here. +

+ +
+
function [sys] = identifyPlant(opts_param)
+    %% Default values for opts
+    opts = struct();
+
+    %% Populate opts with input parameters
+    if exist('opts_param','var')
+        for opt = fieldnames(opts_param)'
+            opts.(opt{1}) = opts_param.(opt{1});
+        end
+    end
+
+    %% Options for Linearized
+    options = linearizeOptions;
+    options.SampleTime = 0;
+
+    %% Name of the Simulink File
+    mdl = 'sim_nano_station_id';
+
+    %% Input/Output definition
+    io(1) = linio([mdl, '/Fn'],   1, 'input'); % Cartesian forces applied by NASS
+    io(2) = linio([mdl, '/Dw'],   1, 'input'); % Ground Motion
+    io(3) = linio([mdl, '/Fs'],   1, 'input'); % External forces on the sample
+    io(4) = linio([mdl, '/Fnl'],  1, 'input'); % Forces applied on the NASS's legs
+    io(5) = linio([mdl, '/Dsm'],  1, 'output'); % Displacement of the sample
+    io(6) = linio([mdl, '/Fnlm'], 1, 'output'); % Force sensor in NASS's legs
+    io(7) = linio([mdl, '/Dnlm'], 1, 'output'); % Displacement of NASS's legs
+    io(8) = linio([mdl, '/Es'],   1, 'output'); % Position Error w.r.t. NASS base
+
+    %% Run the linearization
+    G = linearize(mdl, io, 0);
+    G.InputName  = {'Fnx', 'Fny', 'Fnz', 'Mnx', 'Mny', 'Mnz', ...
+                    'Dgx', 'Dgy', 'Dgz', ...
+                    'Fsx', 'Fsy', 'Fsz', 'Msx', 'Msy', 'Msz', ...
+                    'F1', 'F2', 'F3', 'F4', 'F5', 'F6'};
+    G.OutputName = {'Dx', 'Dy', 'Dz', 'Rx', 'Ry', 'Rz', ...
+                    'Fm1', 'Fm2', 'Fm3', 'Fm4', 'Fm5', 'Fm6', ...
+                    'Dm1', 'Dm2', 'Dm3', 'Dm4', 'Dm5', 'Dm6', ...
+                    'Edx', 'Rdy', 'Edz', 'Erx', 'Ery', 'Erz'};
+
+    %% Create the sub transfer functions
+    % From forces applied in the cartesian frame to displacement of the sample in the cartesian frame
+    sys.G_cart = minreal(G({'Dx', 'Dy', 'Dz', 'Rx', 'Ry', 'Rz'}, {'Fnx', 'Fny', 'Fnz', 'Mnx', 'Mny', 'Mnz'}));
+    % From ground motion to Sample displacement
+    sys.G_gm   = minreal(G({'Dx', 'Dy', 'Dz', 'Rx', 'Ry', 'Rz'}, {'Dgx', 'Dgy', 'Dgz'}));
+    % From direct forces applied on the sample to displacement of the sample
+    sys.G_fs   = minreal(G({'Dx', 'Dy', 'Dz', 'Rx', 'Ry', 'Rz'}, {'Fsx', 'Fsy', 'Fsz', 'Msx', 'Msy', 'Msz'}));
+    % From forces applied on NASS's legs to force sensor in each leg
+    sys.G_iff  = minreal(G({'Fm1', 'Fm2', 'Fm3', 'Fm4', 'Fm5', 'Fm6'}, {'F1', 'F2', 'F3', 'F4', 'F5', 'F6'}));
+    % From forces applied on NASS's legs to displacement of each leg
+    sys.G_dleg = minreal(G({'Dm1', 'Dm2', 'Dm3', 'Dm4', 'Dm5', 'Dm6'}, {'F1', 'F2', 'F3', 'F4', 'F5', 'F6'}));
+    % From forces applied on NASS's legs to displacement of each leg
+    sys.G_plant = minreal(G({'Edx', 'Rdy', 'Edz', 'Erx', 'Ery', 'Erz'}, {'Fnx', 'Fny', 'Fnz', 'Mnx', 'Mny', 'Mnz'}));
+end
+
+
+
+
+
+

6.6 runSimulation

+
+

+ +

+ +

+This Matlab function is accessible here. +

+ +
+
function [] = runSimulation(sys_name, sys_mass, ctrl_type, act_damp)
+    %% Load the controller and save it for the simulation
+    if strcmp(ctrl_type, 'cl') && strcmp(act_damp, 'none')
+      K_obj = load('./mat/K_fb.mat');
+      K = K_obj.(sprintf('K_%s_%s', sys_mass, sys_name)); %#ok
+      save('./mat/controllers.mat', 'K');
+    elseif strcmp(ctrl_type, 'cl') && strcmp(act_damp, 'iff')
+      K_obj = load('./mat/K_fb_iff.mat');
+      K = K_obj.(sprintf('K_%s_%s_iff', sys_mass, sys_name)); %#ok
+      save('./mat/controllers.mat', 'K');
+    elseif strcmp(ctrl_type, 'ol')
+      K = tf(zeros(6)); %#ok
+      save('./mat/controllers.mat', 'K');
+    else
+      error('ctrl_type should be cl or ol');
+    end
+
+    %% Active Damping
+    if strcmp(act_damp, 'iff')
+      K_iff_crit = load('./mat/K_iff_crit.mat');
+      K_iff = K_iff_crit.(sprintf('K_iff_%s_%s', sys_mass, sys_name)); %#ok
+      save('./mat/controllers.mat', 'K_iff', '-append');
+    elseif strcmp(act_damp, 'none')
+      K_iff = tf(zeros(6)); %#ok
+      save('./mat/controllers.mat', 'K_iff', '-append');
+    end
+
+    %%
+    if strcmp(sys_name, 'pz')
+      initializeNanoHexapod(struct('actuator', 'piezo'));
+    elseif strcmp(sys_name, 'vc')
+      initializeNanoHexapod(struct('actuator', 'lorentz'));
+    else
+      error('sys_name should be pz or vc');
+    end
+
+    if strcmp(sys_mass, 'light')
+      initializeSample(struct('mass', 1));
+    elseif strcmp(sys_mass, 'heavy')
+      initializeSample(struct('mass', 50));
+    else
+      error('sys_mass should be light or heavy');
+    end
+
+    %% Run the simulation
+    sim('sim_nano_station_ctrl.slx');
+
+    %% Split the Dsample matrix into vectors
+    [Dx, Dy, Dz, Rx, Ry, Rz] = matSplit(Es.Data, 1); %#ok
+    time = Dsample.Time; %#ok
+
+    %% Save the result
+    filename = sprintf('sim_%s_%s_%s_%s', sys_mass, sys_name, ctrl_type, act_damp);
+    save(sprintf('./mat/%s.mat', filename), ...
+        'time', 'Dx', 'Dy', 'Dz', 'Rx', 'Ry', 'Rz', 'K');
+end
+
+
+
+
+
+
+

7 Initialize Elements

+
+

+ +

+
+
+

7.1 Simulation Configuration

+
+

+ +

+ +

+This Matlab function is accessible here. +

+ +
+
function [] = initializeSimConf(opts_param)
+    %% Default values for opts
+    opts = struct('Ts',      1e-4,  ... % Sampling time [s]
+                  'Tsim',    10,    ... % Simulation time [s]
+                  'cl_time', 0,     ... % Close Loop time [s]
+                  'gravity', false  ... % Gravity along the z axis
+    );
+
+    %% Populate opts with input parameters
+    if exist('opts_param','var')
+        for opt = fieldnames(opts_param)'
+            opts.(opt{1}) = opts_param.(opt{1});
+        end
+    end
+
+    %%
+    sim_conf = struct();
+
+    %%
+    sim_conf.Ts = opts.Ts;
+    sim_conf.Tsim = opts.Tsim;
+    sim_conf.cl_time = opts.cl_time;
+
+    %% Gravity
+    if opts.gravity
+        sim_conf.g = -9.8; %#ok
+    else
+        sim_conf.g = 0; %#ok
+    end
+
+    %% Save
+    save('./mat/sim_conf.mat', 'sim_conf');
+end
+
+
+
+
+ +
+

7.2 Experiment

+
+

+ +

+ +

+This Matlab function is accessible here. +

+ +
+
function [] = initializeExperiment(exp_name, sys_mass)
+    if strcmp(exp_name, 'tomography')
+        opts_sim = struct(...
+            'Tsim',    5, ...
+            'cl_time', 5  ...
+        );
+        initializeSimConf(opts_sim);
+
+        if strcmp(sys_mass, 'light')
+            opts_inputs = struct(...
+                'Dw', true,  ...
+                'Rz', 60     ... % rpm
+            );
+        elseif strcpm(sys_mass, 'heavy')
+            opts_inputs = struct(...
+                'Dw', true,  ...
+                'Rz', 1     ... % rpm
+            );
+        else
+            error('sys_mass should be light or heavy');
+        end
+
+        initializeInputs(opts_inputs);
+    else
+        error('exp_name is only configured for tomography');
+    end
+end
+
+
+
+
+ +
+

7.3 Inputs

+
+

+ +

+ +

+This Matlab function is accessible here. +

+ +
+
function [inputs] = initializeInputs(opts_param)
+    %% Default values for opts
+    opts = struct(   ...
+        'Dw', false, ...
+        'Dy', false, ...
+        'Ry', false, ...
+        'Rz', false, ...
+        'Dh', false, ...
+        'Rm', false, ...
+        'Dn', false  ...
+    );
+
+    %% Populate opts with input parameters
+    if exist('opts_param','var')
+        for opt = fieldnames(opts_param)'
+            opts.(opt{1}) = opts_param.(opt{1});
+        end
+    end
+
+    %% Load Sampling Time and Simulation Time
+    load('./mat/sim_conf.mat', 'sim_conf');
+
+    %% Define the time vector
+    t = 0:sim_conf.Ts:sim_conf.Tsim;
+
+    %% Ground motion - Dw
+    if islogical(opts.Dw) && opts.Dw == true
+        load('./mat/perturbations.mat', 'Wxg');
+        Dw = 1/sqrt(2)*100*random('norm', 0, 1, length(t), 3);
+        Dw(:, 1) = lsim(Wxg, Dw(:, 1), t);
+        Dw(:, 2) = lsim(Wxg, Dw(:, 2), t);
+        Dw(:, 3) = lsim(Wxg, Dw(:, 3), t);
+    elseif islogical(opts.Dw) && opts.Dw == false
+        Dw = zeros(length(t), 3);
+    else
+        Dw = opts.Dw;
+    end
+
+    %% Translation stage - Dy
+    if islogical(opts.Dy) && opts.Dy == true
+        Dy = zeros(length(t), 1);
+    elseif islogical(opts.Dy) && opts.Dy == false
+        Dy = zeros(length(t), 1);
+    else
+        Dy = opts.Dy;
+    end
+
+    %% Tilt Stage - Ry
+    if islogical(opts.Ry) && opts.Ry == true
+        Ry = 3*(2*pi/360)*sin(2*pi*0.2*t);
+    elseif islogical(opts.Ry) && opts.Ry == false
+        Ry = zeros(length(t), 1);
+    elseif isnumeric(opts.Ry) && length(opts.Ry) == 1
+        Ry = opts.Ry*(2*pi/360)*ones(length(t), 1);
+    else
+        Ry = opts.Ry;
+    end
+
+    %% Spindle - Rz
+    if islogical(opts.Rz) && opts.Rz == true
+        Rz = 2*pi*0.5*t;
+    elseif islogical(opts.Rz) && opts.Rz == false
+        Rz = zeros(length(t), 1);
+    elseif isnumeric(opts.Rz) && length(opts.Rz) == 1
+        Rz = opts.Rz*(2*pi/60)*t;
+    else
+        Rz = opts.Rz;
+    end
+
+    %% Micro Hexapod - Dh
+    if islogical(opts.Dh) && opts.Dh == true
+        Dh = zeros(length(t), 6);
+    elseif islogical(opts.Dh) && opts.Dh == false
+        Dh = zeros(length(t), 6);
+    else
+        Dh = opts.Dh;
+    end
+
+    %% Axis Compensation - Rm
+    if islogical(opts.Rm)
+        Rm = zeros(length(t), 2);
+        Rm(:, 2) = pi*ones(length(t), 1);
+    else
+        Rm = opts.Rm;
+    end
+
+    %% Nano Hexapod - Dn
+    if islogical(opts.Dn) && opts.Dn == true
+        Dn = zeros(length(t), 6);
+    elseif islogical(opts.Dn) && opts.Dn == false
+        Dn = zeros(length(t), 6);
+    else
+        Dn = opts.Dn;
+    end
+
+    %% Setpoint - Ds
+    Ds = zeros(length(t), 6);
+    for i = 1:length(t)
+        Ds(i, :) = computeSetpoint(Dy(i), Ry(i), Rz(i));
+    end
+
+    %% External Forces applied on the Granite
+    Fg = zeros(length(t), 3);
+
+    %% External Forces applied on the Sample
+    Fs = zeros(length(t), 6);
+
+    %% Create the input Structure that will contain all the inputs
+    inputs = struct( ...
+        'Ts', sim_conf.Ts,       ...
+        'Dw', timeseries(Dw, t), ...
+        'Dy', timeseries(Dy, t), ...
+        'Ry', timeseries(Ry, t), ...
+        'Rz', timeseries(Rz, t), ...
+        'Dh', timeseries(Dh, t), ...
+        'Rm', timeseries(Rm, t), ...
+        'Dn', timeseries(Dn, t), ...
+        'Ds', timeseries(Ds, t), ...
+        'Fg', timeseries(Fg, t), ...
+        'Fs', timeseries(Fs, t)  ...
+    );
+
+    %% Save
+    save('./mat/inputs.mat', 'inputs');
+
+    %% Custom Functions
+    function setpoint = computeSetpoint(ty, ry, rz)
+    %%
+    setpoint = zeros(6, 1);
+
+    %% Ty
+    TMTy = [1 0 0 0  ;
+          0 1 0 ty ;
+          0 0 1 0  ;
+          0 0 0 1 ];
+
+    %% Ry
+    TMRy = [ cos(ry) 0 sin(ry) 0 ;
+          0       1 0       0 ;
+          -sin(ry) 0 cos(ry) 0 ;
+          0        0 0       1 ];
+
+    %% Rz
+    TMRz = [cos(rz) -sin(rz) 0 0 ;
+          sin(rz)  cos(rz) 0 0 ;
+          0        0       1 0 ;
+          0        0       0 1 ];
+
+    %% All stages
+    TM = TMTy*TMRy*TMRz;
+
+    [thetax, thetay, thetaz] = RM2angle(TM(1:3, 1:3));
+
+    setpoint(1:3) = TM(1:3, 4);
+    setpoint(4:6) = [thetax, thetay, thetaz];
+
+    %% Custom Functions
+    function [thetax, thetay, thetaz] = RM2angle(R)
+        if abs(abs(R(3, 1)) - 1) > 1e-6 % R31 != 1 and R31 != -1
+            thetay = -asin(R(3, 1));
+            thetax = atan2(R(3, 2)/cos(thetay), R(3, 3)/cos(thetay));
+            thetaz = atan2(R(2, 1)/cos(thetay), R(1, 1)/cos(thetay));
+        else
+            thetaz = 0;
+            if abs(R(3, 1)+1) < 1e-6 % R31 = -1
+                thetay = pi/2;
+                thetax = thetaz + atan2(R(1, 2), R(1, 3));
+            else
+                thetay = -pi/2;
+                thetax = -thetaz + atan2(-R(1, 2), -R(1, 3));
+            end
+        end
+    end
+    end
+end
+
+
+
+
+ +
+

7.4 Ground

+
+

+ +

+ +

+This Matlab function is accessible here. +

+ +
+
function [ground] = initializeGround()
+    %%
+    ground = struct();
+
+    ground.shape = [2, 2, 0.5]; % [m]
+    ground.density = 2800; % [kg/m3]
+    ground.color = [0.5, 0.5, 0.5];
+
+    %% Save
+    save('./mat/stages.mat', 'ground', '-append');
+end
+
+
+
+
+ +
+

7.5 Granite

+
+

+ +

+ +

+This Matlab function is accessible here. +

+ +
+
function [granite] = initializeGranite()
+    %%
+    granite = struct();
+
+    %% Static Properties
+    granite.density = 2800; % [kg/m3]
+    granite.volume  = 0.72; % [m3] TODO - should
+    granite.mass    = granite.density*granite.volume; % [kg]
+    granite.color   = [1 1 1];
+    granite.STEP    = './STEPS/granite/granite.STEP';
+
+    %% Dynamical Properties
+    granite.k.x = 1e8; % [N/m]
+    granite.c.x = 1e4; % [N/(m/s)]
+
+    granite.k.y = 1e8; % [N/m]
+    granite.c.y = 1e4; % [N/(m/s)]
+
+    granite.k.z = 1e8; % [N/m]
+    granite.c.z = 1e4; % [N/(m/s)]
+
+    %% Positioning parameters
+    granite.sample_pos = 0.8; % Z-offset for the initial position of the sample [m]
+
+    %% Save
+    save('./mat/stages.mat', 'granite', '-append');
+end
+
+
+
+
+ +
+

7.6 Translation Stage

+
+

+ +

+ +

+This Matlab function is accessible here. +

+ +
+
function [ty] = initializeTy(opts_param)
+    %% Default values for opts
+    opts = struct('rigid', false);
+
+    %% Populate opts with input parameters
+    if exist('opts_param','var')
+        for opt = fieldnames(opts_param)'
+            opts.(opt{1}) = opts_param.(opt{1});
+        end
+    end
+
+    %%
+    ty = struct();
+
+    %% Y-Translation - Static Properties
+    % Ty Granite frame
+    ty.granite_frame.density = 7800; % [kg/m3]
+    ty.granite_frame.color   = [0.753 1 0.753];
+    ty.granite_frame.STEP    = './STEPS/Ty/Ty_Granite_Frame.STEP';
+    % Guide Translation Ty
+    ty.guide.density         = 7800; % [kg/m3]
+    ty.guide.color           = [0.792 0.820 0.933];
+    ty.guide.STEP            = './STEPS/ty/Ty_Guide.STEP';
+    % Ty - Guide_Translation12
+    ty.guide12.density       = 7800; % [kg/m3]
+    ty.guide12.color         = [0.792 0.820 0.933];
+    ty.guide12.STEP          = './STEPS/Ty/Ty_Guide_12.STEP';
+    % Ty - Guide_Translation11
+    ty.guide11.density       = 7800; % [kg/m3]
+    ty.guide11.color         = [0.792 0.820 0.933];
+    ty.guide11.STEP          = './STEPS/ty/Ty_Guide_11.STEP';
+    % Ty - Guide_Translation22
+    ty.guide22.density       = 7800; % [kg/m3]
+    ty.guide22.color         = [0.792 0.820 0.933];
+    ty.guide22.STEP          = './STEPS/ty/Ty_Guide_22.STEP';
+    % Ty - Guide_Translation21
+    ty.guide21.density       = 7800; % [kg/m3]
+    ty.guide21.color         = [0.792 0.820 0.933];
+    ty.guide21.STEP          = './STEPS/Ty/Ty_Guide_21.STEP';
+    % Ty - Plateau translation
+    ty.frame.density         = 7800; % [kg/m3]
+    ty.frame.color           = [0.792 0.820 0.933];
+    ty.frame.STEP            = './STEPS/ty/Ty_Stage.STEP';
+    % Ty Stator Part
+    ty.stator.density        = 5400; % [kg/m3]
+    ty.stator.color          = [0.792 0.820 0.933];
+    ty.stator.STEP           = './STEPS/ty/Ty_Motor_Stator.STEP';
+    % Ty Rotor Part
+    ty.rotor.density         = 5400; % [kg/m3]
+    ty.rotor.color           = [0.792 0.820 0.933];
+    ty.rotor.STEP            = './STEPS/ty/Ty_Motor_Rotor.STEP';
+
+    ty.m = 250; % TODO [kg]
+
+    %% Y-Translation - Dynamicals Properties
+    if opts.rigid
+        ty.k.ax  = 1e10; % Axial Stiffness for each of the 4 guidance (y) [N/m]
+    else
+        ty.k.ax  = 1e7/4; % Axial Stiffness for each of the 4 guidance (y) [N/m]
+    end
+    ty.k.rad = 9e9/4; % Radial Stiffness for each of the 4 guidance (x-z) [N/m]
+
+    ty.c.ax  = 100*(1/5)*sqrt(ty.k.ax/ty.m);
+    ty.c.rad = 100*(1/5)*sqrt(ty.k.rad/ty.m);
+
+    %% Save
+    save('./mat/stages.mat', 'ty', '-append');
+end
+
+
+
+
+ +
+

7.7 Tilt Stage

+
+

+ +

+ +

+This Matlab function is accessible here. +

+ +
+
function [ry] = initializeRy(opts_param)
+    %% Default values for opts
+    opts = struct('rigid', false);
+
+    %% Populate opts with input parameters
+    if exist('opts_param','var')
+        for opt = fieldnames(opts_param)'
+            opts.(opt{1}) = opts_param.(opt{1});
+        end
+    end
+
+    %%
+    ry = struct();
+
+    %% Tilt Stage - Static Properties
+    % Ry - Guide for the tilt stage
+    ry.guide.density = 7800; % [kg/m3]
+    ry.guide.color   = [0.792 0.820 0.933];
+    ry.guide.STEP    = './STEPS/ry/Tilt_Guide.STEP';
+    % Ry - Rotor of the motor
+    ry.rotor.density = 2400; % [kg/m3]
+    ry.rotor.color   = [0.792 0.820 0.933];
+    ry.rotor.STEP    = './STEPS/ry/Tilt_Motor_Axis.STEP';
+    % Ry - Motor
+    ry.motor.density = 3200; % [kg/m3]
+    ry.motor.color   = [0.792 0.820 0.933];
+    ry.motor.STEP    = './STEPS/ry/Tilt_Motor.STEP';
+    % Ry - Plateau Tilt
+    ry.stage.density = 7800; % [kg/m3]
+    ry.stage.color   = [0.792 0.820 0.933];
+    ry.stage.STEP    = './STEPS/ry/Tilt_Stage.STEP';
+
+    ry.m = 200; % TODO [kg]
+
+    %% Tilt Stage - Dynamical Properties
+    if opts.rigid
+        ry.k.tilt = 1e10; % Rotation stiffness around y [N*m/deg]
+    else
+        ry.k.tilt = 1e4; % Rotation stiffness around y [N*m/deg]
+    end
+
+    ry.k.h    = 357e6/4; % Stiffness in the direction of the guidance [N/m]
+    ry.k.rad  = 555e6/4; % Stiffness in the top direction [N/m]
+    ry.k.rrad = 238e6/4; % Stiffness in the side direction [N/m]
+
+    ry.c.h    = 10*(1/5)*sqrt(ry.k.h/ry.m);
+    ry.c.rad  = 10*(1/5)*sqrt(ry.k.rad/ry.m);
+    ry.c.rrad = 10*(1/5)*sqrt(ry.k.rrad/ry.m);
+    ry.c.tilt = 10*(1/1)*sqrt(ry.k.tilt/ry.m);
+
+    %% Positioning parameters
+    ry.z_offset = 0.58178; % Z-Offset so that the center of rotation matches the sample center [m]
+
+    %% Save
+    save('./mat/stages.mat', 'ry', '-append');
+end
+
+
+
+
+ +
+

7.8 Spindle

+
+

+ +

+ +

+This Matlab function is accessible here. +

+ +
+
function [rz] = initializeRz(opts_param)
+    %% Default values for opts
+    opts = struct('rigid', false);
+
+    %% Populate opts with input parameters
+    if exist('opts_param','var')
+        for opt = fieldnames(opts_param)'
+            opts.(opt{1}) = opts_param.(opt{1});
+        end
+    end
+
+    %%
+    rz = struct();
+
+    %% Spindle - Static Properties
+    % Spindle - Slip Ring
+    rz.slipring.density = 7800; % [kg/m3]
+    rz.slipring.color   = [0.792 0.820 0.933];
+    rz.slipring.STEP    = './STEPS/rz/Spindle_Slip_Ring.STEP';
+    % Spindle - Rotor
+    rz.rotor.density    = 7800; % [kg/m3]
+    rz.rotor.color      = [0.792 0.820 0.933];
+    rz.rotor.STEP       = './STEPS/rz/Spindle_Rotor.STEP';
+    % Spindle - Stator
+    rz.stator.density   = 7800; % [kg/m3]
+    rz.stator.color     = [0.792 0.820 0.933];
+    rz.stator.STEP      = './STEPS/rz/Spindle_Stator.STEP';
+
+    % Estimated mass of the mooving part
+    rz.m = 250; % [kg]
+
+    %% Spindle - Dynamical Properties
+    % Estimated stiffnesses
+    rz.k.ax   = 2e9; % Axial Stiffness [N/m]
+    rz.k.rad  = 7e8; % Radial Stiffness [N/m]
+    rz.k.rot  = 100e6*2*pi/360; % Rotational Stiffness [N*m/deg]
+
+    if opts.rigid
+        rz.k.tilt = 1e10; % Vertical Rotational Stiffness [N*m/deg]
+    else
+        rz.k.tilt = 1e2; % TODO what value should I put? [N*m/deg]
+    end
+
+    % TODO
+    rz.c.ax   = 2*sqrt(rz.k.ax/rz.m);
+    rz.c.rad  = 2*sqrt(rz.k.rad/rz.m);
+    rz.c.tilt = 100*sqrt(rz.k.tilt/rz.m);
+    rz.c.rot  = 100*sqrt(rz.k.rot/rz.m);
+
+    %% Save
+    save('./mat/stages.mat', 'rz', '-append');
+end
+
+
+
+
+ +
+

7.9 Micro Hexapod

+
+

+ +

+ +

+This Matlab function is accessible here. +

+ +
+
function [micro_hexapod] = initializeMicroHexapod(opts_param)
+    %% Default values for opts
+    opts = struct();
+
+    %% Populate opts with input parameters
+    if exist('opts_param','var')
+        for opt = fieldnames(opts_param)'
+            opts.(opt{1}) = opts_param.(opt{1});
+        end
+    end
+
+    %% Stewart Object
+    micro_hexapod = struct();
+    micro_hexapod.h        = 350; % Total height of the platform [mm]
+%     micro_hexapod.jacobian = 269.26; % Distance from the top platform to the Jacobian point [mm]
+    micro_hexapod.jacobian = 270; % Distance from the top platform to the Jacobian point [mm]
+
+    %% Bottom Plate - Mechanical Design
+    BP = struct();
+
+    BP.rad.int   = 110;   % Internal Radius [mm]
+    BP.rad.ext   = 207.5; % External Radius [mm]
+    BP.thickness = 26;    % Thickness [mm]
+    BP.leg.rad   = 175.5; % Radius where the legs articulations are positionned [mm]
+    BP.leg.ang   = 9.5;   % Angle Offset [deg]
+    BP.density   = 8000;  % Density of the material [kg/m^3]
+    BP.color     = [0.6 0.6 0.6]; % Color [rgb]
+    BP.shape     = [BP.rad.int BP.thickness; BP.rad.int 0; BP.rad.ext 0; BP.rad.ext BP.thickness];
+
+    %% Top Plate - Mechanical Design
+    TP = struct();
+
+    TP.rad.int   = 82;   % Internal Radius [mm]
+    TP.rad.ext   = 150;  % Internal Radius [mm]
+    TP.thickness = 26;   % Thickness [mm]
+    TP.leg.rad   = 118;  % Radius where the legs articulations are positionned [mm]
+    TP.leg.ang   = 12.1; % Angle Offset [deg]
+    TP.density   = 8000; % Density of the material [kg/m^3]
+    TP.color     = [0.6 0.6 0.6]; % Color [rgb]
+    TP.shape     = [TP.rad.int TP.thickness; TP.rad.int 0; TP.rad.ext 0; TP.rad.ext TP.thickness];
+
+    %% Struts
+    Leg = struct();
+
+    Leg.stroke     = 10e-3; % Maximum Stroke of each leg [m]
+    Leg.k.ax       = 5e7;   % Stiffness of each leg [N/m]
+    Leg.ksi.ax     = 3;     % Maximum amplification at resonance []
+    Leg.rad.bottom = 25;    % Radius of the cylinder of the bottom part [mm]
+    Leg.rad.top    = 17;    % Radius of the cylinder of the top part [mm]
+    Leg.density    = 8000;  % Density of the material [kg/m^3]
+    Leg.color.bottom  = [0.5 0.5 0.5]; % Color [rgb]
+    Leg.color.top     = [0.5 0.5 0.5]; % Color [rgb]
+
+    Leg.sphere.bottom = Leg.rad.bottom; % Size of the sphere at the end of the leg [mm]
+    Leg.sphere.top    = Leg.rad.top; % Size of the sphere at the end of the leg [mm]
+    Leg.m             = TP.density*((pi*(TP.rad.ext/1000)^2)*(TP.thickness/1000)-(pi*(TP.rad.int/1000^2))*(TP.thickness/1000))/6; % TODO [kg]
+    Leg = updateDamping(Leg);
+
+
+    %% Sphere
+    SP = struct();
+
+    SP.height.bottom  = 27; % [mm]
+    SP.height.top     = 27; % [mm]
+    SP.density.bottom = 8000; % [kg/m^3]
+    SP.density.top    = 8000; % [kg/m^3]
+    SP.color.bottom   = [0.6 0.6 0.6]; % [rgb]
+    SP.color.top      = [0.6 0.6 0.6]; % [rgb]
+    SP.k.ax           = 0; % [N*m/deg]
+    SP.ksi.ax         = 10;
+
+    SP.thickness.bottom = SP.height.bottom-Leg.sphere.bottom; % [mm]
+    SP.thickness.top    = SP.height.top-Leg.sphere.top; % [mm]
+    SP.rad.bottom       = Leg.sphere.bottom; % [mm]
+    SP.rad.top          = Leg.sphere.top; % [mm]
+    SP.m                = SP.density.bottom*2*pi*((SP.rad.bottom*1e-3)^2)*(SP.height.bottom*1e-3); % TODO [kg]
+
+    SP = updateDamping(SP);
+
+    %%
+    Leg.support.bottom = [0 SP.thickness.bottom; 0 0; SP.rad.bottom 0; SP.rad.bottom SP.height.bottom];
+    Leg.support.top    = [0 SP.thickness.top; 0 0; SP.rad.top 0; SP.rad.top SP.height.top];
+
+    %%
+    micro_hexapod.BP = BP;
+    micro_hexapod.TP = TP;
+    micro_hexapod.Leg = Leg;
+    micro_hexapod.SP = SP;
+
+    %%
+    micro_hexapod = initializeParameters(micro_hexapod);
+
+    %% Save
+    save('./mat/stages.mat', 'micro_hexapod', '-append');
+
+    %%
+    function [element] = updateDamping(element)
+        field = fieldnames(element.k);
+        for i = 1:length(field)
+            element.c.(field{i}) = 1/element.ksi.(field{i})*sqrt(element.k.(field{i})/element.m);
+        end
+    end
+
+    %%
+    function [stewart] = initializeParameters(stewart)
+        %% Connection points on base and top plate w.r.t. World frame at the center of the base plate
+        stewart.pos_base = zeros(6, 3);
+        stewart.pos_top = zeros(6, 3);
+
+        alpha_b = stewart.BP.leg.ang*pi/180; % angle de décalage par rapport à 120 deg (pour positionner les supports bases)
+        alpha_t = stewart.TP.leg.ang*pi/180; % +- offset angle from 120 degree spacing on top
+
+        height = (stewart.h-stewart.BP.thickness-stewart.TP.thickness-stewart.Leg.sphere.bottom-stewart.Leg.sphere.top-stewart.SP.thickness.bottom-stewart.SP.thickness.top)*0.001; % TODO
+
+        radius_b = stewart.BP.leg.rad*0.001; % rayon emplacement support base
+        radius_t = stewart.TP.leg.rad*0.001; % top radius in meters
+
+        for i = 1:3
+          % base points
+          angle_m_b = (2*pi/3)* (i-1) - alpha_b;
+          angle_p_b = (2*pi/3)* (i-1) + alpha_b;
+          stewart.pos_base(2*i-1,:) =  [radius_b*cos(angle_m_b), radius_b*sin(angle_m_b), 0.0];
+          stewart.pos_base(2*i,:) = [radius_b*cos(angle_p_b), radius_b*sin(angle_p_b), 0.0];
+
+          % top points
+          % Top points are 60 degrees offset
+          angle_m_t = (2*pi/3)* (i-1) - alpha_t + 2*pi/6;
+          angle_p_t = (2*pi/3)* (i-1) + alpha_t + 2*pi/6;
+          stewart.pos_top(2*i-1,:) = [radius_t*cos(angle_m_t), radius_t*sin(angle_m_t), height];
+          stewart.pos_top(2*i,:) = [radius_t*cos(angle_p_t), radius_t*sin(angle_p_t), height];
+        end
+
+        % permute pos_top points so that legs are end points of base and top points
+        stewart.pos_top = [stewart.pos_top(6,:); stewart.pos_top(1:5,:)]; %6th point on top connects to 1st on bottom
+        stewart.pos_top_tranform = stewart.pos_top - height*[zeros(6, 2),ones(6, 1)];
+
+        %% leg vectors
+        legs = stewart.pos_top - stewart.pos_base;
+        leg_length = zeros(6, 1);
+        leg_vectors = zeros(6, 3);
+        for i = 1:6
+          leg_length(i) = norm(legs(i,:));
+          leg_vectors(i,:)  = legs(i,:) / leg_length(i);
+        end
+
+        stewart.Leg.lenght = 1000*leg_length(1)/1.5;
+        stewart.Leg.shape.bot = [0 0; ...
+                                stewart.Leg.rad.bottom 0; ...
+                                stewart.Leg.rad.bottom stewart.Leg.lenght; ...
+                                stewart.Leg.rad.top stewart.Leg.lenght; ...
+                                stewart.Leg.rad.top 0.2*stewart.Leg.lenght; ...
+                                0 0.2*stewart.Leg.lenght];
+
+        %% Calculate revolute and cylindrical axes
+        rev1 = zeros(6, 3);
+        rev2 = zeros(6, 3);
+        cyl1 = zeros(6, 3);
+        for i = 1:6
+          rev1(i,:) = cross(leg_vectors(i,:), [0 0 1]);
+          rev1(i,:) = rev1(i,:) / norm(rev1(i,:));
+
+          rev2(i,:) = - cross(rev1(i,:), leg_vectors(i,:));
+          rev2(i,:) = rev2(i,:) / norm(rev2(i,:));
+
+          cyl1(i,:) = leg_vectors(i,:);
+        end
+
+
+        %% Coordinate systems
+        stewart.lower_leg = struct('rotation', eye(3));
+        stewart.upper_leg = struct('rotation', eye(3));
+
+        for i = 1:6
+          stewart.lower_leg(i).rotation = [rev1(i,:)', rev2(i,:)', cyl1(i,:)'];
+          stewart.upper_leg(i).rotation = [rev1(i,:)', rev2(i,:)', cyl1(i,:)'];
+        end
+
+        %% Position Matrix
+        stewart.M_pos_base = stewart.pos_base + (height+(stewart.TP.thickness+stewart.Leg.sphere.top+stewart.SP.thickness.top+stewart.jacobian)*1e-3)*[zeros(6, 2),ones(6, 1)];
+
+        %% Compute Jacobian Matrix
+        aa = stewart.pos_top_tranform + (stewart.jacobian - stewart.TP.thickness - stewart.SP.height.top)*1e-3*[zeros(6, 2),ones(6, 1)];
+        stewart.J  = getJacobianMatrix(leg_vectors', aa');
+    end
+
+    function J  = getJacobianMatrix(RM,M_pos_base)
+        % RM: [3x6] unit vector of each leg in the fixed frame
+        % M_pos_base: [3x6] vector of the leg connection at the top platform location in the fixed frame
+        J = zeros(6);
+        J(:, 1:3) = RM';
+        J(:, 4:6) = cross(M_pos_base, RM)';
+    end
+end
+
+
+
+
+ +
+

7.10 Center of gravity compensation

+
+

+ +

+ +

+This Matlab function is accessible here. +

+ +
+
function [axisc] = initializeAxisc()
+    %%
+    axisc = struct();
+
+    %% Axis Compensator - Static Properties
+    % Structure
+    axisc.structure.density = 3400; % [kg/m3]
+    axisc.structure.color   = [0.792 0.820 0.933];
+    axisc.structure.STEP    = './STEPS/axisc/axisc_structure.STEP';
+    % Wheel
+    axisc.wheel.density     = 2700; % [kg/m3]
+    axisc.wheel.color       = [0.753 0.753 0.753];
+    axisc.wheel.STEP        = './STEPS/axisc/axisc_wheel.STEP';
+    % Mass
+    axisc.mass.density      = 7800; % [kg/m3]
+    axisc.mass.color        = [0.792 0.820 0.933];
+    axisc.mass.STEP         = './STEPS/axisc/axisc_mass.STEP';
+    % Gear
+    axisc.gear.density      = 7800; % [kg/m3]
+    axisc.gear.color        = [0.792 0.820 0.933];
+    axisc.gear.STEP         = './STEPS/axisc/axisc_gear.STEP';
+
+    axisc.m      = 40; % TODO [kg]
+
+    %% Axis Compensator - Dynamical Properties
+    axisc.k.ax   = 1; % TODO [N*m/deg)]
+    axisc.c.ax   = (1/1)*sqrt(axisc.k.ax/axisc.m);
+
+    %% Save
+    save('./mat/stages.mat', 'axisc', '-append');
+end
+
+
+
+
+
+

7.11 Mirror

+
+

+ +

+ +

+This Matlab function is accessible here. +

+ +
+
function [] = initializeMirror(opts_param)
+    %% Default values for opts
+    opts = struct(...
+        'shape', 'spherical', ... % spherical or conical
+        'angle', 45 ...
+    );
+
+    %% Populate opts with input parameters
+    if exist('opts_param','var')
+        for opt = fieldnames(opts_param)'
+            opts.(opt{1}) = opts_param.(opt{1});
+        end
+    end
+
+    %%
+    mirror = struct();
+    mirror.h = 50; % height of the mirror [mm]
+    mirror.thickness = 25; % Thickness of the plate supporting the sample [mm]
+    mirror.hole_rad = 120; % radius of the hole in the mirror [mm]
+    mirror.support_rad = 100; % radius of the support plate [mm]
+    mirror.jacobian = 150; % point of interest offset in z (above the top surfave) [mm]
+    mirror.rad = 180; % radius of the mirror (at the bottom surface) [mm]
+
+    mirror.density = 2400; % Density of the mirror [kg/m3]
+    mirror.color = [0.4 1.0 1.0]; % Color of the mirror
+
+    mirror.cone_length = mirror.rad*tand(opts.angle)+mirror.h+mirror.jacobian; % Distance from Apex point of the cone to jacobian point
+
+    %% Shape
+    mirror.shape = [...
+        0 mirror.h-mirror.thickness
+        mirror.hole_rad mirror.h-mirror.thickness; ...
+        mirror.hole_rad 0; ...
+        mirror.rad 0 ...
+    ];
+
+    if strcmp(opts.shape, 'spherical')
+        mirror.sphere_radius = sqrt((mirror.jacobian+mirror.h)^2+mirror.rad^2); % Radius of the sphere [mm]
+
+        for z = linspace(0, mirror.h, 101)
+            mirror.shape = [mirror.shape; sqrt(mirror.sphere_radius^2-(z-mirror.jacobian-mirror.h)^2) z];
+        end
+    elseif strcmp(opts.shape, 'conical')
+        mirror.shape = [mirror.shape; mirror.rad+mirror.h/tand(opts.angle) mirror.h];
+    else
+        error('Shape should be either conical or spherical');
+    end
+
+    mirror.shape = [mirror.shape; 0 mirror.h];
+
+    %% Save
+    save('./mat/stages.mat', 'mirror', '-append');
+end
+
+
+
+
+ +
+

7.12 Nano Hexapod

+
+

+ +

+ +

+This Matlab function is accessible here. +

+ +
+
function [nano_hexapod] = initializeNanoHexapod(opts_param)
+    %% Default values for opts
+    opts = struct('actuator', 'piezo');
+
+    %% Populate opts with input parameters
+    if exist('opts_param','var')
+        for opt = fieldnames(opts_param)'
+            opts.(opt{1}) = opts_param.(opt{1});
+        end
+    end
+
+    %% Stewart Object
+    nano_hexapod = struct();
+    nano_hexapod.h        = 90;  % Total height of the platform [mm]
+    nano_hexapod.jacobian = 175; % Point where the Jacobian is computed => Center of rotation [mm]
+%     nano_hexapod.jacobian = 174.26; % Point where the Jacobian is computed => Center of rotation [mm]
+
+    %% Bottom Plate
+    BP = struct();
+
+    BP.rad.int   = 0;   % Internal Radius [mm]
+    BP.rad.ext   = 150; % External Radius [mm]
+    BP.thickness = 10;  % Thickness [mm]
+    BP.leg.rad   = 100; % Radius where the legs articulations are positionned [mm]
+    BP.leg.ang   = 5;   % Angle Offset [deg]
+    BP.density   = 8000;% Density of the material [kg/m^3]
+    BP.color     = [0.7 0.7 0.7]; % Color [rgb]
+    BP.shape     = [BP.rad.int BP.thickness; BP.rad.int 0; BP.rad.ext 0; BP.rad.ext BP.thickness];
+
+    %% Top Plate
+    TP = struct();
+
+    TP.rad.int   = 0;   % Internal Radius [mm]
+    TP.rad.ext   = 100; % Internal Radius [mm]
+    TP.thickness = 10;  % Thickness [mm]
+    TP.leg.rad   = 90;  % Radius where the legs articulations are positionned [mm]
+    TP.leg.ang   = 5;   % Angle Offset [deg]
+    TP.density   = 8000;% Density of the material [kg/m^3]
+    TP.color     = [0.7 0.7 0.7]; % Color [rgb]
+    TP.shape     = [TP.rad.int TP.thickness; TP.rad.int 0; TP.rad.ext 0; TP.rad.ext TP.thickness];
+
+    %% Leg
+    Leg = struct();
+
+    Leg.stroke     = 80e-6; % Maximum Stroke of each leg [m]
+    if strcmp(opts.actuator, 'piezo')
+        Leg.k.ax   = 1e7;   % Stiffness of each leg [N/m]
+    elseif strcmp(opts.actuator, 'lorentz')
+        Leg.k.ax   = 1e4;   % Stiffness of each leg [N/m]
+    else
+        error('opts.actuator should be piezo or lorentz');
+    end
+    Leg.ksi.ax     = 10;    % Maximum amplification at resonance []
+    Leg.rad.bottom = 12;    % Radius of the cylinder of the bottom part [mm]
+    Leg.rad.top    = 10;    % Radius of the cylinder of the top part [mm]
+    Leg.density    = 8000;  % Density of the material [kg/m^3]
+    Leg.color.bottom  = [0.5 0.5 0.5]; % Color [rgb]
+    Leg.color.top     = [0.5 0.5 0.5]; % Color [rgb]
+
+    Leg.sphere.bottom = Leg.rad.bottom; % Size of the sphere at the end of the leg [mm]
+    Leg.sphere.top    = Leg.rad.top; % Size of the sphere at the end of the leg [mm]
+    Leg.m             = TP.density*((pi*(TP.rad.ext/1000)^2)*(TP.thickness/1000)-(pi*(TP.rad.int/1000^2))*(TP.thickness/1000))/6; % TODO [kg]
+
+    Leg = updateDamping(Leg);
+
+
+    %% Sphere
+    SP = struct();
+
+    SP.height.bottom  = 15; % [mm]
+    SP.height.top     = 15; % [mm]
+    SP.density.bottom = 8000; % [kg/m^3]
+    SP.density.top    = 8000; % [kg/m^3]
+    SP.color.bottom   = [0.7 0.7 0.7]; % [rgb]
+    SP.color.top      = [0.7 0.7 0.7]; % [rgb]
+    SP.k.ax           = 0; % [N*m/deg]
+    SP.ksi.ax         = 3;
+
+    SP.thickness.bottom = SP.height.bottom-Leg.sphere.bottom; % [mm]
+    SP.thickness.top    = SP.height.top-Leg.sphere.top; % [mm]
+    SP.rad.bottom       = Leg.sphere.bottom; % [mm]
+    SP.rad.top          = Leg.sphere.top; % [mm]
+    SP.m                = SP.density.bottom*2*pi*((SP.rad.bottom*1e-3)^2)*(SP.height.bottom*1e-3); % TODO [kg]
+
+    SP = updateDamping(SP);
+
+    %%
+    Leg.support.bottom = [0 SP.thickness.bottom; 0 0; SP.rad.bottom 0; SP.rad.bottom SP.height.bottom];
+    Leg.support.top    = [0 SP.thickness.top; 0 0; SP.rad.top 0; SP.rad.top SP.height.top];
+
+    %%
+    nano_hexapod.BP = BP;
+    nano_hexapod.TP = TP;
+    nano_hexapod.Leg = Leg;
+    nano_hexapod.SP = SP;
+
+    %%
+    nano_hexapod = initializeParameters(nano_hexapod);
+
+    %% Save
+    save('./mat/stages.mat', 'nano_hexapod', '-append');
+
+    %%
+    function [element] = updateDamping(element)
+        field = fieldnames(element.k);
+        for i = 1:length(field)
+            element.c.(field{i}) = 1/element.ksi.(field{i})*sqrt(element.k.(field{i})/element.m);
+        end
+    end
+
+    %%
+    function [stewart] = initializeParameters(stewart)
+        %% Connection points on base and top plate w.r.t. World frame at the center of the base plate
+        stewart.pos_base = zeros(6, 3);
+        stewart.pos_top = zeros(6, 3);
+
+        alpha_b = stewart.BP.leg.ang*pi/180; % angle de décalage par rapport à 120 deg (pour positionner les supports bases)
+        alpha_t = stewart.TP.leg.ang*pi/180; % +- offset angle from 120 degree spacing on top
+
+        height = (stewart.h-stewart.BP.thickness-stewart.TP.thickness-stewart.Leg.sphere.bottom-stewart.Leg.sphere.top-stewart.SP.thickness.bottom-stewart.SP.thickness.top)*0.001; % TODO
+
+        radius_b = stewart.BP.leg.rad*0.001; % rayon emplacement support base
+        radius_t = stewart.TP.leg.rad*0.001; % top radius in meters
+
+        for i = 1:3
+          % base points
+          angle_m_b = (2*pi/3)* (i-1) - alpha_b;
+          angle_p_b = (2*pi/3)* (i-1) + alpha_b;
+          stewart.pos_base(2*i-1,:) =  [radius_b*cos(angle_m_b), radius_b*sin(angle_m_b), 0.0];
+          stewart.pos_base(2*i,:) = [radius_b*cos(angle_p_b), radius_b*sin(angle_p_b), 0.0];
+
+          % top points
+          % Top points are 60 degrees offset
+          angle_m_t = (2*pi/3)* (i-1) - alpha_t + 2*pi/6;
+          angle_p_t = (2*pi/3)* (i-1) + alpha_t + 2*pi/6;
+          stewart.pos_top(2*i-1,:) = [radius_t*cos(angle_m_t), radius_t*sin(angle_m_t), height];
+          stewart.pos_top(2*i,:) = [radius_t*cos(angle_p_t), radius_t*sin(angle_p_t), height];
+        end
+
+        % permute pos_top points so that legs are end points of base and top points
+        stewart.pos_top = [stewart.pos_top(6,:); stewart.pos_top(1:5,:)]; %6th point on top connects to 1st on bottom
+        stewart.pos_top_tranform = stewart.pos_top - height*[zeros(6, 2),ones(6, 1)];
+
+        %% leg vectors
+        legs = stewart.pos_top - stewart.pos_base;
+        leg_length = zeros(6, 1);
+        leg_vectors = zeros(6, 3);
+        for i = 1:6
+          leg_length(i) = norm(legs(i,:));
+          leg_vectors(i,:)  = legs(i,:) / leg_length(i);
+        end
+
+        stewart.Leg.lenght = 1000*leg_length(1)/1.5;
+        stewart.Leg.shape.bot = [0 0; ...
+                                stewart.Leg.rad.bottom 0; ...
+                                stewart.Leg.rad.bottom stewart.Leg.lenght; ...
+                                stewart.Leg.rad.top stewart.Leg.lenght; ...
+                                stewart.Leg.rad.top 0.2*stewart.Leg.lenght; ...
+                                0 0.2*stewart.Leg.lenght];
+
+        %% Calculate revolute and cylindrical axes
+        rev1 = zeros(6, 3);
+        rev2 = zeros(6, 3);
+        cyl1 = zeros(6, 3);
+        for i = 1:6
+          rev1(i,:) = cross(leg_vectors(i,:), [0 0 1]);
+          rev1(i,:) = rev1(i,:) / norm(rev1(i,:));
+
+          rev2(i,:) = - cross(rev1(i,:), leg_vectors(i,:));
+          rev2(i,:) = rev2(i,:) / norm(rev2(i,:));
+
+          cyl1(i,:) = leg_vectors(i,:);
+        end
+
+
+        %% Coordinate systems
+        stewart.lower_leg = struct('rotation', eye(3));
+        stewart.upper_leg = struct('rotation', eye(3));
+
+        for i = 1:6
+          stewart.lower_leg(i).rotation = [rev1(i,:)', rev2(i,:)', cyl1(i,:)'];
+          stewart.upper_leg(i).rotation = [rev1(i,:)', rev2(i,:)', cyl1(i,:)'];
+        end
+
+        %% Position Matrix
+        stewart.M_pos_base = stewart.pos_base + (height+(stewart.TP.thickness+stewart.Leg.sphere.top+stewart.SP.thickness.top+stewart.jacobian)*1e-3)*[zeros(6, 2),ones(6, 1)];
+
+        %% Compute Jacobian Matrix
+        aa = stewart.pos_top_tranform + (stewart.jacobian - stewart.TP.thickness - stewart.SP.height.top)*1e-3*[zeros(6, 2),ones(6, 1)];
+        stewart.J  = getJacobianMatrix(leg_vectors', aa');
+    end
+
+    function J  = getJacobianMatrix(RM,M_pos_base)
+        % RM: [3x6] unit vector of each leg in the fixed frame
+        % M_pos_base: [3x6] vector of the leg connection at the top platform location in the fixed frame
+        J = zeros(6);
+        J(:, 1:3) = RM';
+        J(:, 4:6) = cross(M_pos_base, RM)';
+    end
+end
+
+
+
+
+ +
+

7.13 Sample

+
+

+ +

+ +

+This Matlab function is accessible here. +

+ +
+
function [sample] = initializeSample(opts_param)
+    %% Default values for opts
+    sample = struct('radius', 100, ...
+                    'height', 300, ...
+                    'mass',   50,  ...
+                    'offset', 0,   ...
+                    'color',  [0.45, 0.45, 0.45] ...
+    );
+
+    %% Populate opts with input parameters
+    if exist('opts_param','var')
+        for opt = fieldnames(opts_param)'
+            sample.(opt{1}) = opts_param.(opt{1});
+        end
+    end
+
+    %%
+    sample.k.x = 1e8;
+    sample.c.x = sqrt(sample.k.x*sample.mass)/10;
+
+    sample.k.y = 1e8;
+    sample.c.y = sqrt(sample.k.y*sample.mass)/10;
+
+    sample.k.z = 1e8;
+    sample.c.z = sqrt(sample.k.y*sample.mass)/10;
+
+    %% Save
+    save('./mat/stages.mat', 'sample', '-append');
+end
+
+
+
+
+
+
+
+

Author: Dehaeze Thomas

+

Created: 2019-10-15 mar. 09:28

+

Validate

+
+ + diff --git a/simscape/index.org b/simscape/index.org new file mode 100644 index 0000000..6ecb903 --- /dev/null +++ b/simscape/index.org @@ -0,0 +1,1895 @@ +#+TITLE: Simscape Model +:DRAWER: +#+STARTUP: overview + +#+LANGUAGE: en +#+EMAIL: dehaeze.thomas@gmail.com +#+AUTHOR: Dehaeze Thomas + +#+HTML_LINK_HOME: ../index.html +#+HTML_LINK_UP: ../index.html + +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: + +#+HTML_MATHJAX: align: center tagside: right font: TeX + +#+PROPERTY: header-args:matlab :session *MATLAB* +#+PROPERTY: header-args:matlab+ :comments org +#+PROPERTY: header-args:matlab+ :results none +#+PROPERTY: header-args:matlab+ :exports both +#+PROPERTY: header-args:matlab+ :eval no-export +#+PROPERTY: header-args:matlab+ :output-dir figs +#+PROPERTY: header-args:matlab+ :tangle matlab/modal_frf_coh.m +#+PROPERTY: header-args:matlab+ :mkdirp yes + +#+PROPERTY: header-args:shell :eval no-export + +#+PROPERTY: header-args:latex :headers '("\\usepackage{tikz}" "\\usepackage{import}" "\\import{$HOME/Cloud/thesis/latex/}{config.tex}") +#+PROPERTY: header-args:latex+ :imagemagick t :fit yes +#+PROPERTY: header-args:latex+ :iminoptions -scale 100% -density 150 +#+PROPERTY: header-args:latex+ :imoutoptions -quality 100 +#+PROPERTY: header-args:latex+ :results raw replace :buffer no +#+PROPERTY: header-args:latex+ :eval no-export +#+PROPERTY: header-args:latex+ :exports both +#+PROPERTY: header-args:latex+ :mkdirp yes +#+PROPERTY: header-args:latex+ :output-dir figs +:END: + +* Introduction :ignore: +This file is used to explain how this Simscape Model works. +- In section [[sec:simulink_project]], the simulink project with the associated scripts are presented +- In section [[sec:simscape_model]], an introduction to Simscape Multibody is done +- In section [[sec:simulink_files_signal_names]], each simscape files are presented with the associated signal names and joint architectures +- In section [[sec:simulink_library]], the list of the Simulink library elements are described +- In section [[sec:scripts]], the scripts used for the simulations (initialization for instance) are described +- In section [[sec:functions]], a list of Matlab function that will be used are defined here +- In section [[sec:initialize_elements]], all the functions that are used to initialize the Simscape Multibody elements are defined here. This includes the mass of all solids for instance. + +* Matlab Init :noexport:ignore: +#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name) + <> +#+end_src + +#+begin_src matlab :exports none :results silent :noweb yes + <> +#+end_src + +#+begin_src matlab + cd('../'); +#+end_src + +* Simulink Project - Startup and Shutdown scripts +<> + +From the [[https://mathworks.com/products/simulink/projects.html][Simulink project]] mathworks page: +#+begin_quote + Simulink® and Simulink Projects provide a collaborative, scalable environment that enables teams to manage their files and data in one place. + + With Simulink Projects, you can: + - *Collaborate*: Enforce companywide standards such as company tools, libraries, and standard startup and shutdown scripts. Share your work with rich sharing options including MATLAB® toolboxes, email, and archives. + - *Automate*: Set up your project environment correctly every time by automating steps such as loading the data, managing the path, and opening the models. + - *Integrate with source control*: Enable easy integration with source control and configuration management tools. +#+end_quote + +The project can be opened using the =simulinkproject= function: + +#+begin_src matlab + simulinkproject('./'); +#+end_src + +When the project opens, a startup script is ran. +The startup script is defined below and is exported to the =project_startup.m= script. +#+begin_src matlab :eval no :tangle ../src/project_startup.m + freqs = logspace(-1, 3, 1000); + save_fig = false; + save('./mat/config.mat', 'freqs', 'save_fig'); + + project = simulinkproject; + projectRoot = project.RootFolder; + + myCacheFolder = fullfile(projectRoot, '.SimulinkCache'); + myCodeFolder = fullfile(projectRoot, '.SimulinkCode'); + + Simulink.fileGenControl('set',... + 'CacheFolder', myCacheFolder,... + 'CodeGenFolder', myCodeFolder,... + 'createDir', true); +#+end_src + +When the project closes, it runs the =project_shutdown.m= script defined below. +#+begin_src matlab :eval no :tangle ../src/project_shutdown.m + Simulink.fileGenControl('reset'); +#+end_src + +The project also permits to automatically add defined folder to the path when the project is opened. + +* Simscape Multibody - Presentation +<> + +A [[https://.mathworks.com/products/simscape.html][simscape]] model permits to model multi-physics systems. + +[[https://mathworks.com/products/simmechanics.html][Simscape Multibody]] permits to model multibody systems using blocks representing bodies, joints, constraints, force elements, and sensors. + +** Solid bodies +Each solid body is represented by a [[https://mathworks.com/help/physmod/sm/ref/solid.html][solid block]]. +The geometry of the solid body can be imported using a =step= file. The properties of the solid body such as its mass, center of mass and moment of inertia can be derived from its density and its geometry as defined by the =step= file. They also can be set by hand. + +** Frames +Frames are very important in simscape multibody, they defined where the forces are applied, where the joints are located and where the measurements are made. + +They can be defined from the solid body geometry, or using the [[https://mathworks.com/help/physmod/sm/ref/rigidtransform.html][rigid transform block]]. + +** Joints +Solid Bodies are connected with joints (between frames of the two solid bodies). + +There are various types of joints that are all described [[https://mathworks.com/help/physmod/sm/ug/joints.html][here]]. + +#+name: tab:joint_dof +#+caption: Degrees of freedom associated with each joint +| Joint Block | Translational DOFs | Rotational DOFs | +|-------------------+--------------------+-----------------| +| 6-DOF | 3 | 3 | +| Bearing | 1 | 3 | +| Bushing | 3 | 3 | +| Cartesian | 3 | 0 | +| Constant Velocity | 0 | 2 | +| Cylindrical | 1 | 1 | +| Gimbal | 0 | 3 | +| Leadscrew | 1 (coupled) | 1 (coupled) | +| Pin Slot | 1 | 1 | +| Planar | 2 | 1 | +| Prismatic | 1 | 0 | +| Rectangular | 2 | 0 | +| Revolute | 0 | 1 | +| Spherical | 1 | 3 | +| Telescoping | 1 | 3 | +| Universal | 0 | 2 | +| Weld | 0 | 0 | + +Joint blocks are assortments of joint primitives: +- *Prismatic*: allows translation along a single standard axis: =Px=, =Py=, =Pz= +- *Revolute*: allows rotation about a single standard axis: =Rx=, =Ry=, =Rz= +- *Spherical*: allow rotation about any 3D axis: =S= +- *Lead Screw*: allows coupled rotation and translation on a standard axis: =LSz= +- *Constant Velocity*: Allows rotation at constant velocity between intersection through arbitrarily aligned shafts: =CV= + +#+name: tab:joint_primitive +#+caption: Joint primitives for each joint type +| Joint Block | Px | Py | Pz | Rx | Ry | Rz | S | CV | LSz | +|-------------------+----+----+----+----+----+----+---+----+-----| +| 6-DOF | x | x | x | | | | x | | | +| Bearing | | | x | x | x | x | | | | +| Bushing | x | x | x | x | x | x | | | | +| Cartesian | x | x | x | | | | | | | +| Constant Velocity | | | | | | | | x | | +| Cylindrical | | | x | | | x | | | | +| Gimbal | | | | x | x | x | | | | +| Leadscrew | | | | | | | | | x | +| Pin Slot | x | | | | | x | | | | +| Planar | x | x | | | | x | | | | +| Prismatic | | | x | | | | | | | +| Rectangular | x | x | | | | | | | | +| Revolute | | | | | | x | | | | +| Spherical | | | | | | | x | | | +| Telescoping | | | x | | | | x | | | +| Universal | | | | x | x | | | | | +| Weld | | | | | | | | | | + +For each of the joint primitive, we can specify the dynamical properties: +- The *spring stiffness*: either linear or rotational one +- The *damping coefficient* + +For the actuation, we can either specify the motion or the force: +- the force applied in the corresponding DOF is provided by the input +- the motion is provided by the input + +A sensor can be added to measure either the position, velocity or acceleration of the joint DOF. + +Composite Force/Torque sensing: +- Constraint force +- Total force: gives the sum across all joint primitives over all sources: actuation inputs, internal springs and dampers. + +** Measurements +A transform sensor block measures the spatial relationship between two frames: the base =B= and the follower =F=. + +It can give the rotational and translational position, velocity and acceleration. + +The measurement frame should be specified: it corresponds to the frame in which to resolve the selected spatial measurements. The default is =world=. + +If we want to simulate an *inertial sensor*, we just have to choose =B= to be the =world= frame. + +*Force sensors* are included in the joints blocks. + +** Excitation +We can apply *external forces* to the model by using an [[https://mathworks.com/help/physmod/sm/ref/externalforceandtorque.html][external force and torque block]]. + +Internal force, acting reciprocally between base and following origins is implemented using the [[https://mathworks.com/help/physmod/sm/ref/internalforce.html][internal force block]] even though it is usually included in one joint block. + +* Simulink files and signal names +<> + +In order to "normalize" things, the names of all the signal are listed here. + +** List of Simscape files + +Few different Simulink files are used: +- kinematics +- identification - micro station +- identification - nano station +- control + +#+name: tab:simscape_files +#+caption: List of simscape files +| Simscape Name | Ty | Ry | Rz | Hexa | NASS | +|------------------------+----+----+----+------+------| +| id micro station | F | F | F | F | | +| id nano station stages | F | F | F | F | F | +| id nano station config | D | D | D | D | F | +| control nano station | D | D | D | D | F | + +** List of Inputs +*** Perturbations + +#+name: tab:perturbations_names +#+caption: List of Disturbances +| Variable | Meaning | Size | Unit | +|----------+--------------------------------------+------+------| +| ~Dw~ | Ground motion | 3 | [m] | +| ~Fg~ | External force applied on granite | 3 | [N] | +| ~Fs~ | External force applied on the Sample | 3 | [N] | + +*** Measurement Noise + +#+name: tab:noise_names +#+caption: List of Measurement Noise +| Variable | Meaning | Size | Unit | +|----------+---------+------+------| +| | | | | + +*** Control Inputs + +#+name: tab:control_inputs_names +#+caption: List of Control Inputs +| Variable | Meaning | Size | Unit | +|----------+-------------------------------------------+------+----------| +| ~Fy~ | Actuation force for Ty | 1 | [N] | +| ~Dy~ | Imposed displacement for Ty | 1 | [m] | +|----------+-------------------------------------------+------+----------| +| ~My~ | Actuation torque for Ry | 1 | [N.m] | +| ~Ry~ | Imposed rotation for Ry | 1 | [rad] | +|----------+-------------------------------------------+------+----------| +| ~Mz~ | Actuation torque for Rz | 1 | [N.m] | +| ~Rz~ | Imposed rotation for Rz | 1 | [rad] | +|----------+-------------------------------------------+------+----------| +| ~Fh~ | Actuation force/torque for hexapod (cart) | 6 | [N, N.m] | +| ~Fhl~ | Actuation force/torque for hexapod (legs) | 6 | [N] | +| ~Dh~ | Imposed position for hexapod (cart) | 6 | [m, rad] | +|----------+-------------------------------------------+------+----------| +| ~Rm~ | Position of the two masses | 2 | [rad] | +|----------+-------------------------------------------+------+----------| +| ~Fn~ | Actuation force for the NASS (cart) | 6 | [N, N.m] | +| ~Fnl~ | Actuation force for the NASS's legs | 6 | [N] | +| ~Dn~ | Imposed position for the NASS (cart) | 6 | [m, rad] | + +** List of Outputs + +#+name: tab:outputs_names +#+caption: List of Outputs +| Variable | Meaning | Size | Unit | +|----------+---------------------------------------------+------+--------------| +| ~Dgm~ | Absolute displacement of the granite | 3 | [m] | +| ~Vgm~ | Absolute Velocity of the granite | 3 | [m/s] | +|----------+---------------------------------------------+------+--------------| +| ~Dym~ | Measured displacement of Ty | 1 | [m] | +|----------+---------------------------------------------+------+--------------| +| ~Rym~ | Measured rotation of Ry | 1 | [rad] | +|----------+---------------------------------------------+------+--------------| +| ~Rzm~ | Measured rotation of Rz | 1 | [rad] | +|----------+---------------------------------------------+------+--------------| +| ~Dhm~ | Measured position of hexapod (cart) | 6 | [m, rad] | +|----------+---------------------------------------------+------+--------------| +| ~Fnlm~ | Measured force of NASS's legs | 6 | [N] | +| ~Dnlm~ | Measured elongation of NASS's legs | 6 | [m] | +| ~Dnm~ | Measured position of NASS w.r.t NASS's base | 6 | [m, rad] | +| ~Vnm~ | Measured absolute velocity of NASS platform | 6 | [m/s, rad/s] | +| ~Vnlm~ | Measured absolute velocity of NASS's legs | 6 | [m/s] | +|----------+---------------------------------------------+------+--------------| +| ~Dsm~ | Position of Sample w.r.t. granite frame | 6 | [m, rad] | + +* Simulink Library +<> + +A simulink library is developed in order to share elements between the different simulink files. + +** =inputs= +[[../nass_library/inputs.slx][inputs.slx]] + +** =nass_library= +[[../nass_library/nass_library.slx][nass_library.slx]] + +** =pos_error_wrt_nass_base= +[[../nass_library/pos_error_wrt_nass_base.slx][pos_error_wrt_nass_base.slx]] + +** =QuaternionToAngles= +[[../nass_library/QuaternionToAngles.slx][QuaternionToAngles.slx]] + +** =RotationMatrixToAngle= +[[../nass_library/RotationMatrixToAngle.slx][RotationMatrixToAngle.slx]] + +* Scripts +<> + +** Simulation Initialization + :PROPERTIES: + :header-args:matlab+: :tangle ../src/init_simulation.m + :header-args:matlab+: :comments org :mkdirp yes + :header-args:matlab+: :eval no :results none + :END: + <> + +This Matlab script is accessible [[file:../src/init_simulation.m][here]]. + +This script runs just before the simulation is started. +It is used to load the simulation configuration and the controllers used for the simulation. + +#+begin_src matlab + %% Load all the data used for the simulation + load('sim_conf.mat'); + + %% Load Controller + load('controllers.mat'); +#+end_src + +* Functions +<> + +** computePsdDispl + :PROPERTIES: + :header-args:matlab+: :tangle ../src/computePsdDispl.m + :header-args:matlab+: :comments org :mkdirp yes + :header-args:matlab+: :eval no :results none + :END: + <> + +This Matlab function is accessible [[file:../src/computePsdDispl.m][here]]. + +#+begin_src matlab + function [psd_object] = computePsdDispl(sys_data, t_init, n_av) + i_init = find(sys_data.time > t_init, 1); + + han_win = hanning(ceil(length(sys_data.Dx(i_init:end, :))/n_av)); + Fs = 1/sys_data.time(2); + + [pdx, f] = pwelch(sys_data.Dx(i_init:end, :), han_win, [], [], Fs); + [pdy, ~] = pwelch(sys_data.Dy(i_init:end, :), han_win, [], [], Fs); + [pdz, ~] = pwelch(sys_data.Dz(i_init:end, :), han_win, [], [], Fs); + + [prx, ~] = pwelch(sys_data.Rx(i_init:end, :), han_win, [], [], Fs); + [pry, ~] = pwelch(sys_data.Ry(i_init:end, :), han_win, [], [], Fs); + [prz, ~] = pwelch(sys_data.Rz(i_init:end, :), han_win, [], [], Fs); + + psd_object = struct(... + 'f', f, ... + 'dx', pdx, ... + 'dy', pdy, ... + 'dz', pdz, ... + 'rx', prx, ... + 'ry', pry, ... + 'rz', prz); + end +#+end_src + +** computeSetpoint + :PROPERTIES: + :header-args:matlab+: :tangle ../src/computeSetpoint.m + :header-args:matlab+: :comments org :mkdirp yes + :header-args:matlab+: :eval no :results none + :END: + <> + +This Matlab function is accessible [[file:../src/computeSetpoint.m][here]]. + +#+begin_src matlab + function setpoint = computeSetpoint(ty, ry, rz) + %% + setpoint = zeros(6, 1); + + %% Ty + Ty = [1 0 0 0 ; + 0 1 0 ty ; + 0 0 1 0 ; + 0 0 0 1 ]; + + % Tyinv = [1 0 0 0 ; + % 0 1 0 -ty ; + % 0 0 1 0 ; + % 0 0 0 1 ]; + + %% Ry + Ry = [ cos(ry) 0 sin(ry) 0 ; + 0 1 0 0 ; + -sin(ry) 0 cos(ry) 0 ; + 0 0 0 1 ]; + + % TMry = Ty*Ry*Tyinv; + + %% Rz + Rz = [cos(rz) -sin(rz) 0 0 ; + sin(rz) cos(rz) 0 0 ; + 0 0 1 0 ; + 0 0 0 1 ]; + + % TMrz = Ty*TMry*Rz*TMry'*Tyinv; + + %% All stages + % TM = TMrz*TMry*Ty; + + TM = Ty*Ry*Rz; + + [thetax, thetay, thetaz] = RM2angle(TM(1:3, 1:3)); + + setpoint(1:3) = TM(1:3, 4); + setpoint(4:6) = [thetax, thetay, thetaz]; + + %% Custom Functions + function [thetax, thetay, thetaz] = RM2angle(R) + if abs(abs(R(3, 1)) - 1) > 1e-6 % R31 != 1 and R31 != -1 + thetay = -asin(R(3, 1)); + thetax = atan2(R(3, 2)/cos(thetay), R(3, 3)/cos(thetay)); + thetaz = atan2(R(2, 1)/cos(thetay), R(1, 1)/cos(thetay)); + else + thetaz = 0; + if abs(R(3, 1)+1) < 1e-6 % R31 = -1 + thetay = pi/2; + thetax = thetaz + atan2(R(1, 2), R(1, 3)); + else + thetay = -pi/2; + thetax = -thetaz + atan2(-R(1, 2), -R(1, 3)); + end + end + end + end +#+end_src + +** converErrorBasis + :PROPERTIES: + :header-args:matlab+: :tangle ../src/converErrorBasis.m + :header-args:matlab+: :comments org :mkdirp yes + :header-args:matlab+: :eval no :results none + :END: + <> + +This Matlab function is accessible [[file:../src/converErrorBasis.m][here]]. + +#+begin_src matlab + function error_nass = convertErrorBasis(pos, setpoint, ty, ry, rz) + % convertErrorBasis - + % + % Syntax: convertErrorBasis(p_error, ty, ry, rz) + % + % Inputs: + % - p_error - Position error of the sample w.r.t. the granite [m, rad] + % - ty - Measured translation of the Ty stage [m] + % - ry - Measured rotation of the Ry stage [rad] + % - rz - Measured rotation of the Rz stage [rad] + % + % Outputs: + % - P_nass - Position error of the sample w.r.t. the NASS base [m] + % - R_nass - Rotation error of the sample w.r.t. the NASS base [rad] + % + % Example: + % + + %% If line vector => column vector + if size(pos, 2) == 6 + pos = pos'; + end + + if size(setpoint, 2) == 6 + setpoint = setpoint'; + end + + %% Position of the sample in the frame fixed to the Granite + P_granite = [pos(1:3); 1]; % Position [m] + R_granite = [setpoint(1:3); 1]; % Reference [m] + + %% Transformation matrices of the stages + % T-y + TMty = [1 0 0 0 ; + 0 1 0 ty ; + 0 0 1 0 ; + 0 0 0 1 ]; + + % R-y + TMry = [ cos(ry) 0 sin(ry) 0 ; + 0 1 0 0 ; + -sin(ry) 0 cos(ry) 0 ; + 0 0 0 1 ]; + + % R-z + TMrz = [cos(rz) -sin(rz) 0 0 ; + sin(rz) cos(rz) 0 0 ; + 0 0 1 0 ; + 0 0 0 1 ]; + + %% Compute Point coordinates in the new reference fixed to the NASS base + % P_nass = TMrz*TMry*TMty*P_granite; + P_nass = TMrz\TMry\TMty\P_granite; + R_nass = TMrz\TMry\TMty\R_granite; + + dx = R_nass(1)-P_nass(1); + dy = R_nass(2)-P_nass(2); + dz = R_nass(3)-P_nass(3); + + %% Compute new basis vectors linked to the NASS base + % ux_nass = TMrz*TMry*TMty*[1; 0; 0; 0]; + % ux_nass = ux_nass(1:3); + % uy_nass = TMrz*TMry*TMty*[0; 1; 0; 0]; + % uy_nass = uy_nass(1:3); + % uz_nass = TMrz*TMry*TMty*[0; 0; 1; 0]; + % uz_nass = uz_nass(1:3); + + ux_nass = TMrz\TMry\TMty\[1; 0; 0; 0]; + ux_nass = ux_nass(1:3); + uy_nass = TMrz\TMry\TMty\[0; 1; 0; 0]; + uy_nass = uy_nass(1:3); + uz_nass = TMrz\TMry\TMty\[0; 0; 1; 0]; + uz_nass = uz_nass(1:3); + + %% Rotations error w.r.t. granite Frame + % Rotations error w.r.t. granite Frame + rx_nass = pos(4); + ry_nass = pos(5); + rz_nass = pos(6); + + % Rotation matrices of the Sample w.r.t. the Granite + Mrx_error = [1 0 0 ; + 0 cos(-rx_nass) -sin(-rx_nass) ; + 0 sin(-rx_nass) cos(-rx_nass)]; + + Mry_error = [ cos(-ry_nass) 0 sin(-ry_nass) ; + 0 1 0 ; + -sin(-ry_nass) 0 cos(-ry_nass)]; + + Mrz_error = [cos(-rz_nass) -sin(-rz_nass) 0 ; + sin(-rz_nass) cos(-rz_nass) 0 ; + 0 0 1]; + + % Rotation matrix of the Sample w.r.t. the Granite + Mr_error = Mrz_error*Mry_error*Mrx_error; + + %% Use matrix to solve + R = Mr_error/[ux_nass, uy_nass, uz_nass]; % Rotation matrix from NASS base to Sample + + [thetax, thetay, thetaz] = RM2angle(R); + + error_nass = [dx; dy; dz; thetax; thetay; thetaz]; + + %% Custom Functions + function [thetax, thetay, thetaz] = RM2angle(R) + if abs(abs(R(3, 1)) - 1) > 1e-6 % R31 != 1 and R31 != -1 + thetay = -asin(R(3, 1)); + % thetaybis = pi-thetay; + thetax = atan2(R(3, 2)/cos(thetay), R(3, 3)/cos(thetay)); + % thetaxbis = atan2(R(3, 2)/cos(thetaybis), R(3, 3)/cos(thetaybis)); + thetaz = atan2(R(2, 1)/cos(thetay), R(1, 1)/cos(thetay)); + % thetazbis = atan2(R(2, 1)/cos(thetaybis), R(1, 1)/cos(thetaybis)); + else + thetaz = 0; + if abs(R(3, 1)+1) < 1e-6 % R31 = -1 + thetay = pi/2; + thetax = thetaz + atan2(R(1, 2), R(1, 3)); + else + thetay = -pi/2; + thetax = -thetaz + atan2(-R(1, 2), -R(1, 3)); + end + end + end + + end +#+end_src + +** generateDiagPidControl + :PROPERTIES: + :header-args:matlab+: :tangle ../src/generateDiagPidControl.m + :header-args:matlab+: :comments org :mkdirp yes + :header-args:matlab+: :eval no :results none + :END: + <> + +This Matlab function is accessible [[file:../src/generateDiagPidControl.m][here]]. + +#+begin_src matlab + function [K] = generateDiagPidControl(G, fs) + %% + pid_opts = pidtuneOptions(... + 'PhaseMargin', 50, ... + 'DesignFocus', 'disturbance-rejection'); + + %% + K = tf(zeros(6)); + + for i = 1:6 + input_name = G.InputName(i); + output_name = G.OutputName(i); + K(i, i) = tf(pidtune(minreal(G(output_name, input_name)), 'PIDF', 2*pi*fs, pid_opts)); + end + + K.InputName = G.OutputName; + K.OutputName = G.InputName; + end +#+end_src +** identifyPlant + :PROPERTIES: + :header-args:matlab+: :tangle ../src/identifyPlant.m + :header-args:matlab+: :comments org :mkdirp yes + :header-args:matlab+: :eval no :results none + :END: + <> + +This Matlab function is accessible [[file:../src/identifyPlant.m][here]]. + +#+begin_src matlab + function [sys] = identifyPlant(opts_param) + %% Default values for opts + opts = struct(); + + %% Populate opts with input parameters + if exist('opts_param','var') + for opt = fieldnames(opts_param)' + opts.(opt{1}) = opts_param.(opt{1}); + end + end + + %% Options for Linearized + options = linearizeOptions; + options.SampleTime = 0; + + %% Name of the Simulink File + mdl = 'sim_nano_station_id'; + + %% Input/Output definition + io(1) = linio([mdl, '/Fn'], 1, 'input'); % Cartesian forces applied by NASS + io(2) = linio([mdl, '/Dw'], 1, 'input'); % Ground Motion + io(3) = linio([mdl, '/Fs'], 1, 'input'); % External forces on the sample + io(4) = linio([mdl, '/Fnl'], 1, 'input'); % Forces applied on the NASS's legs + io(5) = linio([mdl, '/Dsm'], 1, 'output'); % Displacement of the sample + io(6) = linio([mdl, '/Fnlm'], 1, 'output'); % Force sensor in NASS's legs + io(7) = linio([mdl, '/Dnlm'], 1, 'output'); % Displacement of NASS's legs + io(8) = linio([mdl, '/Es'], 1, 'output'); % Position Error w.r.t. NASS base + + %% Run the linearization + G = linearize(mdl, io, 0); + G.InputName = {'Fnx', 'Fny', 'Fnz', 'Mnx', 'Mny', 'Mnz', ... + 'Dgx', 'Dgy', 'Dgz', ... + 'Fsx', 'Fsy', 'Fsz', 'Msx', 'Msy', 'Msz', ... + 'F1', 'F2', 'F3', 'F4', 'F5', 'F6'}; + G.OutputName = {'Dx', 'Dy', 'Dz', 'Rx', 'Ry', 'Rz', ... + 'Fm1', 'Fm2', 'Fm3', 'Fm4', 'Fm5', 'Fm6', ... + 'Dm1', 'Dm2', 'Dm3', 'Dm4', 'Dm5', 'Dm6', ... + 'Edx', 'Rdy', 'Edz', 'Erx', 'Ery', 'Erz'}; + + %% Create the sub transfer functions + % From forces applied in the cartesian frame to displacement of the sample in the cartesian frame + sys.G_cart = minreal(G({'Dx', 'Dy', 'Dz', 'Rx', 'Ry', 'Rz'}, {'Fnx', 'Fny', 'Fnz', 'Mnx', 'Mny', 'Mnz'})); + % From ground motion to Sample displacement + sys.G_gm = minreal(G({'Dx', 'Dy', 'Dz', 'Rx', 'Ry', 'Rz'}, {'Dgx', 'Dgy', 'Dgz'})); + % From direct forces applied on the sample to displacement of the sample + sys.G_fs = minreal(G({'Dx', 'Dy', 'Dz', 'Rx', 'Ry', 'Rz'}, {'Fsx', 'Fsy', 'Fsz', 'Msx', 'Msy', 'Msz'})); + % From forces applied on NASS's legs to force sensor in each leg + sys.G_iff = minreal(G({'Fm1', 'Fm2', 'Fm3', 'Fm4', 'Fm5', 'Fm6'}, {'F1', 'F2', 'F3', 'F4', 'F5', 'F6'})); + % From forces applied on NASS's legs to displacement of each leg + sys.G_dleg = minreal(G({'Dm1', 'Dm2', 'Dm3', 'Dm4', 'Dm5', 'Dm6'}, {'F1', 'F2', 'F3', 'F4', 'F5', 'F6'})); + % From forces applied on NASS's legs to displacement of each leg + sys.G_plant = minreal(G({'Edx', 'Rdy', 'Edz', 'Erx', 'Ery', 'Erz'}, {'Fnx', 'Fny', 'Fnz', 'Mnx', 'Mny', 'Mnz'})); + end +#+end_src +** runSimulation + :PROPERTIES: + :header-args:matlab+: :tangle ../src/runSimulation.m + :header-args:matlab+: :comments org :mkdirp yes + :header-args:matlab+: :eval no :results none + :END: + <> + +This Matlab function is accessible [[file:../src/runSimulation.m][here]]. + +#+begin_src matlab + function [] = runSimulation(sys_name, sys_mass, ctrl_type, act_damp) + %% Load the controller and save it for the simulation + if strcmp(ctrl_type, 'cl') && strcmp(act_damp, 'none') + K_obj = load('./mat/K_fb.mat'); + K = K_obj.(sprintf('K_%s_%s', sys_mass, sys_name)); %#ok + save('./mat/controllers.mat', 'K'); + elseif strcmp(ctrl_type, 'cl') && strcmp(act_damp, 'iff') + K_obj = load('./mat/K_fb_iff.mat'); + K = K_obj.(sprintf('K_%s_%s_iff', sys_mass, sys_name)); %#ok + save('./mat/controllers.mat', 'K'); + elseif strcmp(ctrl_type, 'ol') + K = tf(zeros(6)); %#ok + save('./mat/controllers.mat', 'K'); + else + error('ctrl_type should be cl or ol'); + end + + %% Active Damping + if strcmp(act_damp, 'iff') + K_iff_crit = load('./mat/K_iff_crit.mat'); + K_iff = K_iff_crit.(sprintf('K_iff_%s_%s', sys_mass, sys_name)); %#ok + save('./mat/controllers.mat', 'K_iff', '-append'); + elseif strcmp(act_damp, 'none') + K_iff = tf(zeros(6)); %#ok + save('./mat/controllers.mat', 'K_iff', '-append'); + end + + %% + if strcmp(sys_name, 'pz') + initializeNanoHexapod(struct('actuator', 'piezo')); + elseif strcmp(sys_name, 'vc') + initializeNanoHexapod(struct('actuator', 'lorentz')); + else + error('sys_name should be pz or vc'); + end + + if strcmp(sys_mass, 'light') + initializeSample(struct('mass', 1)); + elseif strcmp(sys_mass, 'heavy') + initializeSample(struct('mass', 50)); + else + error('sys_mass should be light or heavy'); + end + + %% Run the simulation + sim('sim_nano_station_ctrl.slx'); + + %% Split the Dsample matrix into vectors + [Dx, Dy, Dz, Rx, Ry, Rz] = matSplit(Es.Data, 1); %#ok + time = Dsample.Time; %#ok + + %% Save the result + filename = sprintf('sim_%s_%s_%s_%s', sys_mass, sys_name, ctrl_type, act_damp); + save(sprintf('./mat/%s.mat', filename), ... + 'time', 'Dx', 'Dy', 'Dz', 'Rx', 'Ry', 'Rz', 'K'); + end +#+end_src +* Initialize Elements +<> +** Simulation Configuration + :PROPERTIES: + :header-args:matlab+: :tangle ../src/initializeSimConf.m + :header-args:matlab+: :comments org :mkdirp yes + :header-args:matlab+: :eval no :results none + :END: + <> + +This Matlab function is accessible [[file:../src/initializeSimConf.m][here]]. + +#+begin_src matlab + function [] = initializeSimConf(opts_param) + %% Default values for opts + opts = struct('Ts', 1e-4, ... % Sampling time [s] + 'Tsim', 10, ... % Simulation time [s] + 'cl_time', 0, ... % Close Loop time [s] + 'gravity', false ... % Gravity along the z axis + ); + + %% Populate opts with input parameters + if exist('opts_param','var') + for opt = fieldnames(opts_param)' + opts.(opt{1}) = opts_param.(opt{1}); + end + end + + %% + sim_conf = struct(); + + %% + sim_conf.Ts = opts.Ts; + sim_conf.Tsim = opts.Tsim; + sim_conf.cl_time = opts.cl_time; + + %% Gravity + if opts.gravity + sim_conf.g = -9.8; %#ok + else + sim_conf.g = 0; %#ok + end + + %% Save + save('./mat/sim_conf.mat', 'sim_conf'); + end +#+end_src + +** Experiment + :PROPERTIES: + :header-args:matlab+: :tangle ../src/initializeExperiment.m + :header-args:matlab+: :comments org :mkdirp yes + :header-args:matlab+: :eval no :results none + :END: + <> + +This Matlab function is accessible [[file:../src/initializeExperiment.m][here]]. + +#+begin_src matlab + function [] = initializeExperiment(exp_name, sys_mass) + if strcmp(exp_name, 'tomography') + opts_sim = struct(... + 'Tsim', 5, ... + 'cl_time', 5 ... + ); + initializeSimConf(opts_sim); + + if strcmp(sys_mass, 'light') + opts_inputs = struct(... + 'Dw', true, ... + 'Rz', 60 ... % rpm + ); + elseif strcpm(sys_mass, 'heavy') + opts_inputs = struct(... + 'Dw', true, ... + 'Rz', 1 ... % rpm + ); + else + error('sys_mass should be light or heavy'); + end + + initializeInputs(opts_inputs); + else + error('exp_name is only configured for tomography'); + end + end +#+end_src + +** Inputs + :PROPERTIES: + :header-args:matlab+: :tangle ../src/initializeInputs.m + :header-args:matlab+: :comments org :mkdirp yes + :header-args:matlab+: :eval no :results none + :END: + <> + +This Matlab function is accessible [[file:../src/initializeInputs.m][here]]. + +#+begin_src matlab + function [inputs] = initializeInputs(opts_param) + %% Default values for opts + opts = struct( ... + 'Dw', false, ... + 'Dy', false, ... + 'Ry', false, ... + 'Rz', false, ... + 'Dh', false, ... + 'Rm', false, ... + 'Dn', false ... + ); + + %% Populate opts with input parameters + if exist('opts_param','var') + for opt = fieldnames(opts_param)' + opts.(opt{1}) = opts_param.(opt{1}); + end + end + + %% Load Sampling Time and Simulation Time + load('./mat/sim_conf.mat', 'sim_conf'); + + %% Define the time vector + t = 0:sim_conf.Ts:sim_conf.Tsim; + + %% Ground motion - Dw + if islogical(opts.Dw) && opts.Dw == true + load('./mat/perturbations.mat', 'Wxg'); + Dw = 1/sqrt(2)*100*random('norm', 0, 1, length(t), 3); + Dw(:, 1) = lsim(Wxg, Dw(:, 1), t); + Dw(:, 2) = lsim(Wxg, Dw(:, 2), t); + Dw(:, 3) = lsim(Wxg, Dw(:, 3), t); + elseif islogical(opts.Dw) && opts.Dw == false + Dw = zeros(length(t), 3); + else + Dw = opts.Dw; + end + + %% Translation stage - Dy + if islogical(opts.Dy) && opts.Dy == true + Dy = zeros(length(t), 1); + elseif islogical(opts.Dy) && opts.Dy == false + Dy = zeros(length(t), 1); + else + Dy = opts.Dy; + end + + %% Tilt Stage - Ry + if islogical(opts.Ry) && opts.Ry == true + Ry = 3*(2*pi/360)*sin(2*pi*0.2*t); + elseif islogical(opts.Ry) && opts.Ry == false + Ry = zeros(length(t), 1); + elseif isnumeric(opts.Ry) && length(opts.Ry) == 1 + Ry = opts.Ry*(2*pi/360)*ones(length(t), 1); + else + Ry = opts.Ry; + end + + %% Spindle - Rz + if islogical(opts.Rz) && opts.Rz == true + Rz = 2*pi*0.5*t; + elseif islogical(opts.Rz) && opts.Rz == false + Rz = zeros(length(t), 1); + elseif isnumeric(opts.Rz) && length(opts.Rz) == 1 + Rz = opts.Rz*(2*pi/60)*t; + else + Rz = opts.Rz; + end + + %% Micro Hexapod - Dh + if islogical(opts.Dh) && opts.Dh == true + Dh = zeros(length(t), 6); + elseif islogical(opts.Dh) && opts.Dh == false + Dh = zeros(length(t), 6); + else + Dh = opts.Dh; + end + + %% Axis Compensation - Rm + if islogical(opts.Rm) + Rm = zeros(length(t), 2); + Rm(:, 2) = pi*ones(length(t), 1); + else + Rm = opts.Rm; + end + + %% Nano Hexapod - Dn + if islogical(opts.Dn) && opts.Dn == true + Dn = zeros(length(t), 6); + elseif islogical(opts.Dn) && opts.Dn == false + Dn = zeros(length(t), 6); + else + Dn = opts.Dn; + end + + %% Setpoint - Ds + Ds = zeros(length(t), 6); + for i = 1:length(t) + Ds(i, :) = computeSetpoint(Dy(i), Ry(i), Rz(i)); + end + + %% External Forces applied on the Granite + Fg = zeros(length(t), 3); + + %% External Forces applied on the Sample + Fs = zeros(length(t), 6); + + %% Create the input Structure that will contain all the inputs + inputs = struct( ... + 'Ts', sim_conf.Ts, ... + 'Dw', timeseries(Dw, t), ... + 'Dy', timeseries(Dy, t), ... + 'Ry', timeseries(Ry, t), ... + 'Rz', timeseries(Rz, t), ... + 'Dh', timeseries(Dh, t), ... + 'Rm', timeseries(Rm, t), ... + 'Dn', timeseries(Dn, t), ... + 'Ds', timeseries(Ds, t), ... + 'Fg', timeseries(Fg, t), ... + 'Fs', timeseries(Fs, t) ... + ); + + %% Save + save('./mat/inputs.mat', 'inputs'); + + %% Custom Functions + function setpoint = computeSetpoint(ty, ry, rz) + %% + setpoint = zeros(6, 1); + + %% Ty + TMTy = [1 0 0 0 ; + 0 1 0 ty ; + 0 0 1 0 ; + 0 0 0 1 ]; + + %% Ry + TMRy = [ cos(ry) 0 sin(ry) 0 ; + 0 1 0 0 ; + -sin(ry) 0 cos(ry) 0 ; + 0 0 0 1 ]; + + %% Rz + TMRz = [cos(rz) -sin(rz) 0 0 ; + sin(rz) cos(rz) 0 0 ; + 0 0 1 0 ; + 0 0 0 1 ]; + + %% All stages + TM = TMTy*TMRy*TMRz; + + [thetax, thetay, thetaz] = RM2angle(TM(1:3, 1:3)); + + setpoint(1:3) = TM(1:3, 4); + setpoint(4:6) = [thetax, thetay, thetaz]; + + %% Custom Functions + function [thetax, thetay, thetaz] = RM2angle(R) + if abs(abs(R(3, 1)) - 1) > 1e-6 % R31 != 1 and R31 != -1 + thetay = -asin(R(3, 1)); + thetax = atan2(R(3, 2)/cos(thetay), R(3, 3)/cos(thetay)); + thetaz = atan2(R(2, 1)/cos(thetay), R(1, 1)/cos(thetay)); + else + thetaz = 0; + if abs(R(3, 1)+1) < 1e-6 % R31 = -1 + thetay = pi/2; + thetax = thetaz + atan2(R(1, 2), R(1, 3)); + else + thetay = -pi/2; + thetax = -thetaz + atan2(-R(1, 2), -R(1, 3)); + end + end + end + end + end +#+end_src + +** Ground + :PROPERTIES: + :header-args:matlab+: :tangle ../src/initializeGround.m + :header-args:matlab+: :comments org :mkdirp yes + :header-args:matlab+: :eval no :results none + :END: + <> + +This Matlab function is accessible [[file:../src/initializeGround.m][here]]. + +#+begin_src matlab +function [ground] = initializeGround() + %% + ground = struct(); + + ground.shape = [2, 2, 0.5]; % [m] + ground.density = 2800; % [kg/m3] + ground.color = [0.5, 0.5, 0.5]; + + %% Save + save('./mat/stages.mat', 'ground', '-append'); +end +#+end_src + +** Granite + :PROPERTIES: + :header-args:matlab+: :tangle ../src/initializeGranite.m + :header-args:matlab+: :comments org :mkdirp yes + :header-args:matlab+: :eval no :results none + :END: + <> + +This Matlab function is accessible [[file:../src/initializeGranite.m][here]]. + +#+begin_src matlab + function [granite] = initializeGranite() + %% + granite = struct(); + + %% Static Properties + granite.density = 2800; % [kg/m3] + granite.volume = 0.749; % [m3] TODO - should + granite.mass = granite.density*granite.volume; % [kg] + granite.color = [1 1 1]; + granite.STEP = './STEPS/granite/granite.STEP'; + + granite.mass_top = 4000; % [kg] TODO + + %% Dynamical Properties + granite.k.x = 4e9; % [N/m] + granite.c.x = 0.1*sqrt(granite.mass_top*granite.k.x); % [N/(m/s)] + + granite.k.y = 3e8; % [N/m] + granite.c.y = 0.1*sqrt(granite.mass_top*granite.k.y); % [N/(m/s)] + + granite.k.z = 8e8; % [N/m] + granite.c.z = 0.5*sqrt(granite.mass_top*granite.k.z); % [N/(m/s)] + + granite.k.rx = 1e4; % [N*m/deg] + granite.c.rx = 0.1*sqrt(granite.mass_top*granite.k.rx); % [N*m/(deg/s)] + + granite.k.ry = 1e4; % [N*m/deg] + granite.c.ry = 0.1*sqrt(granite.mass_top*granite.k.ry); % [N*m/(deg/s)] + + granite.k.rz = 1e6; % [N*m/deg] + granite.c.rz = 0.1*sqrt(granite.mass_top*granite.k.rz); % [N*m/(deg/s)] + + %% Positioning parameters + granite.sample_pos = 0.8; % Z-offset for the initial position of the sample [m] + + %% Save + save('./mat/stages.mat', 'granite', '-append'); + end +#+end_src + +** Translation Stage + :PROPERTIES: + :header-args:matlab+: :tangle ../src/initializeTy.m + :header-args:matlab+: :comments org :mkdirp yes + :header-args:matlab+: :eval no :results none + :END: + <> + +This Matlab function is accessible [[file:../src/initializeTy.m][here]]. + +#+begin_src matlab + function [ty] = initializeTy(opts_param) + %% Default values for opts + opts = struct('rigid', false); + + %% Populate opts with input parameters + if exist('opts_param','var') + for opt = fieldnames(opts_param)' + opts.(opt{1}) = opts_param.(opt{1}); + end + end + + %% + ty = struct(); + + %% Y-Translation - Static Properties + % Ty Granite frame + ty.granite_frame.density = 7800; % [kg/m3] + ty.granite_frame.color = [0.753 1 0.753]; + ty.granite_frame.STEP = './STEPS/Ty/Ty_Granite_Frame.STEP'; + % Guide Translation Ty + ty.guide.density = 7800; % [kg/m3] + ty.guide.color = [0.792 0.820 0.933]; + ty.guide.STEP = './STEPS/ty/Ty_Guide.STEP'; + % Ty - Guide_Translation12 + ty.guide12.density = 7800; % [kg/m3] + ty.guide12.color = [0.792 0.820 0.933]; + ty.guide12.STEP = './STEPS/Ty/Ty_Guide_12.STEP'; + % Ty - Guide_Translation11 + ty.guide11.density = 7800; % [kg/m3] + ty.guide11.color = [0.792 0.820 0.933]; + ty.guide11.STEP = './STEPS/ty/Ty_Guide_11.STEP'; + % Ty - Guide_Translation22 + ty.guide22.density = 7800; % [kg/m3] + ty.guide22.color = [0.792 0.820 0.933]; + ty.guide22.STEP = './STEPS/ty/Ty_Guide_22.STEP'; + % Ty - Guide_Translation21 + ty.guide21.density = 7800; % [kg/m3] + ty.guide21.color = [0.792 0.820 0.933]; + ty.guide21.STEP = './STEPS/Ty/Ty_Guide_21.STEP'; + % Ty - Plateau translation + ty.frame.density = 7800; % [kg/m3] + ty.frame.color = [0.792 0.820 0.933]; + ty.frame.STEP = './STEPS/ty/Ty_Stage.STEP'; + % Ty Stator Part + ty.stator.density = 5400; % [kg/m3] + ty.stator.color = [0.792 0.820 0.933]; + ty.stator.STEP = './STEPS/ty/Ty_Motor_Stator.STEP'; + % Ty Rotor Part + ty.rotor.density = 5400; % [kg/m3] + ty.rotor.color = [0.792 0.820 0.933]; + ty.rotor.STEP = './STEPS/ty/Ty_Motor_Rotor.STEP'; + + ty.m = 1000; % TODO [kg] + + %% Y-Translation - Dynamicals Properties + if opts.rigid + ty.k.ax = 1e10; % Axial Stiffness for each of the 4 guidance (y) [N/m] + else + ty.k.ax = 1e7; % Axial Stiffness for each of the 4 guidance (y) [N/m] + end + ty.k.rad = 1e8; % Radial Stiffness for each of the 4 guidance (x-z) [N/m] + + ty.c.ax = 0.1*sqrt(ty.k.ax*ty.m); + ty.c.rad = 0.1*sqrt(ty.k.rad*ty.m); + + %% Save + save('./mat/stages.mat', 'ty', '-append'); + end +#+end_src + +** Tilt Stage + :PROPERTIES: + :header-args:matlab+: :tangle ../src/initializeRy.m + :header-args:matlab+: :comments org :mkdirp yes + :header-args:matlab+: :eval no :results none + :END: + <> + +This Matlab function is accessible [[file:../src/initializeRy.m][here]]. + +#+begin_src matlab + function [ry] = initializeRy(opts_param) + %% Default values for opts + opts = struct('rigid', false); + + %% Populate opts with input parameters + if exist('opts_param','var') + for opt = fieldnames(opts_param)' + opts.(opt{1}) = opts_param.(opt{1}); + end + end + + %% + ry = struct(); + + %% Tilt Stage - Static Properties + % Ry - Guide for the tilt stage + ry.guide.density = 7800; % [kg/m3] + ry.guide.color = [0.792 0.820 0.933]; + ry.guide.STEP = './STEPS/ry/Tilt_Guide.STEP'; + % Ry - Rotor of the motor + ry.rotor.density = 2400; % [kg/m3] + ry.rotor.color = [0.792 0.820 0.933]; + ry.rotor.STEP = './STEPS/ry/Tilt_Motor_Axis.STEP'; + % Ry - Motor + ry.motor.density = 3200; % [kg/m3] + ry.motor.color = [0.792 0.820 0.933]; + ry.motor.STEP = './STEPS/ry/Tilt_Motor.STEP'; + % Ry - Plateau Tilt + ry.stage.density = 7800; % [kg/m3] + ry.stage.color = [0.792 0.820 0.933]; + ry.stage.STEP = './STEPS/ry/Tilt_Stage.STEP'; + + ry.m = 800; % TODO [kg] + + %% Tilt Stage - Dynamical Properties + if opts.rigid + ry.k.tilt = 1e10; % Rotation stiffness around y [N*m/deg] + else + ry.k.tilt = 1e3; % Rotation stiffness around y [N*m/deg] + end + + ry.k.h = 357e6/4; % Stiffness in the direction of the guidance [N/m] + ry.k.rad = 555e6/4; % Stiffness in the top direction [N/m] + ry.k.rrad = 238e6/4; % Stiffness in the side direction [N/m] + + ry.c.h = 0.1*sqrt(ry.k.h*ry.m); + ry.c.rad = 0.1*sqrt(ry.k.rad*ry.m); + ry.c.rrad = 0.1*sqrt(ry.k.rrad*ry.m); + ry.c.tilt = 0.1*sqrt(ry.k.tilt*ry.m); + + %% Positioning parameters + ry.z_offset = 0.58178; % Z-Offset so that the center of rotation matches the sample center [m] + + %% Save + save('./mat/stages.mat', 'ry', '-append'); + end +#+end_src + +** Spindle + :PROPERTIES: + :header-args:matlab+: :tangle ../src/initializeRz.m + :header-args:matlab+: :comments org :mkdirp yes + :header-args:matlab+: :eval no :results none + :END: + <> + +This Matlab function is accessible [[file:../src/initializeRz.m][here]]. + +#+begin_src matlab + function [rz] = initializeRz(opts_param) + %% Default values for opts + opts = struct('rigid', false); + + %% Populate opts with input parameters + if exist('opts_param','var') + for opt = fieldnames(opts_param)' + opts.(opt{1}) = opts_param.(opt{1}); + end + end + + %% + rz = struct(); + + %% Spindle - Static Properties + % Spindle - Slip Ring + rz.slipring.density = 7800; % [kg/m3] + rz.slipring.color = [0.792 0.820 0.933]; + rz.slipring.STEP = './STEPS/rz/Spindle_Slip_Ring.STEP'; + % Spindle - Rotor + rz.rotor.density = 7800; % [kg/m3] + rz.rotor.color = [0.792 0.820 0.933]; + rz.rotor.STEP = './STEPS/rz/Spindle_Rotor.STEP'; + % Spindle - Stator + rz.stator.density = 7800; % [kg/m3] + rz.stator.color = [0.792 0.820 0.933]; + rz.stator.STEP = './STEPS/rz/Spindle_Stator.STEP'; + + % Estimated mass of the mooving part + rz.m = 250; % [kg] + + %% Spindle - Dynamical Properties + % Estimated stiffnesses + rz.k.ax = 2e9; % Axial Stiffness [N/m] + rz.k.rad = 7e8; % Radial Stiffness [N/m] + rz.k.tilt = 1e8*(2*pi/360); % Rotational Stiffness [N*m/deg] + + if opts.rigid + rz.k.rot = 1e10; % Rotational Stiffness [N*m/deg] + else + rz.k.rot = 1e6; % TODO what value should I put? [N*m/deg] + end + + % Damping + rz.c.ax = 0.1*sqrt(rz.k.ax*rz.m); + rz.c.rad = 0.1*sqrt(rz.k.rad*rz.m); + rz.c.tilt = 0.1*sqrt(rz.k.tilt*rz.m); + rz.c.rot = 0.1*sqrt(rz.k.rot*rz.m); + + %% Save + save('./mat/stages.mat', 'rz', '-append'); + end +#+end_src + +** Micro Hexapod + :PROPERTIES: + :header-args:matlab+: :tangle ../src/initializeMicroHexapod.m + :header-args:matlab+: :comments org :mkdirp yes + :header-args:matlab+: :eval no :results none + :END: + <> + +This Matlab function is accessible [[file:../src/initializeMicroHexapod.m][here]]. + +#+begin_src matlab + function [micro_hexapod] = initializeMicroHexapod(opts_param) + %% Default values for opts + opts = struct(); + + %% Populate opts with input parameters + if exist('opts_param','var') + for opt = fieldnames(opts_param)' + opts.(opt{1}) = opts_param.(opt{1}); + end + end + + %% Stewart Object + micro_hexapod = struct(); + micro_hexapod.h = 350; % Total height of the platform [mm] + micro_hexapod.jacobian = 270; % Distance from the top platform to the Jacobian point [mm] + + %% Bottom Plate - Mechanical Design + BP = struct(); + + BP.rad.int = 110; % Internal Radius [mm] + BP.rad.ext = 207.5; % External Radius [mm] + BP.thickness = 26; % Thickness [mm] + BP.leg.rad = 175.5; % Radius where the legs articulations are positionned [mm] + BP.leg.ang = 9.5; % Angle Offset [deg] + BP.density = 8000; % Density of the material [kg/m^3] + BP.color = [0.6 0.6 0.6]; % Color [rgb] + BP.shape = [BP.rad.int BP.thickness; BP.rad.int 0; BP.rad.ext 0; BP.rad.ext BP.thickness]; + + %% Top Plate - Mechanical Design + TP = struct(); + + TP.rad.int = 82; % Internal Radius [mm] + TP.rad.ext = 150; % Internal Radius [mm] + TP.thickness = 26; % Thickness [mm] + TP.leg.rad = 118; % Radius where the legs articulations are positionned [mm] + TP.leg.ang = 12.1; % Angle Offset [deg] + TP.density = 8000; % Density of the material [kg/m^3] + TP.color = [0.6 0.6 0.6]; % Color [rgb] + TP.shape = [TP.rad.int TP.thickness; TP.rad.int 0; TP.rad.ext 0; TP.rad.ext TP.thickness]; + + %% Struts + Leg = struct(); + + Leg.stroke = 10e-3; % Maximum Stroke of each leg [m] + Leg.k.ax = 5e7; % Stiffness of each leg [N/m] + Leg.ksi.ax = 3; % Maximum amplification at resonance [] + Leg.rad.bottom = 25; % Radius of the cylinder of the bottom part [mm] + Leg.rad.top = 17; % Radius of the cylinder of the top part [mm] + Leg.density = 8000; % Density of the material [kg/m^3] + Leg.color.bottom = [0.5 0.5 0.5]; % Color [rgb] + Leg.color.top = [0.5 0.5 0.5]; % Color [rgb] + + Leg.sphere.bottom = Leg.rad.bottom; % Size of the sphere at the end of the leg [mm] + Leg.sphere.top = Leg.rad.top; % Size of the sphere at the end of the leg [mm] + Leg.m = TP.density*((pi*(TP.rad.ext/1000)^2)*(TP.thickness/1000)-(pi*(TP.rad.int/1000^2))*(TP.thickness/1000))/6; % TODO [kg] + Leg = updateDamping(Leg); + + + %% Sphere + SP = struct(); + + SP.height.bottom = 27; % [mm] + SP.height.top = 27; % [mm] + SP.density.bottom = 8000; % [kg/m^3] + SP.density.top = 8000; % [kg/m^3] + SP.color.bottom = [0.6 0.6 0.6]; % [rgb] + SP.color.top = [0.6 0.6 0.6]; % [rgb] + SP.k.ax = 0; % [N*m/deg] + SP.ksi.ax = 10; + + SP.thickness.bottom = SP.height.bottom-Leg.sphere.bottom; % [mm] + SP.thickness.top = SP.height.top-Leg.sphere.top; % [mm] + SP.rad.bottom = Leg.sphere.bottom; % [mm] + SP.rad.top = Leg.sphere.top; % [mm] + SP.m = SP.density.bottom*2*pi*((SP.rad.bottom*1e-3)^2)*(SP.height.bottom*1e-3); % TODO [kg] + + SP = updateDamping(SP); + + %% + Leg.support.bottom = [0 SP.thickness.bottom; 0 0; SP.rad.bottom 0; SP.rad.bottom SP.height.bottom]; + Leg.support.top = [0 SP.thickness.top; 0 0; SP.rad.top 0; SP.rad.top SP.height.top]; + + %% + micro_hexapod.BP = BP; + micro_hexapod.TP = TP; + micro_hexapod.Leg = Leg; + micro_hexapod.SP = SP; + + %% + micro_hexapod = initializeParameters(micro_hexapod); + + %% Save + save('./mat/stages.mat', 'micro_hexapod', '-append'); + + %% + function [element] = updateDamping(element) + field = fieldnames(element.k); + for i = 1:length(field) + element.c.(field{i}) = 1/element.ksi.(field{i})*sqrt(element.k.(field{i})/element.m); + end + end + + %% + function [stewart] = initializeParameters(stewart) + %% Connection points on base and top plate w.r.t. World frame at the center of the base plate + stewart.pos_base = zeros(6, 3); + stewart.pos_top = zeros(6, 3); + + alpha_b = stewart.BP.leg.ang*pi/180; % angle de décalage par rapport à 120 deg (pour positionner les supports bases) + alpha_t = stewart.TP.leg.ang*pi/180; % +- offset angle from 120 degree spacing on top + + height = (stewart.h-stewart.BP.thickness-stewart.TP.thickness-stewart.Leg.sphere.bottom-stewart.Leg.sphere.top-stewart.SP.thickness.bottom-stewart.SP.thickness.top)*0.001; % TODO + + radius_b = stewart.BP.leg.rad*0.001; % rayon emplacement support base + radius_t = stewart.TP.leg.rad*0.001; % top radius in meters + + for i = 1:3 + % base points + angle_m_b = (2*pi/3)* (i-1) - alpha_b; + angle_p_b = (2*pi/3)* (i-1) + alpha_b; + stewart.pos_base(2*i-1,:) = [radius_b*cos(angle_m_b), radius_b*sin(angle_m_b), 0.0]; + stewart.pos_base(2*i,:) = [radius_b*cos(angle_p_b), radius_b*sin(angle_p_b), 0.0]; + + % top points + % Top points are 60 degrees offset + angle_m_t = (2*pi/3)* (i-1) - alpha_t + 2*pi/6; + angle_p_t = (2*pi/3)* (i-1) + alpha_t + 2*pi/6; + stewart.pos_top(2*i-1,:) = [radius_t*cos(angle_m_t), radius_t*sin(angle_m_t), height]; + stewart.pos_top(2*i,:) = [radius_t*cos(angle_p_t), radius_t*sin(angle_p_t), height]; + end + + % permute pos_top points so that legs are end points of base and top points + stewart.pos_top = [stewart.pos_top(6,:); stewart.pos_top(1:5,:)]; %6th point on top connects to 1st on bottom + stewart.pos_top_tranform = stewart.pos_top - height*[zeros(6, 2),ones(6, 1)]; + + %% leg vectors + legs = stewart.pos_top - stewart.pos_base; + leg_length = zeros(6, 1); + leg_vectors = zeros(6, 3); + for i = 1:6 + leg_length(i) = norm(legs(i,:)); + leg_vectors(i,:) = legs(i,:) / leg_length(i); + end + + stewart.Leg.lenght = 1000*leg_length(1)/1.5; + stewart.Leg.shape.bot = [0 0; ... + stewart.Leg.rad.bottom 0; ... + stewart.Leg.rad.bottom stewart.Leg.lenght; ... + stewart.Leg.rad.top stewart.Leg.lenght; ... + stewart.Leg.rad.top 0.2*stewart.Leg.lenght; ... + 0 0.2*stewart.Leg.lenght]; + + %% Calculate revolute and cylindrical axes + rev1 = zeros(6, 3); + rev2 = zeros(6, 3); + cyl1 = zeros(6, 3); + for i = 1:6 + rev1(i,:) = cross(leg_vectors(i,:), [0 0 1]); + rev1(i,:) = rev1(i,:) / norm(rev1(i,:)); + + rev2(i,:) = - cross(rev1(i,:), leg_vectors(i,:)); + rev2(i,:) = rev2(i,:) / norm(rev2(i,:)); + + cyl1(i,:) = leg_vectors(i,:); + end + + + %% Coordinate systems + stewart.lower_leg = struct('rotation', eye(3)); + stewart.upper_leg = struct('rotation', eye(3)); + + for i = 1:6 + stewart.lower_leg(i).rotation = [rev1(i,:)', rev2(i,:)', cyl1(i,:)']; + stewart.upper_leg(i).rotation = [rev1(i,:)', rev2(i,:)', cyl1(i,:)']; + end + + %% Position Matrix + stewart.M_pos_base = stewart.pos_base + (height+(stewart.TP.thickness+stewart.Leg.sphere.top+stewart.SP.thickness.top+stewart.jacobian)*1e-3)*[zeros(6, 2),ones(6, 1)]; + + %% Compute Jacobian Matrix + aa = stewart.pos_top_tranform + (stewart.jacobian - stewart.TP.thickness - stewart.SP.height.top)*1e-3*[zeros(6, 2),ones(6, 1)]; + stewart.J = getJacobianMatrix(leg_vectors', aa'); + end + + function J = getJacobianMatrix(RM,M_pos_base) + % RM: [3x6] unit vector of each leg in the fixed frame + % M_pos_base: [3x6] vector of the leg connection at the top platform location in the fixed frame + J = zeros(6); + J(:, 1:3) = RM'; + J(:, 4:6) = cross(M_pos_base, RM)'; + end + end +#+end_src + +** Center of gravity compensation + :PROPERTIES: + :header-args:matlab+: :tangle ../src/initializeAxisc.m + :header-args:matlab+: :comments org :mkdirp yes + :header-args:matlab+: :eval no :results none + :END: + <> + +This Matlab function is accessible [[file:../src/initializeAxisc.m][here]]. + +#+begin_src matlab + function [axisc] = initializeAxisc() + %% + axisc = struct(); + + %% Axis Compensator - Static Properties + % Structure + axisc.structure.density = 3400; % [kg/m3] + axisc.structure.color = [0.792 0.820 0.933]; + axisc.structure.STEP = './STEPS/axisc/axisc_structure.STEP'; + % Wheel + axisc.wheel.density = 2700; % [kg/m3] + axisc.wheel.color = [0.753 0.753 0.753]; + axisc.wheel.STEP = './STEPS/axisc/axisc_wheel.STEP'; + % Mass + axisc.mass.density = 7800; % [kg/m3] + axisc.mass.color = [0.792 0.820 0.933]; + axisc.mass.STEP = './STEPS/axisc/axisc_mass.STEP'; + % Gear + axisc.gear.density = 7800; % [kg/m3] + axisc.gear.color = [0.792 0.820 0.933]; + axisc.gear.STEP = './STEPS/axisc/axisc_gear.STEP'; + + axisc.m = 40; % TODO [kg] + + %% Axis Compensator - Dynamical Properties + axisc.k.ax = 1; % TODO [N*m/deg)] + axisc.c.ax = (1/1)*sqrt(axisc.k.ax/axisc.m); + + %% Save + save('./mat/stages.mat', 'axisc', '-append'); + end +#+end_src + +** Mirror + :PROPERTIES: + :header-args:matlab+: :tangle ../src/initializeMirror.m + :header-args:matlab+: :comments org :mkdirp yes + :header-args:matlab+: :eval no :results none + :END: + <> + +This Matlab function is accessible [[file:../src/initializeMirror.m][here]]. + +#+begin_src matlab + function [] = initializeMirror(opts_param) + %% Default values for opts + opts = struct(... + 'shape', 'spherical', ... % spherical or conical + 'angle', 45 ... + ); + + %% Populate opts with input parameters + if exist('opts_param','var') + for opt = fieldnames(opts_param)' + opts.(opt{1}) = opts_param.(opt{1}); + end + end + + %% + mirror = struct(); + mirror.h = 50; % height of the mirror [mm] + mirror.thickness = 25; % Thickness of the plate supporting the sample [mm] + mirror.hole_rad = 120; % radius of the hole in the mirror [mm] + mirror.support_rad = 100; % radius of the support plate [mm] + mirror.jacobian = 150; % point of interest offset in z (above the top surfave) [mm] + mirror.rad = 180; % radius of the mirror (at the bottom surface) [mm] + + mirror.density = 2400; % Density of the mirror [kg/m3] + mirror.color = [0.4 1.0 1.0]; % Color of the mirror + + mirror.cone_length = mirror.rad*tand(opts.angle)+mirror.h+mirror.jacobian; % Distance from Apex point of the cone to jacobian point + + %% Shape + mirror.shape = [... + 0 mirror.h-mirror.thickness + mirror.hole_rad mirror.h-mirror.thickness; ... + mirror.hole_rad 0; ... + mirror.rad 0 ... + ]; + + if strcmp(opts.shape, 'spherical') + mirror.sphere_radius = sqrt((mirror.jacobian+mirror.h)^2+mirror.rad^2); % Radius of the sphere [mm] + + for z = linspace(0, mirror.h, 101) + mirror.shape = [mirror.shape; sqrt(mirror.sphere_radius^2-(z-mirror.jacobian-mirror.h)^2) z]; + end + elseif strcmp(opts.shape, 'conical') + mirror.shape = [mirror.shape; mirror.rad+mirror.h/tand(opts.angle) mirror.h]; + else + error('Shape should be either conical or spherical'); + end + + mirror.shape = [mirror.shape; 0 mirror.h]; + + %% Save + save('./mat/stages.mat', 'mirror', '-append'); + end +#+end_src + +** Nano Hexapod + :PROPERTIES: + :header-args:matlab+: :tangle ../src/initializeNanoHexapod.m + :header-args:matlab+: :comments org :mkdirp yes + :header-args:matlab+: :eval no :results none + :END: + <> + +This Matlab function is accessible [[file:../src/initializeNanoHexapod.m][here]]. + +#+begin_src matlab + function [nano_hexapod] = initializeNanoHexapod(opts_param) + %% Default values for opts + opts = struct('actuator', 'piezo'); + + %% Populate opts with input parameters + if exist('opts_param','var') + for opt = fieldnames(opts_param)' + opts.(opt{1}) = opts_param.(opt{1}); + end + end + + %% Stewart Object + nano_hexapod = struct(); + nano_hexapod.h = 90; % Total height of the platform [mm] + nano_hexapod.jacobian = 175; % Point where the Jacobian is computed => Center of rotation [mm] + % nano_hexapod.jacobian = 174.26; % Point where the Jacobian is computed => Center of rotation [mm] + + %% Bottom Plate + BP = struct(); + + BP.rad.int = 0; % Internal Radius [mm] + BP.rad.ext = 150; % External Radius [mm] + BP.thickness = 10; % Thickness [mm] + BP.leg.rad = 100; % Radius where the legs articulations are positionned [mm] + BP.leg.ang = 5; % Angle Offset [deg] + BP.density = 8000;% Density of the material [kg/m^3] + BP.color = [0.7 0.7 0.7]; % Color [rgb] + BP.shape = [BP.rad.int BP.thickness; BP.rad.int 0; BP.rad.ext 0; BP.rad.ext BP.thickness]; + + %% Top Plate + TP = struct(); + + TP.rad.int = 0; % Internal Radius [mm] + TP.rad.ext = 100; % Internal Radius [mm] + TP.thickness = 10; % Thickness [mm] + TP.leg.rad = 90; % Radius where the legs articulations are positionned [mm] + TP.leg.ang = 5; % Angle Offset [deg] + TP.density = 8000;% Density of the material [kg/m^3] + TP.color = [0.7 0.7 0.7]; % Color [rgb] + TP.shape = [TP.rad.int TP.thickness; TP.rad.int 0; TP.rad.ext 0; TP.rad.ext TP.thickness]; + + %% Leg + Leg = struct(); + + Leg.stroke = 80e-6; % Maximum Stroke of each leg [m] + if strcmp(opts.actuator, 'piezo') + Leg.k.ax = 1e7; % Stiffness of each leg [N/m] + elseif strcmp(opts.actuator, 'lorentz') + Leg.k.ax = 1e4; % Stiffness of each leg [N/m] + else + error('opts.actuator should be piezo or lorentz'); + end + Leg.ksi.ax = 10; % Maximum amplification at resonance [] + Leg.rad.bottom = 12; % Radius of the cylinder of the bottom part [mm] + Leg.rad.top = 10; % Radius of the cylinder of the top part [mm] + Leg.density = 8000; % Density of the material [kg/m^3] + Leg.color.bottom = [0.5 0.5 0.5]; % Color [rgb] + Leg.color.top = [0.5 0.5 0.5]; % Color [rgb] + + Leg.sphere.bottom = Leg.rad.bottom; % Size of the sphere at the end of the leg [mm] + Leg.sphere.top = Leg.rad.top; % Size of the sphere at the end of the leg [mm] + Leg.m = TP.density*((pi*(TP.rad.ext/1000)^2)*(TP.thickness/1000)-(pi*(TP.rad.int/1000^2))*(TP.thickness/1000))/6; % TODO [kg] + + Leg = updateDamping(Leg); + + + %% Sphere + SP = struct(); + + SP.height.bottom = 15; % [mm] + SP.height.top = 15; % [mm] + SP.density.bottom = 8000; % [kg/m^3] + SP.density.top = 8000; % [kg/m^3] + SP.color.bottom = [0.7 0.7 0.7]; % [rgb] + SP.color.top = [0.7 0.7 0.7]; % [rgb] + SP.k.ax = 0; % [N*m/deg] + SP.ksi.ax = 3; + + SP.thickness.bottom = SP.height.bottom-Leg.sphere.bottom; % [mm] + SP.thickness.top = SP.height.top-Leg.sphere.top; % [mm] + SP.rad.bottom = Leg.sphere.bottom; % [mm] + SP.rad.top = Leg.sphere.top; % [mm] + SP.m = SP.density.bottom*2*pi*((SP.rad.bottom*1e-3)^2)*(SP.height.bottom*1e-3); % TODO [kg] + + SP = updateDamping(SP); + + %% + Leg.support.bottom = [0 SP.thickness.bottom; 0 0; SP.rad.bottom 0; SP.rad.bottom SP.height.bottom]; + Leg.support.top = [0 SP.thickness.top; 0 0; SP.rad.top 0; SP.rad.top SP.height.top]; + + %% + nano_hexapod.BP = BP; + nano_hexapod.TP = TP; + nano_hexapod.Leg = Leg; + nano_hexapod.SP = SP; + + %% + nano_hexapod = initializeParameters(nano_hexapod); + + %% Save + save('./mat/stages.mat', 'nano_hexapod', '-append'); + + %% + function [element] = updateDamping(element) + field = fieldnames(element.k); + for i = 1:length(field) + element.c.(field{i}) = 1/element.ksi.(field{i})*sqrt(element.k.(field{i})/element.m); + end + end + + %% + function [stewart] = initializeParameters(stewart) + %% Connection points on base and top plate w.r.t. World frame at the center of the base plate + stewart.pos_base = zeros(6, 3); + stewart.pos_top = zeros(6, 3); + + alpha_b = stewart.BP.leg.ang*pi/180; % angle de décalage par rapport à 120 deg (pour positionner les supports bases) + alpha_t = stewart.TP.leg.ang*pi/180; % +- offset angle from 120 degree spacing on top + + height = (stewart.h-stewart.BP.thickness-stewart.TP.thickness-stewart.Leg.sphere.bottom-stewart.Leg.sphere.top-stewart.SP.thickness.bottom-stewart.SP.thickness.top)*0.001; % TODO + + radius_b = stewart.BP.leg.rad*0.001; % rayon emplacement support base + radius_t = stewart.TP.leg.rad*0.001; % top radius in meters + + for i = 1:3 + % base points + angle_m_b = (2*pi/3)* (i-1) - alpha_b; + angle_p_b = (2*pi/3)* (i-1) + alpha_b; + stewart.pos_base(2*i-1,:) = [radius_b*cos(angle_m_b), radius_b*sin(angle_m_b), 0.0]; + stewart.pos_base(2*i,:) = [radius_b*cos(angle_p_b), radius_b*sin(angle_p_b), 0.0]; + + % top points + % Top points are 60 degrees offset + angle_m_t = (2*pi/3)* (i-1) - alpha_t + 2*pi/6; + angle_p_t = (2*pi/3)* (i-1) + alpha_t + 2*pi/6; + stewart.pos_top(2*i-1,:) = [radius_t*cos(angle_m_t), radius_t*sin(angle_m_t), height]; + stewart.pos_top(2*i,:) = [radius_t*cos(angle_p_t), radius_t*sin(angle_p_t), height]; + end + + % permute pos_top points so that legs are end points of base and top points + stewart.pos_top = [stewart.pos_top(6,:); stewart.pos_top(1:5,:)]; %6th point on top connects to 1st on bottom + stewart.pos_top_tranform = stewart.pos_top - height*[zeros(6, 2),ones(6, 1)]; + + %% leg vectors + legs = stewart.pos_top - stewart.pos_base; + leg_length = zeros(6, 1); + leg_vectors = zeros(6, 3); + for i = 1:6 + leg_length(i) = norm(legs(i,:)); + leg_vectors(i,:) = legs(i,:) / leg_length(i); + end + + stewart.Leg.lenght = 1000*leg_length(1)/1.5; + stewart.Leg.shape.bot = [0 0; ... + stewart.Leg.rad.bottom 0; ... + stewart.Leg.rad.bottom stewart.Leg.lenght; ... + stewart.Leg.rad.top stewart.Leg.lenght; ... + stewart.Leg.rad.top 0.2*stewart.Leg.lenght; ... + 0 0.2*stewart.Leg.lenght]; + + %% Calculate revolute and cylindrical axes + rev1 = zeros(6, 3); + rev2 = zeros(6, 3); + cyl1 = zeros(6, 3); + for i = 1:6 + rev1(i,:) = cross(leg_vectors(i,:), [0 0 1]); + rev1(i,:) = rev1(i,:) / norm(rev1(i,:)); + + rev2(i,:) = - cross(rev1(i,:), leg_vectors(i,:)); + rev2(i,:) = rev2(i,:) / norm(rev2(i,:)); + + cyl1(i,:) = leg_vectors(i,:); + end + + + %% Coordinate systems + stewart.lower_leg = struct('rotation', eye(3)); + stewart.upper_leg = struct('rotation', eye(3)); + + for i = 1:6 + stewart.lower_leg(i).rotation = [rev1(i,:)', rev2(i,:)', cyl1(i,:)']; + stewart.upper_leg(i).rotation = [rev1(i,:)', rev2(i,:)', cyl1(i,:)']; + end + + %% Position Matrix + stewart.M_pos_base = stewart.pos_base + (height+(stewart.TP.thickness+stewart.Leg.sphere.top+stewart.SP.thickness.top+stewart.jacobian)*1e-3)*[zeros(6, 2),ones(6, 1)]; + + %% Compute Jacobian Matrix + aa = stewart.pos_top_tranform + (stewart.jacobian - stewart.TP.thickness - stewart.SP.height.top)*1e-3*[zeros(6, 2),ones(6, 1)]; + stewart.J = getJacobianMatrix(leg_vectors', aa'); + end + + function J = getJacobianMatrix(RM,M_pos_base) + % RM: [3x6] unit vector of each leg in the fixed frame + % M_pos_base: [3x6] vector of the leg connection at the top platform location in the fixed frame + J = zeros(6); + J(:, 1:3) = RM'; + J(:, 4:6) = cross(M_pos_base, RM)'; + end + end +#+end_src + +** Sample + :PROPERTIES: + :header-args:matlab+: :tangle ../src/initializeSample.m + :header-args:matlab+: :comments org :mkdirp yes + :header-args:matlab+: :eval no :results none + :END: + <> + +This Matlab function is accessible [[file:../src/initializeSample.m][here]]. + +#+begin_src matlab + function [sample] = initializeSample(opts_param) + %% Default values for opts + sample = struct('radius', 100, ... + 'height', 300, ... + 'mass', 50, ... + 'offset', 0, ... + 'color', [0.45, 0.45, 0.45] ... + ); + + %% Populate opts with input parameters + if exist('opts_param','var') + for opt = fieldnames(opts_param)' + sample.(opt{1}) = opts_param.(opt{1}); + end + end + + %% + sample.k.x = 1e8; + sample.c.x = sqrt(sample.k.x*sample.mass)/10; + + sample.k.y = 1e8; + sample.c.y = sqrt(sample.k.y*sample.mass)/10; + + sample.k.z = 1e8; + sample.c.z = sqrt(sample.k.y*sample.mass)/10; + + %% Save + save('./mat/stages.mat', 'sample', '-append'); + end +#+end_src diff --git a/simscape/sim_micro_station_id.slx b/simscape/sim_micro_station_id.slx new file mode 100644 index 0000000000000000000000000000000000000000..643a1d3fd3a8b34e1f016b0a7a706a39e4556d3a GIT binary patch literal 103361 zcmaI8V{m3cw>BKxP9~U4Y-hrWZQHhO+qP}np4hhS`;PO?bKd%@&N*+@`)B{?-ql@e zU01JOdtKdIUJ4un0|W#F2E;%`PL4n)ssaEC0zwA|0)qapRZGau*4f0?Sx?!+-o#0V z-rdG}B-PGtkr8FIPcpf!++iP5u>730C5zPp50l{F*tv-zLghQ@nwBOnSBkq)kTRLQ zoWaNU#&?$Uej+K#tR|7-NkB8H%&y5HGk;%IT zXcb0WV2u9I969e}OnV2%7Cgnp+N`8rN4&6*HU+9D5OKBb{*mio^(&Jj(k8~4E5iu1 zC33?0hn>`E#Zt{q2D40UE>$<%TJ3r+g1xK+QbO?6M7W-Hv@WeN;j$E3#?oMZsswRx9e)h}df80KJJiMVBKCWy;f{lk^iL_IwDOS`jKR~$EX zLyjLl9^6?uh+mjQY1yXQ?(MB?yeLo~RB2C%C@q7y)AOIAt|~#qb-~dq-vph@1Tirv z4f3r8ICaIZLTPmiN?P8^sdXEhQoHVabqS(tE!LQazq1Y07wpPaIUU+uL7sS>Xu|5K*$Ea0LQ`rH%h zk%uhGaXJl5T_zCn49rH7LvwrptmRv?TzLN}XK)kbY%WtCd8si~gUv|Zd=Hv_=%v%N zu&~eZiz1Bv111xk`nRGQ`4nl{`#EW35uqx@EOfF&gW(9pMu)ltvVvG2+<9-`kU*T47;Z*7 z?w+}0xhF3tS2vyVVH*d=^^>iKOqoXrnQ1j5^IIgV`iOi?bYp z=|2nDM{!CyCI%9(fBE%Uuxq7*ws(Lt%n2E| zWBp2YX^uRqs(Bnv4k41?j+L@;a@L_e;)J0wmaN~R8easijzJd{{hMkPiZI%?za7r{ zC?;9PBdI9INhY%4m^*%oT(^LyV_uZ`w9Yi@$0*+#)?IMC73~1i0RGSbqphfzb2El_ zv-KaDZCsex0w~zO8q(;Iel3lTVNmqFIOFIo;3U@~4r9@O8MI<5TWykDH_p9%BlT8+ za@%T$k|C-N{62o^K{f1Qf|j5zp>hRR>RiWAJmkOheqIM5Pfb1nYPAat1-}QLAjxJQItt=(3Yn%w}->GRe1(MDKokPSZ@5Xp(34>0(#*pQAd-;B-eSrK=XzFA; zbVvU|BK8j+g8vSUjobeXj!E34Ef^ERzvc6{7hPYZN_wrKsFLy%BuQPGH3EHPpUF=S zi`MjPA$9h?#}gPXuvK3#w>0U}mIyXMetNzz*|+#*L<6bz6Pg$m;3$}CXy)9#seD&f z99`mRJkK-SgKs&lC)q&22B>0|Vhi$oY?7nY-AeNZN~1IMWS~pFCDA zTdl7(-5y~7(*dXuio#w042SsV0P_Er14P{a?KMsocDDbasZMN{;~*mjq@PHU?ktR< znXwX?3!I=IiH;F+>QREQf8Q7}X2oo7PD__n`ULU`bIF>*2pJiU&Vv$<>yy>@0G^~| z$eDpGD!1p5;6!cP{(<7?Y&O=E%b=jD94!HXmCjBurR^|C2z2=&*|E|-J!FGF_W){0 z>fi9w@AnqNkC^r;kVPX`?M#oFJRl&=XVo{sAkY z1$NPnJDg7okx}V zWW?Bc#hkq<5hImUl+@nR4j&Uop+=!!47@*;Iu4K8bnBxSbW<9VvQToh@lTgREoZ-O zY@7yn<|Mi&3|T<^5xvhcIKf6(PRUUd%XoifGFigqwb@Txz;}IB#*++L2q`;&E)KRz zorX?XGov733&`=@O}7o-7#aKX+xP2#v0o&w-nbm?AM^jE6IlPeVhHNO!+b$A+?jxM|*cat9y-l zS*k{7!>E36o@e_P>ABb3j=#)gOI2CXFuOkh3&sz->j+Gv37PTA;tJLNbbD$|+=aFp zl}vedUB3v}pia3^{W^`gigM{r%j1R$8(Lcvx6DuP%cL1!!KI^K^Xa`-GC3aklhX7?F-fGXOO^DIf>Ltgup1QH{hcfRa=$Uv zHlmXDz$B_1pOj=oD~h>OAFF*W#A?@cj$*RlXPOsbU!U ztX{l|ZP3)%Dl09Gpm4sh0{?&s`AKyEzwUwCryZZSJAO~gNJ24NJ@%Zr z-sZ@ZcXuby21S)vhPh8HZV2oj&+P125=fNHzV*F37kXwE7m&82BP+EkMKb2{Kr0-{ zYR};j5&|siH~XQ!QhE!M$XUOBUs#kuBu7VI?e%-6FkDgJ8-9wXo36#XfDzu}V-X^~ zKj5eaqA1I^v-0xB(D!DC&)SD@a&aOeASDLj;}c~4sSx84(Z;^Zcve(VQj`05VfsT1 zy0EYiNVgi&#a<`*69vXKeq>;UmNH%MlMT>>myLpT@vJxRi=-`a#%FxTj!!EP9vL1E zvmK9#GJamb6q_B*qC_U`7qzZK)RJozA!#TjBN4Hdhva@JEV;mM$eG=#RH9g7Q)E-# zjzjLojA60yO)&Y4R&2=AdQ-;A-x(68Q`YF{sLEY`yyaZQY~a^j_iN!Y)p$9+wlnLgWZiH2^CmRqZn-mC`T|U(UQunh zyoeHON1A6OH0u%o<{y1BT`St?a0Vb{&Uf#hr_`ffSZo8zNGd6H%gtW24bmE^JthQY+I^ zjR-59>p2zW<=&@%G za`MaIC1qJ+Vq%%#ks#;>_DMA!+tKfLBzfs6orB2V>Kiti^Y-nWzWoIy#Zo0V?S!`M zjRUqUk?caJV#f4z>-#K#31lNBlC(5DLvsNSG3YHn-#f0cDWP?tE!~toB^o+{#Q0Eu)N4ukx~^ZLF=M^X9evO&BdY+ry!upaki4 zA}wR}ZCz8F$fZ{bqZU27C%JspiOm1XwKz_Y6aWu8&J8sctgK=M2M1e@PwZETs;&eJ z3-#keo}iB=_Tm2}oVd>WA;a|j{zJ>Oz{OB$Cb)|ZaCzJeIPD#32(#ki&xd0m;vkd( znnFaj3W<%hy?L2xqk}%(zS2}r*1nhfK9kMToA~J0-y^~ z2~-P{_8sYSY}|02;h{V&7LCFPe4)G(rh?*u1p=GX7BL#xrvwr>Afb*3{52u))^s0TE_S zR2?MNoUqxd{=lW{kzy$b5qoNaUq(X2WF5;3)}MM$F&m+d%zSWaI8iW*b6)Y}2F@QUpNNT@+A4C_!_$vt zNmCM;;3NM;qnGhxetw?wrIP4j>@!GrzkX*dVr@+ws^4>Qq5Y5F=fyq$wM;wJqQ1Po ze&ChNU7_p;LV835fALHxaAsmhytu|8G-K+PKZN5~V9fAZKvB{cfdg8s?%;UG>noKz zI(glXFc2l{>zm#&qM>>C^v)v3&DxN`bgLbc*WYF(!;)P3ZRi${=Bi_3V-^GYE({DB zmZm%E*|Vi%twrD2X^Vi&*WcfA{f$+Xm86`wiR|uN(Ibh5q2p&bxK)x<)IM!B*=3hw zHoNfd_Gi5T_mb&Zyq*{j-e*;UDu2X&+4?Ztw)%r`!o$OJ5oL2Ue#eI}eLe$7*5-y1SgaFy2qNLRBav(Wy0Nq+hB(xUjH@j*doae+@j31N>&=;pJ7L%p^te>EeGX;zu)n z^V^1@RI0Jo`d*FoFk!vsG{pKMZD6oon%a7NPBF_z+Ae>4ee~7M>mj9BIE10_cwBAw zP}9o`?cl5n*4Va}Ah?X`qAHCqM17-9;`rI*@Ead}z;VWCfa}~bRY=dJdvl277bQRT z`B2vOj6WhS2UX|P2qXgL98r7EL`JI*31%aXnmQ$zF$COC+d&(f5K#0a=d-ZUhYD{7 zMPk2Xpdo^by}NnKR#rttl~j+3z%~cVP+1NwfJA6u(c`n?rRjEye_VNWJ|c^Yi<5Ig znC}`!cL#6O`Vuo*+;POk*(K!Sq{7N#9+cXrKfgT0)>JROrw_>#d&pae$Lr(-9X?%2 zYwI|oU+r?m7>fY*gR{v0XS#TAqZ;9kscKj6T{SA7E>l6ewGT0sL>HnZU?9FfzT!s$ zkbPoGPpzLYBef70>s~+1+-)_8v~KFJFjPG9$&Ie5P)c_82a!QJh*)M?E5%*aC9f~7 zK0X>I=5k+eR&vJjJ)yWiI8x#)bcp3D6xocz`OWxVLsRik&7MF-b#-+`38taq!$vo2 z;WBk`X=$msj?$SUVMhwB+Ci6_ftHr|X@sRHKYl9!$mTCCQ~r7UG zxA~V(y1KHPn^lZ0y8gx05?@`{MA=$cF=bOU-_xl~D&ZlUBHwdp(Up57vb_6&L@odL zZczRe;j0CUc2$zM`z1y(Yn0EBO)_dPFLkhWJ64(B)z#H&M)6K-Z9OmQ57_sv>atOd8aJv5i2-u?C$D%ks`#z1Ot6`#C7|R!-p@Na|(JhH`1>aZ?XoWn1gjfCL6Q3bvG?Rhv|)tE)@Z z6FQsQ!|B!O7qWpwP)IwCB#1_iX>4Lbr~1aH(&yf?VWDr0&&K(R;S0RE`jN7@r%IFF z^;pVF?OF!bh#I*c#P7OVtQRilteUFeHVvj72>yH1T2fmYPCV zL{9=$VLo8NjGDg$4?WEx8B%j|V!n5FU=-J}$rX9L%gKoibo??a7XfvW_C@A*Gvq?F*Mi*g#z)CMr1n5UVoxcVjnG6sXhC-AsScgN%l7VIVDEE z`^6vo7?6u8ElSML(E0gly;}yanwB^y@WrHgJ+b-flMlvSwrjc^`J*xnUOH8YHx3~axSB7ViIJ5QRAyFQ-uBiOer%IJ`W$)@<4*^J$y>@4 zs+o#=r(yV&w?UQLG{+-DMo);bU}q{$PMOD5ykz(?8n-couC<}N{pYcANUc38jFL*shG)5)YmT!}1prRqKwCv+Kba~3UTwj75j2R7D@Som=Rl^)i%pe@CYm4rw5 z52P`S^)7vt9$Vg-Nr)DPzQ#Upv$AhNJ2VK~-f1^F?)H3tpfez0OoP-e4ql{#mB2N0 zaCeWg(<1+@*{7z0b$N^}@?Ybkw`#3lza5UDjiw_c zci!%kgmrVKw@%u#aVyf?p`nBJ&gUoFBsu?dOnU=cn&dGYyy{egQS5J_K^q}b)O?bX zNbF@BSt1tKh@3ZHAtCEesuODTUa{2MP=sN(1Q)OOZuM{=*Q8+Kd_Kb2g^ouEFr1_B z`qPe-TPvKk+q!tGop=5w^EQ85X?^mUxZXrxl~ljTxIN9mquecaR>6x^Y2<(XucAAY zv_MY7zk+)nGzbXpzuK0Qg^i1~g{>8Xl99QIv5U2d(7)pQe`#haQcnLgvtFQ@v9}uS zL?azj1ULAxgFeR`U`vA+-wTazR5AZ}m1N8TttURjo>Hx2;Q4n@=@s9eZ)T zu_6sL<51t!a`~)LmoDhN%Pkywb$xlzR{OpFBA-q+NP^KypvJ)DrfY#dXs`pIf}^RD z4tIjteqgm&bFIy$qJGS=Wl~Xj$1);39`=PT#!8MlBH+rFbsd|bma;pS@tRfYdNMz~ zrDT;lK&HmHX)AS|Adhu9Tugb;AUZ|LbbtaMT*4HcAzli5g>)y@th4T1;?+sTU6kD? z4k*yZ%xg_y-4?62Mg0?p0UcKnzI092@otS%k@E@D}=nf}GYf+RkOPU)qz%6fxz^@i5C^G6V^f)Otf!XOuZ z7(xnVmQ94eL|&L5U%?}|_^TFTpSZ!p`gaMnPU_I;n-$@T5kF$egsn8vW=xuK8=g+l zAKb#=l4vp5L$PHf16P``z#fn9JVaxM|_6EpzykvDGT_b5qO$AC!aX zC1zNNQcsr87KMGyqn%|MJwh%gXHe>aaVy$q3>b8Ph%xfQU+8M1?_TQtsz8jhvjGtN z&kDAge(SHXe>@L_{XgQ;|HX3=V+&_H$NwKtkK>InDl}qjEZB`_SpF)9#1S}YexWwem{IF3Uj56-Y_UjZ4 z7MY#wyFYq02}N&&NNPa{UW9+0Q!E^i6CZ4(Q4%YLMIbxmPav)Snl#ZZhpHUv=d*+) zv88nHZxN*`1`DB05r+|vPsQg?3}z}3(~j!4eCV8*CWoIuh>P;+-iO*4vbeQ5Oa1XD z;Ie#0WZO7T{5xa++OgAMVv|9HPH$t1)hd1e)3dW`GHd%Qmmvb}1KRl~%YYkgz zrENygIdc#5(P?OhYlkY^njf8i$6bDphc2VoKJLzi)V|yI;R*Tp?GVmDpu-YK7c)3kBYTx?L}w*7Kh1cyO+b>WGN{ z42{Lk_e$?iY$^l(SDcqNQYSC^r`}Bci}R%aJodt85ZKCot?K!hF<;6?dp8m&-4lB z69c@&#YexEiLXG47M9if?(X;;1955d`LG8ChZer|0h+aNIB8T0Yfj73Miofe2%gPV(MV#>j2Mg}(!#WTh%nPw;pW)tu*@OdIsJ3IP%6Jwty&``Fsi zb(c^MoN?st=vyf16z3dQI8Fm#K1-QW*chLnr05u`8LQ0hHcd0c@zP&^fX}h(nmOsO zT$wVjms$ctMMpL&nHU9->8gHwGM|k&)|;NUyiPfkIG^Qy`FfY70#&J|Nv6!0b-ACM zV`RFU{&aD-o+5qFoI)KR9H)kBq{)YmLRfY;X9`tg>y(DEE8B zUat85XOPS7xQ%N52QI-spvnGkkd5qYO)bonOq~CJdG5bZHi;Xs9AZQW)f+kMr6eed zMlEX_sI__r8C4)iQfE(Ht+CU~ksOMB3+a{nwttbT>QGEcUmvW!96)*J5kbP5DVt4m zV_d+Ovz?a4vL)3=I=qvqvhpNxqBX=AG&HcS@%|Z^N5y&WNW3ylwtAEq%ck$(>kx3) zatlu>TteXg&^^VvVm+9l`z$@o9%V}im!+bMS-TlbA{FO5cOIDi4_E5O8y}1&J zjK9aRSGw%}zqk!0G8;V%0|J8lPnpI3?`9hs8=IIKxL7;?*P(%HO&dFsHq@_Ny@oYp zk*p;%y#+9z1kCYN7j{dHz>+3^2m$`XW^v`H(76D`XLm?OoSndb~y9r0xkx+Il1RRhg~DATyS*+rd^2vNJzBw*035@0LeCjjadr&%_Z zUU7#hsvu{PZq=w!@}XRRb?;sP-`z!ly>6^lW!S9Wp((~%I!jy&Dg|M?kt)fM!GU#2 zWpS>x(F@f8Hpzm8g?Fz9g97Tbun2qidJtm5xLjUcX5v!w*m0=5p0l!1nwJb4 zJ1FJjALDgZpTRbwXqYmPkhY``9tEI$Kmn{!<;zs5aI~?kkH^*TS})DAu*#OVDeECp z+<JNl_YSBr~Y<7`@a zWzx*|!CsC++R}$86{I`FP<6LQy4VaSiDXD3rHu3;IjS4+D?*}{`ErR>nCK-xWT<1L zG%Vt<-TXs_!)q$1NoP{ZC0sm^X^F(|m34GG5;}-38nt<6)v1_HLb^D%GlOB-`h>Nt z$UbJLSz_RfgcXAIeKDe?++yIY;i_FLx6wp^?fgM6&)#(MxX-qi2N4Ue!YqBj zVW!;GsTU7Rr)p34sOTRh?)dA5k%G7-lQqF7`qO1ri~ zd-*UDo5=hnLT9ftM>?_iw%W1l6$#!*7IV|;qEmhx_uz#NbsHN}_{Fg-{vNyAlb&4@ zNp$eeM_YCSIs(ilP!I7>`OQADmESK)S5%v%gjYQQoQ&c4t1o1nA+>GePP<+gC5o{hMnM+PyBBo~vRfI`c~{V0Z_0Fe~1_ z`XJ>NC%bXVS~-!L;y|X&m{ET2&t|h3K)ychFDqst$)DYeZzzsyN&V&iV1{+0_uW}f z1sW#Wc>3H<|8PNr=CA?Ng;^rDupdX2kkyi2Ae=5ZzR?j#4<>zRwQp-SbeX8@W*Ajs z=9C~L$(r127)VL;7fz|5i;drU`dqy{1YC_b?WlJNseu|~~(6ZUg zpA@Y26S2bpEAboI3Fumz35dv^iala|Kd`9pyv#mY%ihG&C3()rQDyybH_*x@Tm(~R zb^n^8-+IeDue!{#fk}|^8v7gP%{?HfSJ42|*nk2(yr|&(VYt!1KMq6u-BtIChIfPt zX)W&I&Z|>vTRpIzu4LoZ2Ix_hR`$#T+l-41zD*guRlIvx6I45bT%)4~W89S}?rtvi ziR>$a^+Q0B+hb8AdSk-LJ)*N<^f)l71YE`tU!U9J(fvROU>9Z=Afsh37G80npV9q> zEw-dm_Wri~e8Xm;`87sFF^r4}Q;}Ag9NegmPck(Mk4W1$%%MxzTjgb-cD&RF&b5=w zjXiX1w~kS+T@1*st!RO*jC6tejp?xndnkNMctRw(VHHajFoX3ZIDo2f9urlL>?+kR zG{sC%mCExtK^lky!LmZpCW#qDOVa|CLD0Lq$t|NWvJAz{)gKg71ApmgN!>MU&Z7mw z*%8Y{$VXAkf-lo*-vPJ#)l?av`}qWd-RiKGd`int(6 zX&8-;4ex5T3nOu1A;gT54Rp&p0IJic?K78H06W=(`^hPi9x4~qb8Srcft}QedT87& z9T7OuSfsj{Qy;^g4GcVd6}ISb`gc%LHWtPudGnAh!{pI(C!kYA=?q>?z{T=} zoPDe$7y3ozK!`f?BVR>>Uv^oE7uJ)6Rb~z%<=i2R215V&i`>^xpPbR9)*J;_db^;- zmaCe-)HhN&Y*^>UKD+W;io8(~!uJA2*>apT{5P9v5pz5;)olz`bbV<9mWg95HAL1^ zC+){c7DMUir9OEyK1yH3{dde#6DT!#dvg zU|>%I3bNgR@jr_<|2v((>hV%L6mMjB^Yepac-zt7Wr0+e+tgvp77<{Y-YVSFe^cT0 zQXj<1S86>LdA4%jm&SSl<8n;gySTSr^`LiqxF1UaS4%z5A03#9VqSem5=gz5&xK-V6c4Y3 zz=_Pw?=@U4z3cP&o@1?~IRM`<;w}D%w@V|pcbgw7pRezu-<8B#*Ikc@FmUmH3|^2G z+0}D?S2k`U%hgkig$AZjEO0%Lhwy4!&g{|R$%Dc&meu|2eZ{Dj_hA^)tI+Ma{bwK1 zdege>?OMjB?bOKbQgY_pVxJhp``Apdv)`%zlX-VHEMd@GZr^5^U!Bj#cSpusE;d%4 zciZe6CQA>IL+h^w4eEoqJ_3)&5V>56 zYNvuF+UBsuyVi_YJT<82*_uibn*~?OZY;Qh` z51jJMPi|wm-4wgMq0jVOfAdNXz?kNQxkCTk0|$U#jt7g4{|1_IKl?T z1qhK&VDX_I&-d`YqS2lPmlRl5eg<%k2g?hk_5QNrUq)=Qi-vkbS@OS?NlS`<^1Ygx zwQhvdF+=;%dyrym!0Kq&ICXfs8F#YF>0+5|xv}QUz$!`m>Q2`z_)J0%&ixiIRrp$! zW6!|u&P^obYK!Id`F0;{KAjo(eoxbQNrn4laNFPHLSufmVVpl+u7f4eDLb6YWN<}# zN?2K)O5iMakK>JE^LQXMVenb3;J&vh{53?>qR@AzS-4sW3Ah4tekYL2o9*iY#-Q63!~B*}-tblyd+iT%yx@47DLO`y_0}=j zUU_kLo^$yM@G`r25&n^=KssoP4`9mZH#TkJ?EwtXaKkY0j3LTV%zu<)sItzax$aG; zHvfo$=;HwV-mLSB4qwd8eOKD7yEpO=6j0T1Ulq>#nCrne}t8 zr-(*ha5m>-gk`NITgaejjgOM*6onaB$mEm*R7gFs8vq_Ie6}CWQol_)%CAP>Gk(7c z@->bevGSzbpy!WGH0Qj`1U|4L`82xoD_0#Z3OgTrGyzqQohdx|w4vCLyMaA+!pZag z#nernsd=>95S$2JkR0s>9=c_2`=5 zcKGz9)YDTOCw$7*=8iMN=ka!b@I>N6ZEJnn9~mq7K|tc^JGBCR7)Sq=6EvqabuOwY zq9Sgc+-Cfw}3q`+NYTO3OCxO$2>* zQpiOt-1liVRh}lcHKIF63+>GKunX#7uLR2kR`RBQz9vq^!V$u~UDLJ~1-jYTD)qWa z{p6pn3O|qt*j>|l!}!V}(DmW*&hwonDeiZ`nx3PX>}wiA2jE5d_F&JDr?9HAb6TOU z%v3V~Y($-STkPl>W$T7G+lr!77f=wm+P2PT2C_dKufulRD<{j!u&76vK-tGA$iAdP zK`If9)=~{evnBZH(jnHGDLSngvc8jjzZic`$u5E*X925!hzTZ1=6u<Fx(-1V}Z`CL!X=Z!xB3YF&;9z#R@+TbnxvD zyl~$K)5XWlO=`AGt8G(|>idQx`Cg|zZqRd)p+_Rvzq!l5wHQ~HW`l5!a=X|$5kq9; zk|-qH{Ce89h5UBbo}9VJwK5*_*kXBK~{TyuvHlJZ)bXGtVofcKF>!v+D@H zVCt*3_|mn(XSNf=MuXzeT5@PUWE#iFbH9Vsx8BO_>rA0`#iP5$_NRSdq0LJP&gmrf z5~6_RJmenUlW(d9`r(W7m0M%h@Ax)YrH%&yZ%0D?JmGVpmt^s~;S}>4+aFtgk7^M8 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 LnRLXj=HdSVrUZ6a literal 0 HcmV?d00001 diff --git a/identification/sim_micro_station_id.slx b/simscape/sim_micro_station_id.slx.r2018a similarity index 51% rename from identification/sim_micro_station_id.slx rename to simscape/sim_micro_station_id.slx.r2018a index 0e1205d821d6f9de0d7729fb67447fa4d31cdf93..e67fc7bf0e03f6814e3045c4933580ac2d4e30c2 100644 GIT binary patch delta 37980 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 G0001Aj#gR# delta 38767 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∈#5sr3z zF-}WQQBHTT+Fqyr{$D3-Z>?@s|1REPfBetj{{*7}#u+I7i(yZFiS|y>hzkXVZFN=9U^vODt6l1Q;p{?}LA<<7>R)=LE9 z_06@^z8G$Fq9d{#uRV$R?#RL3-XVQYM~b0vce1%*<*GzBdj`<(9pG)y$Z2+i+@7>@>( z*=hw|?LC4k-=F5gTWuv9y(4-gQN7(nUz3oNsF;L&A!v%fc?s$}eAi<6Fm{*Mm$z|r zB9`NZf99G(-FYRQ_8gee4o}`^csf|Xl+G-)Tq#SO#Z26K-Gs4Q0qc8?+yGRlJqom52lui|KDiuh^|G5J5xFH7-gJ3If@BpL+gIBG zf~3{I+ury8^)zr~`U}=-WwWyIOXsKL1MPl}P_l@IOf2*}}cz-uYkNpD6!DGiM{p>|`vDD|Dsq9l2H`**`Y4 zfmnI=4LP^7AqlPl$=&xq6Fp?lc+odNwB7vqoKs@!d?Md@`I`IuA$IDCRL|{ldDw|+ zg0L%q{~cD-4>_$h?yZjL->t6dx%G~ob4UK2lu z487aXlbWO?^KYxxTCrCO<9vzzy^gE3)H8>>14vA}r?Y_l?OJB&fq2a1cc#9zlNa6# zmRw55&FZ}}^!$)?_ivlS-!)_7F%%W}c`mm5Kp0=Vp0c{Xp9xt}3EH#R-`pMb4U(k( z`7Rk?8KQO|Bgp@7zTHbFH5^Jsoaya;xiK7C+5R%I-isfz7&_tgOZSQIVfNU3P%K5@ znnl@s;?pO9|6zL@G#?LAR1kb1zZ*8W8_qClC;B!-93UF)7JozdZPIDcbqHmM6hK9O zn1HZmat>Hq^QfpMCn7$@2)lIa8& z0(_gnuP0A@W*m-vp(*6ieDU9THU+-*4Wm&>wgJ)qY#m1X8269op~2q}9Tt-OXDzEs zYYWBiL|mTV2_0?nK4MJn2NO7A;s13FWg~fy{Z8^Xie53ccA#+W zt47ic*$xE}EBLw-@;q$(g^XlWLg~*Av;T*$caEeJnIx_a%kcXy5;Qw#cZ`+00U);1sZi|*#o zUT^2O%0D2n`E87Q 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%0AQn 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�jy|@v*(s z04IfZgsRwHSYPTsFI-03Js02<9}4{*eeSUR@!tD_YWez!QM>G=F6XHQK7m_TQ@R(I zNne}Mfd4aCtuB6G;vCNloDGyu$TsHq`B4`5nVK^E!(k9@WI8Ut{h4NEh(hELQIA5_!w>ttFL}6neflH{HR~(d1 z*r{9>^t5qQ9vug&KbH1Z7`eyFreNM(_DdycUSDCpn+T_qo zB2OQ;Bqt&VY8qV@Po)v>U6>4d+W^2)VHVeV#sNUw5xL4vyu7 z8E@ZR50y+Ryf%9%WK)KV_#yAU`C{hbEhpq#FLsPTHQxWw&7+3uJ$4^8Z2Q~bdx$xk zBibq_+mg0=-Ov|b&TW3}X05~-uRUGvZ%SwF|NJu53lSY9rqj~75p}|Yuu8=a1D;pF) zzY;N92+PvBBkhejs3B}Vg`#sakjyEp8E7$uLRwe#bS-A*KN^fxl01#l|=%taZiatJMqPs`EaqjZ9ps5+8)u5--5+dd8)aEw!xyVJcV75 zut-bD3`I7cIVWq6dl$4N3Rc1{i<1~ z!qA|~kU2~Q&p7{x(I?-O^>y984*5Vw)qZgA_dn@_Na}52p99N7Y6_>HAJO$KyWGaQ zl;AIxuyklf6#_?HHN0yp`+ZcK1qkdMFnf1OrN9wEkpaEED%A||?&`{{L?VL?Xbh6t zv=Wg`WEiZ);F*DBaptbggMexYN^dU}%4pEY5*s3NDIuEk2P4A?OeBFdx=hmZ__NtQ zf>fvLg3b??luJ$k=v23;P$_|E@3zw@X-L6ObD&pu2jn$0o~HIU)A0ip)>I9~Yk&ZE z-4tggEV`jH)pVfhY5vb;Ahrcf8tukn!S7;t3oB0AFa{NO^?-(=(-ecH+}}-q4!qZq zF{7D(-0@#aV>pRi!=hhHEGc~Yoeab)k_X1{SAgxiv8l4PXnaLv`_PyY=#8(+@(L8x z#qwPnZ`Kf|UL9FtLe1gBmpiR8O0p)htRx3 zz=gzW*CEF2Meqt*_+n#cQ_#HG#ZX{rDQ-{6EJAbtS-`qX`@5=a&VyG#Lvc$#{Lhmd zAoOgm^VHfA4Y; zS5kJpd)Yv1&WLz55d>=CXU(W)4mqaZ5q2T(vs2l8UxUmMNlw1bmA3>vXPG|2gfICy-0sa8njPLC73n=_()UTD=rgE&gF z)yOA?d=DSux&X~gh;UDpghP1p$nWA&2#d{43(4!Ea>JcLqRSchCO```WE_x;FE6`^ z&E-qal?%YdP*>G}l5~R7%~npE@+P`OkYCx%CjBUw1XS=m^hf?Wh2Y6P0En|iVJ%A`ZoJw7+!69Yy!`>(Hx zSkCne-pfZ#U!*ZY;THzI2^V4XHY4E0gy$qetpsJTY#otD{kvwc@g!AFE_1n0tf=KBzlC+RG#j~0Er zn9EIsMmZn3>XJv0U_+5@&iV*fp6{O}>6Fc8xF6{jqZV_o00Kc>IR<}M{CIc4iL=*~ z$A;gVVk+bM#puzd6DTXjQaT}<7C}dmbv!l0X#0+8SaaKaXg~4feAJrv$%pbrz8eU^ zRKM)Q?Wmk_{ks-7wJD=LQmGdQ2{ z`bK>XYZJpu4EKwvvZU$kps@v57NUqmBaL%q6 zzr;xq-=qCx8Zd%>OMpRt%YhRKY`_4Y?Dg{hCy}M&Zz4+t6a)2O$k3yI8zdaQ?M&K| zcg0sorWHMWYPu~qIEnHU=dN!vZqPoN@&vKUZc|$Wmq)$2=AEh%Z2Q-zzTy6h8&gk5ka!3zd6X?5h+itXPB% zT3tsMd#x5j)S(i_Bj;dJG3_wbJ=wyih;bWPS;*dq?{XViH~=P(&dS+s{PUN;qiE)0 zc4_B)=}w2f$*q(-5@qPBjz`s+f&@MjY7=VkLPi1_42C*2JkjKw&rl%fbPRl)kShg7 ziNvl<%fp^V!XynxT&=(i(~v|+v8(l(Qo~V)0_Y@<~kJqU($U1Pa>JpfgXf10piAlxzI@C6dXF>m{`|Mc-JL}?{OmUr zW$?H~`9IkP{I91^d5-oETVKz=)4kxc&w6_Kur~&ilFyL0UZ?Mxev0NSOPg!xx@;9; z)qG(H3F*0HuluHUIZv(Ix0o3y>vkmlGk|b88xAvCQQ0rQT(G-HM+Qv|Chns6Xum5b zL(Y8+l(#LWfah190f+`~@{}!^OLd^G;Lv0Or>g)93*bvv=RJ**18R!P$ZEtK0gEBz zvsW0(g}jxF^Y}zh_**8dH`;O$*q3o>E9tEgE$%@3uu?@#R=_5U{rTo>OMOOUD z>kekWN0So|AL)u$$Zg`wan4p3#Kx7XVcLP1KAI~W9m;!6I=B}X6LUCHjzalVyttsAGZ9O2+bfzAvqtr zqL7l4#U(~Cg%U>ZlMI_`!Oi;3+4h6;u3t5dsre#akh2qc3nrgVN%{-ET8v$F7Nl$S zQWl@+yy5~+tm}ddH`2OdXt}xW2;p zm|2K8h-k>zs4A+X*VL>VP$uOEB@Zjk>Ti=*MJc=Y)ouz!y-e2x=+={6`KAG+T~blGz3 zT-vaIszBevulM#ZhF3W-z|DRfBIfP%T`L;9 zUFEvDam`%t#!hNQU@$G8;f;;Um$9JvfixM&q^4_;Y2=KU`Y|L!hBpuovGpA8#!jn1~=Unh;X^Fj~#;_2uV2jCM81traMvoPi^P%b6{-H0b!NW!uuDQ}^y@<(Ftb0`9lE zS{x{KNZtd4!;-*a)*8PuCKobyJV9R#j`8x!P{ZW3Sp=EUVmsUrW&TkC49}MZtaV1V zd}#o-QyBqb)&`R_hH6Yb>hnzR)cj^`7xoG{`Xwp`#BD;u=5b-EGK1z(KZ?ojWz{xQ zq%vtd7Toj2+RMLtB->F?<{w1UW|pUu1*rj;_!PWza*H8OKC`Llt^f1uslgi z?8r`1@@y>40KId*KHi%6g54AY)G#T{=Ahee%r*JJhPLOg47t4G*nf6M=K&EXcePa<=<-+W+?@ zADMYY{B*}zFk6XvWdY8tUAF!$?F!sS$r&k6A8q9-s9UMpn_ykJBHWRuvkYIz<}kOT zWn7TEcGG1p&Bq-<(Hb1qV-aF^${RaW%^3r#;Sqy*Z=VYeN%TtyDWd$c9OCDL1%Imp(_o8Jd%|WAuVu*97n5ty@GkW7i+6^jPmC#DVI8OO?S z6twV!&B;G=aE{M)FB4;}!Z50oVhS6T;eUSH>A7>3c?a>$g#0-zTl(|kU@_%;e;!4Z zaP=0gOS#1cT*AFUp!D|0?j5D}<}~$nk(TEfsRFiL%K^)EsXK9w(jL?Co~KDp=XdG) zr5?kV-5HZAj@W>6<&6et2jn+Y;Y8#?k_!Iq;%D@--q?uZ?V=c~TG){Ht0#rn2P3eg zlp%IBJh#YBK6JC~IE%!w&Spk2-6LHh@{T6N*+JUI$@4xYe#KVQhH}QOpdKC`SA$+Y z;I@6*KEFPMLG{%JpQn%!6B~E)gFtH@KfI?~`u3cVe~r81rGYMtmy%Wb+R5Wy`-3&! zPC=615rF*oO^2(0QtDQ)@p7(#ZId0rG1Da>y_qrtzm(T=0mi#jG*0BV)bQ$#Ph4nfKYjs-#nU;aXTs^N zKU9C4Qb98Zn&Qxzx~GVJyN(HYbiP&|U|w@ryqws7zmLf+*U)F&-g?5hR@ZsejiDJms6Af))-CQEj*B>GkNRL~oua7Ojf|mAzME7W6L3_3h}$w}4`F2Zibf6FlYa zjp+(el+153v&AtmDe*|F6J&kGhO(K3W@o+YdK#H#Z8jR26t7X0^aNn{FDLdRHRH1a z9~-{+Q+WW}S?dP73C|Etaz&mx&QPIW(k{_ngHj-lZ{Z*aS`l* zeqPE8iQXKz{JqU6Fv`&!IAbuYoBJ6JROts=?Vp&+RJfUm3fL(xY4oHJ&2h=qT7d+# z29Dy2N?UGF9HVdsm%mEm>bPZXLe5oP?up-=AP>k>YzlO#sebs8Y}KSYec4!uBXi$) z^k1U2Wiz#YUQvi2EXx`L(8_@0 ziMHexVKBcsY91TWR0Z6Tx-}7Lq?7+79bPUo5si5pnH~T~Ui({JGRKt~51rdpYQDjK z8cZR1;HeLe&SvOK|DGKgbr`ddSyQov#^X@g0re20koaV=h2(k+ij;D6w~iD}9<|Aq zlw>BXg?FXhsP;{uo?jH>bR{~py7DR8(b6GZZt5Qt2*HXY;?5v86gdr4BSf2C;R?n- zZn3;zC!FAc)E=@ieo~2H?E4^NID!XVwxnb?Hsn4ebUXP?FR>K`EvO>xgDhUOK z0l#S?rdE&Dx`wEoFGpxla1h5Dn6FyJ$9L9a2XiaQjl`reF7Gc>5!v&dsde9<+?b-U(Z=`r! z=HJPX0fS?#)fF>;AuKwd4W}N>l>6MP;^RxFL{^gGJeR3->fd=5R^gjQn44SCuTFwr zT4f8)Bn05y8+AvoAnZ#Ij8g|YA{j^m9theN&jb3BfJ>9!#SqfjWd!B^S+EEnl-i6% zJ7@F;?z;j|LCq2zCRn%obkT@$!kH*>7Sd3So-(4IZiGt8dnDb8>3!V0sT8xZe4aX}_(kDf zWT8R3p3*?N@Wt40e66c&5n;srvck`o|U2*Q`=C zq%s>G#So>1-yJ^O$JRX3kZM!B_|tPv@!>8UOw>;CrSjl^mv6M4IeM#UX{_&a^YM6m zs%Eymf-PAowVDWIW+Q(VG-Scd_OGa94UbpaFuHQanL$1W;M36jh^I)U|LuF=QW`K9b=85ypJW2<63FbwULRIqB$YJ0^t7Byk)pLd4sDU5nb-f?s z?4c&F8x}HhCg`eS`XQyOrl*ghFR~6U7D`(gn_3dh1Xrri^2H0j5a?@8mPY@+96WoE zOsUp?kY2avk!QGi+viVepIrI&h-0wQxYF|$?_^{~Ynr^frQ1X|uj_!NNKO4dGR6*n zkxVGcVk7EfToN#M6aeaQr~09WzC3;nT^)-0lm1WY&N3kw&ks&XB%WmAwMAQwaLE|E zC|af}&RY0*+o{Un5M4KXn<0)0dMB9_6eyB8-P;pJR>oUt`X3T-Z8HHP)B|E=096o6`siK95$3^23TB#5A0@h=L z!ylnq;Auz0r6je<$R$ii^$|ajy0B5oNHtP%wW22-rAa1Hr%NVTCXW)yFUFq;fYCvV zjPLI}5tnqPkkDxHK)X%LRt58T1F$J`fDNMRHbI8lHudWGyXA`}-w=COZ+di0rd7_rug>f+bG6W#4U(|Lhd0^xM4 zer-YM#9gYXehndAbP1PsZXa1~uQJfTm{@981ScsCSfD&yD>q<+KpF9Az6q4eT0- z!jEvxEfJ7!YmSo3(EAP+*4F%~h0BY+TCsbjoAe?@POIHVPAk{n_d}L;yfMw@bK;G2 zgY)W{l4d&obT^MvHV*8USC4?m(-uCkgJp;$xtARyAUnG5kAU25O{5mo|00`nE$3-E zrt&T}ID|^SF!vT+?q7MMGk&p3d7NYDbVH?%Y1aGm%~Op(L5b!%-Q{a%ozm7+(dwyD z?c3Ect0w+%&wZK0S}<3He|VlRjw8S?O3ip!eExE7sBtBvuh&ZmWB(0D9HYowLeQqb-KSWPE7l?g^ifVepq26o*xIT zYY`2sw3h@DOSh?tKQc{Comy}o2{A%Ci65l5Sx=Z+ZRS}7dRVntP;^>^_%tE@$)9E< z*k=OqID4-eMT>o4i@k3`dK_zGyUa>>a;4^XzBiHmQjX`Pwje@^QRN9rX10oKR=Us#|0`JZ9^^}h+$ZgN*hmZayNA@jcW zQ65u_*6|I`ke!Hb!Xb&x#q?{8WfoHG?~IFPM;X7>TuH1y0&jUn*U8qRf-lcqG@GoP zP!pg#B!Th2nxS*c`LQom<#LG4RI1|h}_f!6{4Va)Z#O-jeMgEdwA(>LnBcC8m z@qB8AIpU=kpfjSIOxOPLANpq7^RO*c77E!=Qii6b>Z%gx3=?2GsrhZ z#j=X)-@P8E64L9DHpZLC3fZfjuW;q-^9Y%-2ww`Br<_^CZ2WLUrc_uIT=d4 z4RkxdW#!bS_c6wYNK>u6Ih=8o_q!U}R3xUCk%h$+Hhor;v>DsIVD%q<+J^Y3ZP`6I ztI8R!Aoug`GK`e#dd+q@Vfo0C4##A;r(HOL)Rk zmBuBl_$pqmYj8^cXgGU%m%^)2SZ6ctlm!D_z&ZZcw3?(dR-nW)sS2**V_Lg*eiQ&?fiD zpm&$P@(4x+JaXy4Y=^3SDSB!#hPV5g%ao_CMPpzj%UF_$L@f_xu-F(zQcMqJ-q@!q*qnpohexDU=0l{F9_#%uopA7uUX7I)XrsjfY$S3*kmr+44`FQmN%W zA1Lc+Gg`&ZPV6;HeW+8->-`vmHd#uX*`>Q2NPLQomlr>?i*^Z-6gdCF`M_UdZ_4Q9 z&0>cByF6t!HV4*Hn4Q1o6KuKjyIv^Z_)}J2qW;_$Qc()`2%v2iT7Fn<0Y_Y#)`Iql zE&d1$$0LW5Qo9>*SXL@%Lvr(3L1BEbSmi4FPdwoW=iKXr_dni3SfX&6 zZu)7|9Ps7zJTYbth{t6R)51P)Gc1E-l+9fdI<~~kg|yH3j75x0NmS(~krk2&)4hX} ze7VqC1uCwDKKIs=2I-K_AyY~CiH$y1Mk!_NNfm!)#S5BBAPf;fEr%JOgG9`sSa(tR-Q9TDv0b1sKUBur_2n`oi`5Sskv@vs{wty63z zSfQ4>+?89X5Pe$=OLzW%5v>baIi~r1F>E_7WO(?Eoiz)Ad{GYF|NV{;4x~=OnP1cB z4~{sX;s7u80J$Zb>k?Fx)rx`ro9m%^ z-v!c^skiNnP#hmemOnyauW8yygFt4Y-?V0d|GbjeL2rQ>cZDp6%o%u zaZJnvDZt@8K`3|7DLf&Su@>2F)#cMbF`EwK% zZ&Nzt1^xotl!iTYJL~-BSq0N!mUtEISJ2z(iG7#$Gxyy#Ef;Xg;A8F74oJ5BFd}lg z$@Jr0Jj#w>h*=Y`13~MaL~c39KaZDSM2H9j5rouk-lE#Wl0de>;$5iuwcgj~*l1AA z;@39Qc0@2K{a9jo%Tw(Eb9MPUYtQI(^xN?){ypsV+Yg7Ap+44dLEBp+@41Xv+qBf+ zNk?kYvx3I?iK%D>LvJ<%gK~C-u!WgPx9kBZyFVjCEEq5#-4!%rE^3p4AORFmRo8Pb59hWS%Y}N}p5qWSB#}nD( z#qP(G_^2kxI%+S!Wt%YOl-il+3=5hrkHvosSmZp*x~VEtdhC;gw^m{7NG4q~Ls9jp zKBFcMK$P=%kb`}4rh&liUF&>v!5W+sgxBOAQu`!DO_?%u;9mkCDdJFM zeulLJBe$}ll9J*<1dhZmw&K%nL-AV?ux{+LnB65Uyb0DeYOY(JE*s^r9nn%rmA!HA zY8LsEtJ{b(S~nIq>zy-&;=01J0dss_p-D+s4gjEG9-=S!oS1I$S#wYvcexy4Pb?J; zdp>&C!cxNRr^z=CE_S?qGNwxURy04{S^IH7e-at}d;>YOVBsN2@F)YnhAK^tZ1^Bj zP7;XlKZB(lIQg@R$?4XAuY1&ulr4yv!DX`1!ScVRYm;S*nL+(*qmy*M7c!Sp=$Jk? zR3@9zqN;i%nz?m~&%P|MqiIAQa|4tBUrOXuyrYU(15m5%V!8#gGh5)bzam4Yj zl<8x9iOi6}ycNOVn#4LJ<;9_wAn;Bh@lAl7F$x$Yft+@OT39 ztpJ9|%x93Oj+B2a8@PqrirDn5$T3)fVN`Y;s-A_O61yv?9Q`oMEfIrcR4B8JD=77< zqM8$Br4mC@d^7M@sGD^$Ntk+Ex8RAJbvZ+rL{c|f``N6uW3-Z+ zy3gH?kpVG^?kPTNz9fCjT_qdXi48<=yTH&lS1{VNq2w9)G}6u|&(j+EH1-3z0zqv^ z%yQiY@6q3VT0v>mcmfAmT(@0l%d;18hKlRI)=d0UIVxm*KBM$J&9VP5(aW?XqhFwh zO{m9w8QTT))w7(=Gs3E6EPH@&BHs0Lw3JkJ(6-U8lnnV)tUcM{P44k{syqMO{_!P* zUg0<`9p1(ZAJ9rG$NyO)HJ$JRdEYAggX!wSn?R|1dfg_Qe!gtwEUbKSVum;3{ZFme z?MNGmA#_22kfKmHEuWsB-{7@zRl*rR4R?+K{;Co-qcmQdg(sAm#^gMv(ES&`PoyZ$k$R*_)rvk9XhE8+?w`;{Lhpc|bzpfb}aGzO~(m7~)r z?j|_OhDSf~;ggVv%AyeS?vC86_8ORH+=TE7WA;xzfn!=uCrFP!^@U;~DcW$Pa4sn1 zW(k>s92H@Of^-P%=P)3n^-mwUE+_kkTwM>VOne>KOSXKv_yUfp-mz9qSaFUOTLfj) zG8?`nr>yV=juVclZjf>9uYS(D^be%}Mf3$zh-2$^%ztF{1S)CB&1mOf%gaw$L5(BN zuQ@cpbHegJ?NF_E^omsXcvnmc4@NnOiTgP z)M3$|+2~{vqhy2ddM6%vQ*UAeZojSERKSVV0r!C%1*#$%eL948W<0`JPVZ}H0sdsj zWEJOB}C+C`M5vaRnxCR~Tx`QdY*EPvLsD~6d*(d$CJnvS~Y0%0Pz`h253ToU_~ID#p3TIGRcGvy$F>P zZ1wgVQ=zd&vCS&fsW#4Bkn0G-I+pHKP;JnMPA@k>k^ltei{+7hU!^1w8B3;Uts|A4 zDg%SYO`MAJaQT`5dc;!fSh}& zI?n&})j3Q}UXCbSj^Z_Sc$IE!Gc`Pe4(S?@ zWm>{9F58A7CC5i%5faycqU)fmpDL9>>*h%tSEqu%pHKN&1%EG(V^GK@+Gn2j=HSaZ zvbqe8+l`X5Lnu_LJ{lFq5<8`n98fYswss*!9n6m!MowN&!)^AD7Slc$O@r<*__Q_M zQHiE)r2!4k$PyceZv#T%>?n{c@f{Fa&xlf5KkCMALN5g>e&>bGaqK(}j+B40LgU^B zgRQQoru4S&ZrAVDczQ7D?(9Hu6c{HLJd@2SY`VC^v;Y*-2+HuT>V<91j)6*D#C^kZ z@q;jN6B%w#ZT}I{Tg6alMzOrllmDrB(Jv@#W!5?Y>F1I}f2UkAlE2dyG5zi6ZtTPz zz8t8qg>LxJJ8;gW&9D;p+Zi2Yo4#^E;Kbck|33=4li>d+q=S_8zcRYaUp;*RR1Je~ zqQFh}qX%8cct*BnH-%vjUubrvLc>w~g>LBzDdItWfTntr;G)`jW{TlK-}Nx}rx=EA zZy!;!h-YIi^ls`VR1iphi+OBC5))6{AcY%9Zblza5bi|hX%Q&Yd0pcyS9aAvh(>Io z2U>;3E^ucl6ev{#$#e?DPhXn&0Qvp%DfY70xGz%0=VPrlP~36WIpti|h3ov;jmr^#re&BPCuqRaETGCPGdiZPPAuqI0KrfRElDC$ULHg&| zIACB62R8m@uQ%@F0!8&r6E<*DmlR+_@+z+(B{p$CbF%^5H4ELP;BNHg=>IPC``wxS zB0&^03U%QgSRnASo^CKzVVFOCli&Gl)7;6#dv`$na9p=C@Vsyu#~z{kBksz28`|^M zkI+y#c<9_7UD!LU1-ak6-d+A3-O=`V?ib~jGjlx7@>qu#rrz6GGs!#Qu-w4o%6k)& z-t5sV$~ELKk=La58$}??SNKU!nP6NOlz)599^rj0-PFfcR3IP^*4D@k(daB4!kh3=s_jZI zYdb^L-Rxq39gJJzOJ+#RWS8^=*yXhI1dQjzGpNYrKr}~(Yfx{w1GKChx7i@H)vzn5 z3o3XSzBiF$Bslv=OaEcQ(I0l-x7uAhyOk_uyNO5OZ}lU=uAZz+u-b}G*-kL8w}rK+ zrhaqo+URuRiPjXFc6KfNAA-D)0du;DBYo< zKj%3CXxmpM0WH2H@WJJj;)PpBJ;@zSh0g=8B7dU3lN&!E(u)A?QZ+2%4@*IpE1DXR z#c}nfsFA3HUi{|O@n(%XK(0cxXv`TLA1B{!;=BorsTyp}4rzUX-WTE;+Ue)Q0MJJl zN=>+yhPSS*FqA=#T3;1_0iySOR;^Tl`RHWxh1|e>?m6Fjo{0tiL%%VxD(8CnLIw$q zbR7Byipga-S3NuDR+sN#R~sD`Vj*{5I6)mvTvX%b79LbnQ%ExX?$^C+?wCC6QS?WM z;v&po^68hvotck(>^3O96}QV2dr5|SL{9L5ZxQ2N zimCh|C_w?&dHr;p*opz}K^_?GLIaUV3c3N$p4t%B5+(duWbCFUkY;Qy#;&7qp#=;u-?a;glh1`09ELGkTyD8W|9J-CUNbg z%o2DeWYxHamQw29h}>n(C{oyn=No{*1alGKQ>Bblgm{JIObmco3f*_I$j$~eEVubg zbD7OqJlTl`UPxA19}(G7(y?q%<_Q=VhPy4!@&N?~3D9bY z`mz;+e-t;2uCN_}<*z^miZC?kHF2n`FeMfU<)fAAHjZ+rPR(7I>}B?Q8A2ZSiG@i+ zdFR5+-kkgk*Fn_20Fu?APU3#IyOX-Mp1#O6b_eaJO!XJyHC`n^v!={tDz~ zgO`gEdA=|$Ik_-LH(41d?a0l1svLtz8A{p_QqQU~OD7v4h7sZI02$0*1VtUlardPs z>i-XWUl~=$)+LAqcXxMpcZUE8?he6%ySo!SxCD0#?(XjHZo%E=!h5g#>zP^IYktj| zS^Xn*ZdGkRRiw_gBT=i0@H)GD@hh(!7*r$ow^}; zR029foVuT8fGFDkcm8zH|MsW<7yk6APWJ^+)?TLgd@N3^`6IoMJq^oEs4Z660&KZy zn-uW${6*(GtM{ZA@ca~e*1td6HDoq$WfMW(FYi_DnEGhS%T1i{39;DRs%5rcfsN`( zmYZ@!|3YdOF=m7NZ-4rK`_uog`_qjesLIy6c{eLAhy{0+tXI@Y>13d12uP@Hq zDna&R89Y#9tzhmH|9xU{L_or6=6=0$H{SozCwu<63BmD~5{@BU^F{Wq98Zjm$vayY zJ}C71YN_V~v^8$XxZWkYhtDlV=@JETF2jwSI%*VWd-C6JD(1cJ?J;TKwsoJT>%I%6 ziU{-|$EZpeoHSR#GAGw3 zh^Y++{gaqp{~f6QgmqJRAp5rq#Ov0^gd^~Ap;xtX>R@#!q27};cSwlPx5Ot5Dld#rlIz@1CHbvsvuPeir;^VD>JbD`pjuKk{i%GI?V zTCv^=$%p2`CTCAfdxsblI$;&X>Nj%q24Isco`CwzwS?f_Qw)LCupBKA8@e2+2E;Q? zG7uYrvOjh7$O3zESb}NH9bCQ0WCFoCm{ENK(DR%mg{r8w1xX9@SM6Tro}HS~g6riy z2fLa<2DkZ?C)1YPj}<6b;GoTo^1f&y%X%p?1Gz!3cKEAmfp@`(Xa2*LMjSZ;$ah`n zEHkoJ;cQ@ECUt_3J9bse@>CCp@!gG48dm#{O&72|#C8?T;6SN!?G$*CY z>J&m(Sx#c0lU?X<4=?RD6UVaNyyL6Pd+o%;aX7+1P>l~uM)6%RIXKnLE z$REk;=5>4e_T|hfoYrO37$F3nFP}-jt`Dv|W68 zGj~tBA74zt+?2;9w~h87Nj{iUzkE6pku8y8vm;s<$_7#UO!cQV3DTLeyfsl?^W3K3 zcjf-#vf`~5l5Z!)rS-Q9+Rae}JeYcEfa(I%#^;p$(_X@y%6$Yh{*d6`T7-jcwA3@*>M~sG%W5764xgKjwF%~({+L^6@`g~9?M#PLUcHY6m8Xr@7iyBi7+XZA?xx%*ol{>A#^pfkR|3+fo4rLXVpz6i9!aO&1N(U zuN~&J93YW{qsm&p9s0!C9;st5 z(*Dp%5T~>V5>Al8w(udJ17j+cqE<89sW57q?+0BwGR+Y%T{aMKIaltF6}5+DJ-SuA zW^LzVSesgYGJJHHLOG}^WkDCH^&8-}vwQTJ7Jp87rP`wL`n-u*hDL2 zd+vVX^>b{-y~+|+RIfUmmsF;S2JLU2h`nTh*}(|SSd&eTVA%ah$7djr;^WsQ&iqcI zQDoChw?t7WQaC4jLdoS=ZL>q)FC9hi{L4kDHm{1%{I;t?m{=K#l#oA+DW-N|qA0(p zf(Aw7mWNSftq77$L85i+-;rI6(@gyyBHpRQTKp^N%>b@{;X#fpTRs|^uaF&j0G|_@ z?-gST;sC>zVv4;RnlDsBKpILeh`{_V4^#z!7GvgzV0QmO+BC+05qnTH+iYT6RFP^@ z)FF6MG)|K=#YnaY2c9L-6dTq)EI%tS%k=kCbmaMmzB*VGDSG_d?>g@M2h}?N8<$ARCa@6VD=B3up)e>m2 zoOz5pq<#uFe%59J_O8@<-}P;B^);dI&$ zdjI$?1k=X*g^F#B_Y==xpD6V~8lN*AwZUDV3PK9!(if1nfHYoU4^BI~eP2cKcW{a3 z+ihSE`oCm;r*PbW{(iDfvSH}70lm?T;G_qTThb5Dz1@d_2uco^Ad<9!L+?Y>bv}?b z;QtksXu~jJ40^*Ih&G)H!8J5@+V(c+?nIt}0cc9I0gaeHBTC+4h%HGx;L%*+vq%3^O(`pR$hOMVC!`OadI<)st!Ul9z zw&@A>`W)$l79aJ6W+{h52dTi8RZ`=_*9_SQlq_osaA!WK3N*aAU>WNggcv_+$FOZ^ z3_>@#V%ElT_0Y8P*x$ii#A*zpZf%;AJ)vWKX6`Wz=|`*(i6_Dr;SF+uy};b6)p>RI zaRCi-fku%P;w_IX6>Nb}!c(uQu?K$&bdhp30=bCZjUm|+&=2T`j6%{0rX=ANcZoR1 z++^yqXnnr(Ij0qW$0cf!&@nN?-sJnmJ(?Yy&a$!&+@P~ov+^e=HDTE^^-Bknfnm=a z^;pOcq-7L|?}K|wnFe<~u=DsJTHPX)+*+Wk1>9OZMh&-w8`uOU7ATaKMTf0b1kfYY zsnZ3{{Og}&s2#mJKybh9la!7U+1FTPuy+}u<_UR%q&)vZs10S2F-YoRlp-Gk zP*Rw$eW&3Tz<3x_pI6?U3o)U>9V{i5SmkBi&PYWhA)|+!fIA5uO~Nd5r0}2chL6MN z5Yh)F=fm~u)CZ0$ed)>#&|?gglJpb85o8=-Ecy)hF0#$1zl8pf;E4ELq!f__4jH!{ zQg6qkYahu+@lP_p?_lDPW81*U^`#!gBVsYhn54~7OyYYeL*-*-(&UkIa?354qz&S) zA?2q?D27UMa)U)2R2h@+(qDXY{szDa z^F;$KxwUvFa0BT(JFUO|*=M#}f1QSN=*j;Dq$I$D0a!)yvNfX{cNexa9>CxqZXcL` zhFK~f%YA3#Hjh91&iZd2(^RD(+`*J0H?^UvZ5}+*Iu8I?{FKfBu=y8RXFXlPRn}Q5 z-MC@Bp(@=tVZF)luP4`hei}DpIR~=YRIQ*ntt*T-5+6WGc)(_x;)jpSrrL`e=&>Q- zg))&5DuOU)81UxxD9(DKkd&aKMU-Ny>nro(8vQJQRIRV~a^SzJ@Tz>fU><7gfh;jF zfOXZ;xX|(VH)k`9S!w6}WVK$BL$DNCy2$NksfeF%of?qtp?=`-uPV zZ=)gL1+93xTnFv4$K0fnVGTUT=fVp%3%Ij6;O)~4*uTAvI2Y&Y>YjA%fkd!5iU8oY zSjqqME+0>IyuaRnr+<@AFJRszpn!1_waa~{g)kp!jo(E~?jvu@5_s+T_8Cz4XN8tD zcGTyvY>NN}Bf0Ks%ZM(}AOc2iPb;{+Q!S_$jPSavaG_1ohXFUMB{+W=cH!wBkG+1j zOt}pld=r~hN4v}CUSt}z0kSlv+_IyQoTvq{p9ehi*$1QH=|Z8?@dyO4rFARoSPN^V zjSdLlHE0Es^gHSQ{K+;3MlXP_g_K!<1j(ug!BDFK7&FriYGdrhrHC`|1mqx{S_d0m zyeKhvHWxrLuThgB9eoWrZIZqvPSk?KX`Io_h^yzm|IZyzHE6n|3?H-$X)gYa zU&-;ROiNdu&oq{DViPEZeGyL&os6LM*KCPS9@t_D0kAA@!dJg*?&-=>+Dk8Jt?OVATG z=3!hw8Fc@h%Q)ea{|s|~kfswiLe~yiG@naM8n1_~4X3$3w}3bkb{qddUnaKwePNBQlEE`1GVn%sMm;g6Djk;*-SkWB&k%-B2 zHlM^#Dg3;Fc zuujO6LaXG!Z9*K4R+Y0ixyq?9p;X#+4zC&JX4~>`;h6!cOIE`D)@FNb5ywlAu`(7o zkMwuC(WQEAS`aRrdh6SB$nmG6GRNDp$EyWqKtQRfK@05rK6(zBgzyues8~i%u}!8~ zOO9iz6{j~Qma%@x+Ml7hbyqnPc+amq!IH4!dfYWB*(q6()|VE$2?)3hMJ)0qU` zi({&NoDsxqT5*HT&+Lwq2&p;dPp;Z_%qp6zlR35lhu`|c-5Hy3motf+b6dUslBcjd zL=4WMFy&OUQkha?=@^0kVk5@9R*IdT7J9NtXcm)QxNO1c^6T8D3`|BoU$PG1 zFJLdl8-SM?F0CzXqm*+nu&1*~QljlT{b>y%-|J8-%hCb=5eg7V#bv@r{+TjFr zXDZsprO3eRvW!e3XP>bU5qore>b<*Q=7vJQpwkv`r)#l8Bo7u_%JT~K@8so97mZ8p zz3Ae0<%lw%@ov5C&g>3nRk>H3h5FXC{f%sVFp{;9kHg7sUY$=2%VgSFn+BFO6hGP@ zji~BktHMy3RGvqtdwjnnj~IwUS60(t)I`~iI{Q*1{;Z#o4f2ibs)Dyg1nxxRHrdxO z#CP#)@ZeYD^;w)^k26J_qmC*@5l1JMnMlDnSH~HD1m%U=xGX0=uIeoKO%Xf||J9M% z$Y33Qr5>%(AnImqH<6zv%-AA$zk&;IZ~WrvNWgNPL!GDoJq5@7sv~Ds+U`%Ob2U6o?%LUCQwziXc(MSWMLu8vgsN zr*f3mRiuB$mlr1D0}~i2^lY|%Xg9&oWdwp_JqZNL-o<`#+E1sQ)LuVVD-)`O?SW)r z^bpEz-HWUBMR5MChhpI&)Mj5#VfP)h?!P{5OyI-LB9&wen0kAY(^2qUtreC?9mD_e zFkE5X{fhgl@}r#wXeyZ6ir%a6g|5`beSpcr4|1a0O3(0XfQS&%PGcD*T0HIK9MzJC zp5_Bxm9mK-_HolGcFG-8&}|VTX`rkT>5ADO)El!RC z@oDxNh<^8eS{7zDO7XPl{L>1Unw5Cc5=Red=MqB_@xt4HfshT6(arI$L7 zYW4UXhOH$V`TU=`$(8j@oG(R95*%`sj7hN9??`?3zbfqKCC6=wB#|=q9M)lE(>UV{ z%%k}LH&?clg%`gr$RBln;zNT-5)OQ|k@zBpaier{Z}+OSGC4L7*jhKzw{)?_NI+u@ zADx&EauwP&xo_%p; zMfU_8R%1MOE&*qYr#F2xxuwyF@YZh=p!37DQ`N>Fp3Q$Z!+{KWpCLZc3 z++X;fmHpRh>ciFHl1x6c$?(ev!<5dp0~#VtSicGkkj}aPXjU0Pq_dfF16MpP*cgiD zBs@RpY~elkIv%y4RuyUp>20N-Kt|f6sljP0;%6 z;LB2q5|=n4&GV)%Ro`y8-|ky;r7KnJ04AO$QR%+L*OngbG#o|>Xw7OzmM6Jv?V9a4 zV(@S~)*fR0XR2MZ4WZ(NQu484APTDGkyD*D3et!I4ZcPBo*y>hY%hkhedA%;^m6{q z9sStVX(k#;7nZzQFRlj8l`r*6zQD7m9gptw)9&P`k!y{bT={eF@O}UFGzP@s`Xu+u z6TusLs{u8)IY$fEjB1#nR-*_%z`M6hPMY0nu;l=7?p56Fu40E3{h^4|B1^yDU_adbh z%K=4yRS%#*tdZDx=AuUs*Buy;kaB&&+oo1dKJ4o7%9TV1vu#Xz_T!V5#VXd92>RvE zR`xwi?5fY35wZ0)+KzI)2`$@5pRC%{Wr(G=N8e=q&L*QudL0pU@JQbROrzjXe+ zgAul~?}{p5dk{-1q9`AmS47!0Gk&#e6x5O&2;0>n45_b16u<`MzAY`RmNQXbLi&m2 zc=UNs1QTkxV-O;bFj{L~y%&(8%!h5R&mIh0?f(BJO^8b2hcn+Z9U-%xhsP zx>or+&mRJ-Nc6W~roUhX(w7g*#jce`@L3M~SGNfEr35C68hQ#MK_lsB8Vy=P2OIUx&)+7&wB1E=ry)Y@!h-l-4ouq)vjx#=aP`v=`f-${YTe(~LmsD!d|1z4QAgn3^OTR>LZr zkStFOj1+OGy5u{pZFB_@_~vMA=xgzc+Gy^XujKJnf$;)+0$;Le2pW@$e;3FzM#Tod zy@9FDs~zf+v-olW@vw#BuJ|MChs|I9fbX?XRxh0|p0cTs+Oey^E7B;e4@Y^fBNrx0 z#=XxN4xlom5X@?VB?g)oqaw){A_~Q1zL#eG8dL!hI7j|#A_XXL4veyfTsVsj4!X=S zYeEA9x-9gosjRQCBazF&M6j?0Git1q0Z0he2UI>Tdq|Rxum#K4!q0HV!pTdWAJ9I+ zjsV>r0eC^e%u*x5%%FjDqLef7-Sng=UrjB+p&g5|WGD?`q(Gs|Y5`m!1C8u#5K?@F zE#N3?=KO>$h*4t)iGD@Pq;1s0AwduBblho?%V6;UL(du`0yof0V==)&OZ7x|s%HB# zd+<@#FaZa$1LP(W%mRR0ntnCSfeB=9`f4f?AdCZzS`5=E63maf6rB|aXJ?)jPs!=dMrRuBH^rjTqmMrA7Pxo6~)q& z#0D_=6v!@0NgC(xJ^_omWGa~T108h<5x@i?6bjTfRwHTZ@WGkKj}Kk++_N48I?G!M=l_~L>>-1{7B}QQIkv0z5!zDgLH3{ z+cFlHIKO)j0hzrc=5*Gr27xHVMt$;&m=j2hw(`pKlT(J3Z+d~I-aZn{39pndo?dl9 zVI^ppv?owranjUTEe1ASdpcK*d?3@@0>(0s)@^ylceB%vT} zbKH==hbg$A8S2`sag`SdNMS-352g>ZqT4>w=d)b9kSDAB`!N#KbvC2uO|^EQ@f@^` z!5+w}1xcig0@Z;1WXi59NHG`uEXZ*Z^i9_qV%{(HkmJ*IT~{GuE*ZIy2$i*pN}IlO z+5B1xvzw0Ar%OlYzp8p*wPNSCvT(nwFC|m9bdG3Zra`m#LOQ z@w5AW0#<8^a_nQ$0zT9Ax-vH8%4bk4I4yIs>OzIh%$0;QFy%4fgcI67Hp58S^l)uf!!y3+ktky8TPuUxk$(JTIlbd)IqEh^Ch5*GvM)` z`rnaE>h(t|$`%@I9M-iQdi1j}&a}a1;vmDT@<%uRc2|x@wXxnVMF#{11Vk~Qj1Z@4 z1NTm4#+Rq7=523^r&z#$n1+@V2Za>74`&&<3Gtgc#I5OtgV!?Ltvq}e(`r@hCGaB@ zCD~+RyTf|FPl~6>0v4f`kGJ%Y<=*NXm$oP`j4ptc9J%#Fx=`sYYg6R-Pep6O6`PM7 zU@M%&m@mYr?g<7^=A3jmNenX~v5o3h1SA8yUo=~j)1Y9y%HxGr)Eb&e?KuoM0^t+PZfo3; zZQ!3TSY`Ut0{jvnoD#v8^uQh-Kl0|owioQ%g>rjDiitm6I`3)-2Ak}J|D84<%>!zgYL zA=)YVLh&iabPiKOQqDK}F(G@H5K=E7q+IS^Ka6%M2c2vw&EEZ}03Ry4t+>>?bCqhhaV}Cw z;i(prlu6PpfN;<$167hZB?l^YZvU+nI{&p%nLBu99fuwJ4vckZBZfyDm}C~JJRK;9 zz;ML&+-Wb|FfcsF`68Q}Gj-gL3La*2H-iz@&AtBF+S`l7BR1vk^5EoZdAd5s)RPq6 zDj(%4?;bW=uIGGYSiTsI3vwjr=KJBg+bd~C=pmUvt1D>pl4XnCTF@}zWv}sz@r)a4 z8}T#$b&fHk6vO>D=4M2>yTGbO>X3w}xBx=X$Jr4oZy)>!VV_$}4-^I(fk%f>Ol@`2 zcE?}ts_3~tZnt@%Kr`v9H9>AnWWOITzcn>J2uzSvm;16m(_;SWUyts_nfNMHE!b0a zSa5o%D|8N=^1P^ua&%Ba+9WgCrI{0D^@>o#G_YfukTD`QqISOw;T)R<+8@Cp01fz< z-u^N@vQ|Csok{nW{`!1ZvfEz&HuQGkMeQZc|GTF>Y6_tz3MxwMH7b)iS;}ry5HjfoNXYY?N&rfw*Z(?mVEv}Rrqo-+Bmyzx-+UIkoo``L;1 z*vfm+Y*mkuQ>B_%VjRrdukknxCf7Hp^cK=9M#cFR4?gNH2GW2xXV%76c>1t1I;(n& zmrV(ic@!cKCwIIjNFsCr4vnM%ROFg{t#7*woy2RzEBSqW4O>oo{RCy?EEh!!j2+A} z$#roXmv&@`<1#j0-!mUDw$?@2H0Gc#X)Z{I!LKvdKHm|(wcj8obi@`-Vb5HQstS#0 zL<}N>4!sG&mz2s_C|O(k^%CFjVRRqi?Yv1u7G+DHy=p_~M>E61&n^a|bCs2NH>Kx_ z{{A)UrhHJe4=UkLp`>D^d8e$>CJUZ0w%p_{3m%4(ObSY;+1acdL;u^?rv={xlnVzE zAIt=lOn3MDuMxR1a69(sYTvtfxEfly!V}`G-{aqZv21-O{G#LI+I}|C(!I`wvq0Uq zDEK#IYzc42_l;>Tp`W>+XZv8v83;9>dwu;|_dw}5D&T9x8!iQJXtx6hDZsdhDCfJN zgybOYgriaXqBw{SIMWn2F9qcwy%6FOhe5fB2B13WmD3QxO11(vrez`dlgDt)gwJ)j z?Z2b=<$-i=W_*F!NAs%-FG0k$d8d(vxbqj`0VtuOdqo+@OV`cS9i@i%dk9vSc7Y#U z0XN@yR#JVHg5<}0>>wp-KzQt!jye;763g?@OXjedNr$5CqkTN$W`JM0KYK;|Ie-KD zTg_Ke1JLR-G3?Ad`KA4eP%C3Tf`BB#`O(U}mBpcI4`FtE9^@>n${RLYvZu=xQtEf# zTrF*Liec-N!RA-(?KUcs^L$%Z0y1op~ zbaO*9iiFrBOu$;**;gp-^MX4}mW=ROM2oRlglLZYaQ$q86m)4S7*xGQ`4uDXcu5v1 zZ9*`m=))zP=IP@s;-2K0M+Wz6qilqKc}zHSwZF`?BUf4*%+$2KVo~)H#V0+N`w3Zs ztQz5%ssop3j9)Muqjm9)NF3$8Ls7N$o_-QJLsLtlCW0#rwswz>o%o+Cby)l^Z(vb5 zbc4g*sE2*|l7SKurrT9D@Wm^m1TMVpc(uK?9OLL#>2K=uaM5aWyAgnvpo=s{3F@Z9 z;@j_?heF0_k8|c1O&y{Vgfc3VjoH1}omThW8;3Gl&0{@g!2Ov7)IL*He-DXzd;uWD z3NMtiIDl1gr&WC()|fhr4GhYNyn7I=Mr@7-_TqO6Ob0kn7lL3fP^PlJ3~V!wa1VdK zTS=$z>CLp&;!S!~g}BNEMK_|*+Q6#%B2cqs*+f@&2r8Mp?k=B$BKM7eVp17Vr34Om z>&%bG`%$26L8qJjPiRL)r-Lip^DFOVMfL-A8oD)QAD;#7;{vLHI)nS*8xYB>t=&bi zd?3Z-^X-WnbNbt->cS*UvjlhKhq$Z3TM^FR++Z?0&Q~_ctvX6&@v0KNAt~+Njt+G? zv@fZT)~JP0UtwrIgG3qER-#n~7yJM8S0iFZe%O}xdqPux`xaumo3ZSLr1h*JN-DK! zv6av}xpBTT-R!?ZfQWa9Dhw@euDwgmeXPY}p#{TWaHLtU5IRZ_hxE)EWkp_1@5>^9 zDiSGyCTlRs*`igW;#v#+DxUD1PWuo@{NRfJ(n!3REFB9gD<+kYpAD%f&=36mzg)x{ z0T%IsAB%X1t-luWrQ(W`VE@PLDKQ1W1(jF7##THILf7#RFvx8@U9|;ofN!FY+Z@2J{sPudFX*8!91esxlfKZo@`i7u!F? z6(&Fux!M}eO}tn;b!cuNc@a$v2t*<85m&%IXZvMZTMt5qg@+qdY#<*M3jdJ+rqE#D zF(-0CEP_(_W;-}R9HQ1n-Mv5`8cO`n5?<$LnRVPhOZd_9znAb>xOLAW%6|CeLCjgX zVU*GdoBlq)_K!ZG?!mhaH#%e_!unkYgsGVmVb z#$EAM!$R_?vPu-~v%fOBTu76D~fw5|!{F+Pw`Y|VJT9Yr7 zQ%ldPaV(s}hJ;;4HBm?phCuc>0a%ucGfT-3GJ(EB0hZ<9NGKD4WjXf8vRsj;=^Yvh z01aBNNq}88I3Y<6@K1aLkcIq_Vz&@z1cF^QDwsq6mwIM`Iko5ju2}#X{|K>6n3e(m zn9~3-2@q%I0%MI01^6F`gh~GKKd1_l05uc>c2Tj>j%T)EWA=;C#=(?g{aQK!DvpEF zVJZS7jswEDgy=gN1RlZO)B#w^N3e_P)nozXG$HavAAsh-VPOuEGTHXPzC+0?!sCd_ z0OkC^(woTxOp?s${yQ`g02+41$`kMllq8w-8&NW_I1VwR`H((FEREiC-dO7(3^cfJ2MiVaidF4! z7hV0Evk7QUM~LLkYoCp$#fcD&8If*?krs7&cpm_BfGp40fFNMl*2q{9Jvm;mw#dR=#@1bF>zBO_AxvKD#(PY<=R=_OTQn55$ zoO_4#BXqvZPym%Hds?Ekp!kJI z=S2okYhfW%n9b$&Cnk4DkpW6UsU#z8R3f)0jWW6Z+o%Tlx< zTp4HF4aAu^HDRYwF8iWdm+;`EDzz=mg6CfE`k{{?;mNvDGc$@kA&g8kTNo9J5Zp|P za0o4{7$7CG(HAWk2i1+DgPl@YE~{02um7z*N>!(8w8Wlo*)7d%i6aW=G(TA`y9m@+M(%zC97+s|hK*sC*dNjsy<*-m z;AjSGEP>?TrLI$f`%uLcFn~wvFR@1ew8-iO2;pSsW464*{I|Aq@y73_J^tEVWBK3DoxV)mL!rN!pT3VgRgbIH&6-<=`1DQ?-Krp4XJ$AL8Pf|NAU| zs7(xDEwilhE&616bdmf>cr9zaECjzlnX&;Qq^aHeLT}wGY$%Wk0~y81HjQ z4^Vv-(4K$pFHYc^K7Yf5zZ-?p{$mDgngEc@gaCsb0OoPf0boNCXn>BSBk$7XKT{{y zm8~nr`0}|dvF}VA)>r~sTSEz`BEDYS?K}6sd3|){n2IX(>m3F8-Joua&cPX&x@@nD z+faVrjpQAn6yezTU2by^zVB3*w>jhOMv*%a?bz&TmU}t1WI+I}Y1qh`DJ1Emi=K|G z1X<#%<*{7IZwG^z-n?gP$WFhTQ<=mYI{dpSgzbp_C_5Bzwp5m zBQF*x;myTe-K&Erdw~{c;Wv*Ij}@$C72Wj_@^G=Eu;tzdkJ=XPL8vkqQI{TFV4R(dO!^wRZcLcjM9J$gce7pv!enjW`@hZo8YSv70E znJ#zpa{~3&?|pO|S_WcGrF|JZdbVfOL?`MeN0ewPESx3?IYS60-hkX1r~)O6#C1fJ zaNAO$ORzqB4mZME>5ZB@zW+usW?^e{lz5B9-9CVP_*Qiy|J?^NsqT2GipsP9&)Vbt zV5N$%L|Ye7bp?6c*bRyRJa)Qf+FyC}y>|2&eooGAfCexZtb-q2`A@z2LW>;f_ZD|~ zo2d4ZNRkbIc2e#oqr4Sd))@7yN8XQ+s0yA>RD9i_@6U zpB}qXCpcfKHZDj=~=2WH^&pI$?kY{U;w-<*q zjTE2_);kZs-EJGBJdv`U?M^Q4*B6*bOg>U351R}R{(MvL0GFr02TxASQKGR!#G7qa zuAqO>9M9}g690_P2Vl zqw$o5x%xLp`zvqih=t<+trG}EV`p3_PTdDrf`JxHlS4$WU+NEb0cA{Vxe617Et|O#>5(VTM3n1#2sR^iRhfmFsbBG zV9?Fzj4}jADB}y*0A>U`a|b~v<^QrF!SCBIGQR@GPyHJpZ%wvZ2iR*JiC$%ua*Wd{&(ufBY3r|MNfwmtM#x&a_#42uh=n!V?RFmrE?L~b-2|8X#x^a^qv z79(zTY2RocDx(G}{3LRicV%l^Q)W~~8nD3ppSP6o%{vX}sHtPII{ca3BxZRvwhD~Q zcpB+-memA$?bO-86Xb3OG0^m+MeAu1W%23shi3)a=8sl7G{Cm@HTc54O9#{E{? zic*S?NNH*;)IoLufnIE`l|s7oYHDh%Uj?8OMwbN1HF52g*wMAT4)&k#F(3)vM{~Iy zZWvxaD0GITkr6zOmzdlh7Z0zyx#sYJ@|BM$JN(5gUOhu>4}I@RZl+RQG4rvi=)ZiY zfYS4s6#Fj8Ynv&-1n~cVLgZ4XMM2tsC{^B>jlq1fqV?yMWFGEA9bOW1GQ$GQYXaP1 z0u_Su=>)T61E8_<1f62W%TktcbV#!L-qie}=L(Bt$T02kG+p;vwW`GB73Ou0(?t$# z5_#|m@;6XhO#MpFYc;;EPz)HytzK!w$op=m9$PF4$DT@CfAPz~U;)_)w^%|?Iy*+F z0`FyRQ`>l#vU{Lx_P`-9p`m1uEmx3xb?zB1zcM9*yV5Ru`TQiokbQ$pdIk)yrQgQ( z{9j&uCoVe?Dip{Of#4c0kM2q4kd?oN{fIqCm8!YM=p-FUkH%;7K8!5Qx@1HUj7i|r z;ZKswkIF}kk8Y(ZV%uSeC-NpjcnJ3;@@~6LL>a35>}R6^)yTUB1liUxxW)H_;9iS<7D?cXSua0?=5ON{Qpu)LNoU3p{ z*44>Hzbo(J(ipzAvhO(FFg^V0Y3DdjV!0oWMGG2fCd-<+sX(vhgU0;B)==Wb7s7=` zgTwjeG1Sk2=Oh7{WGZ1kk(<G--OvMR%Pm)~E;Of2r?LoGY{@Z%^?Gk-~t9uc4RlaQ|W33S#(iOsOF zMT+KrIjbW%#y_Tr2~uSq%ZkTcgRwA&X{zSJPxUc;ZLW@}Yh zMvhEj-V{U84lPd`Ry}RG_xosZeK>Hfmn-+G0bo~+a2Jfakh^(Z)x#+$;G3?{g+tNr zMO#$Px}Ii3-yo`82>)eEjSEm3`~~C7@G-OKGG8UxexeQqaniQnqJjN;U?c=}nMY%V ziPDoIc}^p4-Pe}$92Z$nn0$jNnyrxJKRi?2y(aZSoaql@dI^){16{|2e84=&Ozd2s zC8mPYuoWbYnlQZZoXT2F)|L=~gKb52QfkcRV9AQ2(hJ!A{8a(Y-(im8gmk@}sxC#9 zM*CA3P)&Smwd8T9>W#F(sZ|$1DV%$4Af3b{g7etH{a2f_MUV9c@1d2-B~_%ipzo!z zu6e9na6Wh9YssgeF>8S2(eyo(9^7qIXK!mu;#7A;YRAN~mcp0}gn%iH*|;~dXu+Jo z7UbOMZnjrr|iis7v_=v*l|OK2?#(P6T=o-X+!Ayz;X=D_%8E*j356 ziYnOn&f<}ue*w=CB>0)(R~+kGKx=$VM3@TP0I0O@iI2S)d@Hf5Yya$7mHe@1)ux!+ zj%KT|sw=#`LyNxYeCp)MK*Oq=QOiJFL4R*q9m?Ki&Q=BLe*f|Ishge2c5Oy~B@m~^ zvK#)1L811SIitccn-I+6UBn>i3>@w8?hzk(nqwg|b#VRI2+o=yhS)2026*n&8FZ&O za@57^^8Ixu_1t`Ck5b<~WJ8HK9E& z*o%+a51Yi~g&6B{GQpPk2GdAFMB-FWZT=lUdNEDJan>j0Mu4msmee~*iQLBHplg&V z|A149-<7fJl%*#DyPaS-gFY87UabQ0-Gw&;yUksfc?#UoP58Gr;A}|jWt@Q@4C=1H zEs#tv-M#jL^F087ye`k~tQI;b1kAsz)R%g$!!0PTfLrN7vrIT|bHcJ*Mq3&b*P8Ns zvOMlG=Dj@53oTJzTVD&v318AFX#E)Db8g4 zZ%*-9OED&xsk_Ozfy}fobp&0PKk)1yS9!I*{j{_L(uU1`)~A!?cY(-%C^s^v!+#O1-#M`rLDrD-|Pm<@I=Lf%};hjq>Hsrg39 z(YV42B{R<;Ca{qxhWJGJr7BjQAP$o2H*HgTU-}V74aSw zbUAHVrTG@me0AF$@RWpG9Dk{%zc-0lD^^M83MAlO+qOmsRw z`My%i(~$A@lRsEFkFobRqiVW}9aSFp58AO=GtKIwS+mODRRxL}b^h5*BD+e6Vf)0F z4)LQ&8^$OtV|AR#=5S(|ewi|-LuJg})!ZGtTtWNYYr|P#lDg!&n@(QLJ7Y4(uydU? zW2CP6j#ko)Wh^JyGRG@aV>M&OrwAL6DaHuMWAPFLriO4&2U%wu*IM#cmd;8UshoWK z4eHe0*bNOz;{7!0{Cs!uS12BCkzdC72B+;uIr(6$##d^G7eAFizWv0M+QvMsKIfm$D1Hk(pfLgN<*| z!VWyI2)C@ z`i;N@MgfmVsXGb|{Zx$#YpB@zD2Z|&z2G^=@0~NFK?c;p@vDPzw81f@SR+$v>EEnq zVo8s#ZD}LX9M#c6Nve=UurvXci9x_k=R|rVgGi?+<>?|Z*+oDS;di8-~G0^XL^AU1|EiX zDD$PBAsd&_{owELiZPwCEmNlIXYZ6(WE+;ACK_`3ou3BOSK$QKoUt$TT6_0fU6~J) zVD4ozB)Rr%S(X=3scfrrME zXBLp{sD#wpV}Q1$qCk{bM%p15W-R_EIzgvL8Y3QL5DGA#TZgG7 z2xb{nhp8-(H~?H@+GkP&1GCK07Z4SRm_yZ5!tjGY2E-f4-{TGBkx9VsP=I)Ye+VGn z!2WlaMza z{jyW5SFNs~0-o4!s)s0%Cw$sUzJvWox^4KB36-Mz)Y~<(iRrD~Sz)k?) zkcs{#+(CQXutl7o01pkD>rGUxxzgeENuVL}h|#nIg57Xug>cU)_>CAOpo-z%TU%w| zdRSh0VF-!+Ls3HJlCKNEJ0o_SElJgN3tj9^P!@14`+-Zpn(>1FCZh z9uONT?spO^UTVB6m(_itqN%_CPHY52I`DW=pAkdJS=I}JT0H@^zKY`+{lzBp>o2xqCjDu%)=}oN^)!=;c9qn59 zinlFm8!9^D!H>fOIDJ7M-s+q*IJY21 zWxI6qy{0qJ<^7@Hf#IB;bd!?Vux&PdJRQ!Ep(oELJFMe zBJTc*$Fz9H$u4&2ylx-y&x2g72PURy&_4)52((3)H&fW_2$UaZu-*A-;FCKGLgme(YMA~SbLqCq63fVSUN?-KhR8C2Q^Qc-zl&@J|DW9 z+H7?#Z@vA3Im$D5UUNnTN>X09mrC!$sz5E`O30+eBIOE9lx4PKN<4d;kBiMo-s7uV+eVu5tG7$Dd=5Pc+chqgOo70Psjqd*Y~mcL9;>AGUD{lOqAE@B zZyvSmD({(exIZ0seQZ1Z{F4ajdt>fCEX#Dw_833O3jRVmw{8Sb zr~;|WE8tIXkV(p~e5j1Od6byFPwc(jqbJ$);K%MN?hw`0NHAYrQhI~kTO{#=0OlmV zs&@O4V`({(v~gG&MiPscl<7(L}zo3qyroe0uj_7Jy%pR20S4cUphJk$wDKn02^ z7SA@i;X^wP)z$zEAX-osHmWqXI5aWNn!Z=zqE=aX!Kv%4hx~>Y|Bff~bF4lDf*;aY zc;siBNhpQ(s;ViZTV^|u)vPfs;Y>*sS*=6QN|KU?R~hF%U{Du{0^dd|@Sqel;Kz|i zCG&nX2r)&dcPs4U!4`9-BoW*Y7V-;Xl$!O}tASEDLL7A(B!)}*f!3Ah-vbl4YIxy< z>34>aA&*o~jrp8E=WG;V@xx7qGuYSM@lOzEPLEbJ2@(JG#m4F{X7Al(yEg|fL#-zp zn-ehwwuUe;$+@akC3=9q8DvP#%8s748hZZ%nN zvMcRch9i_e2#dKzA87Iojc@HQ9~du|<2&g5Cp3{nX>tRH+&SM47B~BJSc-miWv-*^ zkmC@9eAi0eA+GSpWj@W-9IlB2W_6rz{Gib&vs>UNX*n8OseHwE>q@+=!P01n zZ@DUXeHWu-Rxt@yQPL2xnY}NRKJt6qAROtwb)7?Y zKIr1=F_`a4FEl*%5Lh(0BZcnKYZGu3y;!9CXfOW}x&A8@&b&)uP=CbB+AF7oD8eOH zawj~4Aa>w<_Ze^5UDSR}%n|3Qkzq%W4l6qemSCp^kGr{xh)e%WWf(Tj2qCc|0_~U10H8VNLl^Om!Z6l=uwZ@&g1YFA^@2{$*Phm5er+fX|f%yIh$-p z#@~vwGOPH6vzH>D844fQ1!~UH|CLR1MWuFw^8Zo9G^8 zVIVVCndxTh^E%s^@({*Wc%vckv^YR5mJ_uG=-eOK6|fJ^A%Mt1OY?B{(#MVgeYNDrB7mj zD+*VG|J!a=;Qe}+FH7keWqJbt4fFHEJ<+qjOYYmJe|K??dtr2hK~2L;4FQxrRZtDO z6Dghw>HM(RafqKby7x4Djvh~2Iut5Ri*Li&? z%jexiGvLd*CDzNbRH+*TMoDvrc8JQfYh6VCv*Pu@ARocdt`GODrESho$y`OqYsNSZ zRJ2qwFNwoW;B>fWR$_$-fIzVvO>;4aIgmGPYd~HbL(+NTPn1>y@#agFY;14 z(iw3wVO}_5(<1e(aJVqnup}^juq0aXro1&`WVA^x?#X3_#!5CWCvltG$3aYjH(~C; zWBlM?S>IMmyT$5*@1W6(qXZ*HDd~S@e+T^dg?o7jIF^0~Sb}VS?fmowS z0hPNI{&@VX`(g;yplvbWSGqn&;j7EQZ|T@}S2T10NK8qURb10!;6L^P3QqqOV5iDP z!fA86%Ys81ncIBATzp>nQJxUPv3BChL zw9~s_$hx(}yMUOXDAzE|Qk9&Q$W?W|zUtDKFy4RsZ zH!lNnm@We#nKrqxPY!kuVP1F5uey<6$IZul^Vh0p0zkKR*AAs8taB;PYkYHDx*j|M z_x}o_taFEGxu$_i!YlmfyPMB+`hD!1&+v{!??EDyuQ{N!Tpz(R-zWi+RAk*}IE{he zTMu-L)V|ffwYTp1%D3;~v88N9^DnUY6+N){!6B7fzLn+5=1@+`<`9FITT?BJAk3g$ zBh1wPSkRza_=K2AM8x9Luq4O2r)Tu|4(MZFQKVYf@j9fbu3FL#5kXky6&1-xOyy0@ zXw#gE-LM8g93Ia-p4Bdu_NGz_T-jryYIrXnF_MJtCQefc98Wxcz5!x>Jn`xB0tnDO zkp1opm>{%@)y{sRTt)!*Lhx4#AX1^=E{99czakfZfKn8@rr;I%H+!E#Q3Ik|{4C5M zu*NK{9)HIWu*}FP9NSlCdOd%{3hrc7GK<*KvO+Qkl;veJfZG)23v2|V1#jW=+Y6I> z%i8ik8_*UiYFiI2T^pQduRvCJBCQkI@ARMi3iYbxF>~K+dN6oXUt?Vy_Z~{B&eC|# z{(ZmU+C+YO-VAkw9Ha6kAO-(7(s6NH&8_gwX!_1Y`|hrcc_o+ zG>@nH!z?1Z(y^(#MADGh@2!nIu*W};7_FQKx7RpI+{BEO+Ud#)oh-#!VSsfgocw($ zy1CJC3T{}Pb6ZoF#i?l4P&l%oqF)!bQUEm0Rb!Cmb@WxDNvF1cUbqugWw_vJUee56 zV2)lt8%d_Bm&AqHPt(F|k~+Bbbuzqa2S7(5|IR}|YkCUil1fNw-_HswNvuJDW1e`q&F}mZoKp?;t24i4{YgFbR{ASW zojsUVJ-F(m6~DrEi4CRjQa_H#hKXWssZ+(Bb`EhheIzzaA5)Tk((YP%qsgtiI3Ck{ic>O3{H&@SJR1mN^zbTk0U~~Gvyd929DP7&cf3b%j>Q!;+ zBj@Y!V&#-%{McvHlgphavLo32Gp0;pM-YJSc#F*Wt1dYAD<@<7_G>d15340W5+qmB zBe&l}61_{=oG5~z2UKiM6rG<7zu<^Cg5X~QQ-&grq;ywwL_i?Uh!~Z{YdJ0%P>eMq zj=V(3UO>P_XKZpT9U{)o#m}_#b@!N^Gr+^kmI_4?>H4lho+L*fPG)dkl&{MwF|0Jy z!z-+G8CDUg)8G!;=)U(=Jgi3J0$yx+k2B!NE35{pRMdrEZ2A8XQ1*gT;`W@c%zrNg z{|{kr{`sFlA};*QCihi}Q z&f*mJt{1XTsB)L|Qb`6op4vbGtaFKasi<)QGB@9dNVt)ENIr z{vnz0@mr=aD8~r#Tezry!tNl+#fmt^yiPgdkpIg5hj6)s-BCyeN!kB1#lJ+|3iZD_ z@`1R2`RF;2|JXzPZx3*uFAM*Sa2ovIqk*pc+gw^f{Ldg*pp#-@cS}OyfBPWu0{&Hi zw1$h{DjF33>s#Vqo(P^8kSW#?b~nr<33RtuSj-C?g%p5C(&b2K8+}(2lS2o{Bs=9N z>MDl-WH#XyaW0O=Z`m*bGN<*I_K`^bYW4wf%gaUlwUnX^T%vzhrEU!QSUv@~T*$}O z#6~ev_TNOryhMvy?7(6EHzXib(NHOSC!o9k0|dwwQ~a}<|EwHY**`os0?|MAj{j#l zfhL5a|5~PyjQZ~~{Qu^OKL5|4a-galaNQA-{xMVw8uqV#Z8NY(M)$98oNYiJp&yx~ zOS&;q${yZXtf)mF7kDR;ng0RxIQJlBzcerIm1xq%4_Mzf#@=)G{Ae-I-^B0ahkv`Y z!)`NzdA5ZY^HUigwRc$Ilqa7##eL3KI^*07>hC@_X?{oN5J2+tanjE3!pXWJ!oqnxfXlhkU8hy5n?PfoZ zl5KmtVj@51!e!pZ; zu`}1Zn)o%Z9=Es)rWYeoVr5>GUI}mvzEWkjCORQnlto1?fFsb0j)UWXG0qk0P?uLk z>sZRi*ae@e3o-0Idn5xNqTOOU*~78Bw%&E{k_Yz*hW(R+A25RuW_q}< z%q8~++)<%?OJQ4MK8e@@UA~Y_75NFZ#_$(!=EUhH^b&;(y6i^ZbfG}0H&?}IA-^}f ziLw-Qd$U^Id}Rd0rc${1IrhYCnEfecy!@3#MfHeci7CKyUIIwp1oH-Ojo1$uy& zKD1g;7Kwb*PNQ`(n(la_h>x6Utm5m`%l_DBK6|)vAbEOHtQMg!4r^M#AJMMRAJmRs zD;v?q9G1goWoNtYG$}D6WJYtr9P$WXMjV#KW;E&yx<>uW01G2YtL18RE-2@0?G+bL zDa^ZlWgN=Pm+maG$kJPg#*FX??;>o!X1b6!$_jQ=|MXVDHvh|E4r^hXvvf7IPC?>0^L2BN&BA3ut0OuxyB2qbZe-^MD1+ z#-vGX%1yB6$Tw*>j8+s1{t_w}4l_rZ_7PEJ$T+DgHho8EXV5QVYjj=9tVGr?6e(}E1pH$A~ z!bviZnIXV3j6wxevZ-s%V1uG{u+yDPMO1_v>pabB_q6im=$=VFz7FQi1ome<9uX4R0$_;LT+`U- z$HFIh9!Z=u4r@fuI6V&z2Siua)lCQSU*oab@0#q;Ir@w2kaJ(`uss!S`bEu|i!q{O@lPFZQJdP>NUXzGTF`JL_NE87RI$r zon3zfd?G`gum5NqdoKCF@uBRo<@hi^Zqr_;!_nMkCTnvDr=KF)eXo?0y5ofQK!OKq~gq#wiU9y`NO!}cl|6^=WJmo6{=-*M3Ai5)~)BN z75UfuuUW0BF3Y;CWSyPh?Tstri@|`lO76M%FF5HmxHTZV-x@R5l&L?@tH~?cuOE{UbRqm`|Cv`sJppx%4Q)sInv<$7H>peKjka!z#PMn+|7` zpecXl&rdTZdy&vDY8Q*HU)T4aWh>1-l*vEG4;W1re9Yw7^1gNM<=e_;%m2woG!aNx zpHvx_{Ger@@jwZMk(QH!m1ZIihml?l+8-th^Bjxu978jUq|Ryb7CraNi?NlH6i9K| zzj7=lWe-bcI952kaEh-e7syxL7i7k06ZKvse(-WWo!YSVT8ijf!(F3&(J1M{HS|_< zH~%$Wb_oHBd#1vwxpBH9+jh{EGldM>;^Qy@)#8)$k)qf(y;9`qE*@(#(kVJ^)nb6ZYx}RU`|nAGg|r8?@D!wuHPwWih_+5qb|7| z70ThbMxc7Or@Pt}@yNt^Ug8dtJ2TwZZlFukC|f z1WQJZzCC18kej+G-f*+x$eCj%kEGU;8xyEZveD%fP$jel{8}szXui2iy`$9wm|fxy z4@^4ng``j?-{M6QN)RE*p*rCXkP%bBFiVF?_fzo5p+4wQ#d4=ge(?=(z(>mLTSA9G zc%bCeltaBK9{i8us2xON5Jq5kK2MHUvFWxUK5w~PR#vuO34$5-_|Gpw^aEm}4M{Ij zS;dp9gu|RFG$}Hy)z^|HbnzCAAgQYQ9&F+db6qi9Gj0Hptd({eJ=8pO@r-tod>B$p z13ax?P!d(>i%UhyHS4_!G32%muo&dI-ki7imTjXErxlGUYE85CB&B8n4BA%dmsSLF z6INp>?3VPjB^j1lb7m4vw)XO4AU-+Sv~8y20qZ|#We5&aY{qa{dYzjWnDe&0CwLfy zcd*(abjg~_b<||lDz%g|AmH~?GT2+HS7S}DdGiEOy9gk=a|hQ*HV**cT=1o0sPe4( z^rPC#{@_I1+LFxS)I^>wik{msrg73t@p2ma!SxB@Qq9yjrn}OwlR>f^FnoerkpvYk zXfNkPTi=>9Ip!;6>IlA3$Ay!e+o^STh?A`+!SCkGUo-=*A#2|YIxw1!?DR@HMv%DL ziF4T1BIvg_(}{2ITII*+T8U%Vq#hi6AU)W z9HZ~RMstH6xp9D6L>D{5BqpH7eGY={cMhgL2P)4FP15Nmb1-$Qy#_K$k8*+hs+K)v z17EPO%E@bZ2O{WeKm+Rqvai);7=v+r#7*)Fr@%Bdu^U_ zQ)@o_OvI~%jVGnnivdT?4Qf5We~bo_7xgb#3M@4_yPd7?8I9k@9cwJ+YMph8xU}+! z@TkRxS3!1LF{XDwmVOh-E-iy62R*H&F`&~a==Ts9p4tpyco*D(Z2=ehP+{x~ew+JT zxuCl!=#^v3(0;&9Z7dDq6TW8x=;#%;; ztzH6}JUQE{o9T&a7WK+2tLI5A&jw|j&?%JDNfhndv27(r zE;c0pUY(bhpqOEyl)M(X7tjyFP>xs>V(&hGBzE~>1};qbN^scU=s zu9-T7HCuufX({~{g;bp6wmQ9GK`u;0Z>nKg$i^nZfZ7RTI3`Omp~`vUH2?oa~z z-`$;ho~VV~6_6|tfecZM@q|1^`!)O{GcLrA*1SFG)5_WAX8|WFn76gK;l=1o@2bkLrQv0DcnK3p?AQMeH!2={iC(S^%7dW_y!rZabFebc zFW^5{gd*R^=rLojZi_c=P(DlxMo8ZdQm&u{b&oxQ1idFnWuXxn5(RDju% zilVQGm;%8pF=ULrCXG!jKygskr*kYt;kZxMthA*eQ}H;EhHY8WU3k$f0;vPdSQBUdu z6*Uk4CU`g8GU^BD$hel>&|Kl7k^qk3KhsXsb=I`@^{WBwP2HS0v#Pn#<$)YSh$ZvY z3{D#8a?W`fkObl)q6gSC7QBZg2L=zK+0w)u1SfPYL7_a?-wq|<6#slP&wXT> z7tL4S^EKcnfK6713d^&1jl%nJNvMpU*TB?OX`&$+QoPtF`LR{NV{=fa4K>R8Sc7;A zWIpYB=_^d!12O?Gae+7&iiArhO-LU~Pqrtbb2)58*0C?&T%1E?kt|)$ypB;SP0asg zg5tu01Ls^D%&e``eu2LbMqr83&5u1{scV&_8gvEEmi#Z=NLwR0iyoNF# zBZ4Z&YrIycx281INLqr=eEt-c$fZbkUY6nW#y!dV@s%RdQ?fgWcZ|0p&3&+w^bdZn z@K&8y`raOWj=gKTiL9g7_-lFbimEh+p0uRkYV?GD|DgFhpUW^a4 zIUkee<})dsMVaEJ%GP;wV9u#E$qNhtrMLd-UWR#&9LBj zSY8(w#}kSs`dLk0Ex8om9PT5WTI0HR%qz9cy3$!Inrx1qm81B!*eUwJuRJ^?QDHbd z`M%1~bCDLS&LBLM&0$$CweO)`U#`B%v{Q5qa;ir`SEAJ7y^&^>1yX9O6nt9QlG{5Y?0zo1LCtI?9(vZu(1#xHIB4l2s2 zhR*f0l2LGEHV~X)D&by0AwIQObfj!m-`l|SMb`S&N?9T}#}v}aN}(h^b6(Smq`4Q3 zdEYJw|45qpjtuRp6mg2pDU_nT^n7Y4PBfeMTa`AII*)7|{DN3rJ-Dm4Fmw@Yb*8bP zSNGpwwdrrLdS)Dso)(UjKG9FDgcc5G5Uc|DzyleZ%Lp;d$nVr1B;y13{x@VDql~9B zNBeE4JSL}?7iB90na&6hm|wfodNTBdyuK9=tgChI2ZRuMuIVjK%O&20H9l%R2K9tlYFnldEHqeiK9OdW2=)4@RCGt)VTXCdBM9aa|yS6oe@&M3kiUi*26>oMLeHy2nd+=$ub_WSiX zf7Pc$Dow9g(4hO11-|CjvK?D1Vn5bhuEhnSx~1QhxC4J)PwsY)0|0nb^GywxAKqoI zHZU(wAR@7uV;}p3n*Vl}HhH9kMdAjTO$XmyBkTvV6uxWVy}hhLQZl z4Fq&w`nRN|Eua6Uo`dS=YsY)!tLr{PrT>np*U<6p&wZka#U7E7N0OEmCo^(DdIwj9 z!qobbK2iwHCa$U^W=G};cL%e#Rkdj=_mFJ0cnvyzoy>2|z>~&(WlH0dYXx{!DHU_c zFUq`Mk~cw{&p|jLd5){8DC#sJ9Cf?2(zk{ky6Og^8N5tpjCf~t%9Y2AF~%J4OQKkY zs9|-T1C16%oWbz63jWAoj?e_{Su0GimkzLx=xe*qW%Wk16mhGECk$2G|300Wyf^Q= zr^Gg*zk|vkX*Tj~q9Kb^6Bt>}%|1pFAkN_NeqR^&2aDWF_^2?GP_9r})OE$xbj?~@ zWT-%M8BS4c(efYz);f;Xb)?XBJY%Yk++CsF!KbQGjUa0gP#S6bW7GQQ%V{lU#-7dM znTV^nYr+PqxC+anC5^7@yCQm4b)H^XO_^YVPN9V-SAO3fOyQ?TAX?Nzb^A=qTt!h^ z;VWP*NX>8+IXGIS>$nqe>{V+C7qWEBb_LuE*W%dh@lm{Ix!OZZn^OIBD>aQ~auhLd z6VRlUq!gAKeDl3{>3N5~|A*1Iqm5}1IVK}`Wr;9FJJY=#r95IoBE{|um z9w&l6vfmB1;Gd2zU#$AKsjOOr9JMS5YdxYIw)BWW{l$(ov45iuy}!xL%n-zUwq&=q zIt)|?a^E;WayVuvfF9C`xmTjegxSzKNEiMJdb)osEWjGq+I5#Y2T^~ji497LgV}jK@k3)Z z2!nmiE^)KORDq06Rk_T(!-k!L0wjDRWyYgvE`%Indfm zENqI;^>H?2cJyT3zSq6Qcr3o4tL#c4Oyunfp4oXl9x_~s3wzL4V`0%BWEx0mw*p7V z=D1f!Q7e{0j>ExBgy}WZfy+T+Vfr?4?eie8->U7}$7VA`qHcSFS$$g9^3Xm`_>@m^0Mq+<{YrCMMgM|*a8on_j zQ0?C3I54xldF6$YYO_RFmi!SpCD)6IrsQRfC!1?~M6N zVRw6@Ps58DF1O^K!6$Qz|FdJEBX4!6Xh2p4n5mpV06E7du?SY_e(Gpe>{Li#cUk*- z?8{!nnH>^St}Qix@`9r^>N_SPgs7Rd`+# z(>PPhsLJ*h)A(<>~s3O(63`{#txs8{IrbVyQx+vP6v{g`e0NS)M*v;1P^Wr z($;bChz&kM_XUg=6x-0K)Fa1(xpo~J!BBZ@3;6tZ0vg{(VwX4IE=f11(eCcs)ydJ* zZhgwZ#-!fKchVEZY@Ccq+40hlsu${loV4^0uA*mYPefj4iH|+jlpb1j@Y}f4@6*e( zbbi7CU(8hvkc-nRY&lh97a(vd+SA?X;8Y#q+$VZWz+O2b8F%EwOjE zsj*c%SCV^wZ#Qb6=7@WSP@>x|JtPe}$UarB$LNn&rc;~`%5evyZ?-$CUNDJCPd=~a zwhrq6q{qSQx#4)I*@}Jnb)mWLSh6CIGq<3a0U5^1vXnM-Y|9NyvK6H5;>OhxnwGiNvY;a7}#%xM4wrMwQtbC6^MU4Z_i ztA=gkAu;t`8c>R7&KGWgr}@rGWZssS3YUWgC8%r3<5>D!t&s-2C8+sxK#EpQY?Qu+ z^KR4g=$FpP8%`?%ze^eP`nru-IrKIFD#b~ST z*U{xAwha3!titZysU|ltr?KKpAUjiJ)zj-hIemYuWZeOq#Qn*A>O8KFJ(6O@^V3Y# zf?fAl77P~JU9ix!smsz5c(@9D8 z<$osln(F@W-(q*}h4V*JD=?!Qi(od0o38~-H+o7wdZ#FJSpwSda+H^&NMidpuJ?m~ zt5FUjH-rT7Rp@2pa4PzD`+QE2c)be72oUOjaB~y9d3ioKGCiLUjLZ-8G5T*p&aLl! zd|a*p$=rd`jfSs%V~_tE^|STMEMJ7W{llaG+f&`6=sH|~=KI9$`|aMq4xcu|-P{Kc zY?oytXXN*>+nxi}>zM=3`w*36W zx@{qBNn-CX_#RKth&|}9u+7{`AqT9$THMm=e;e5VyJYY0inYBtn#nWv>zLH~(mpln zWl`_tH5R+-Ia&bM3~5$<`$@Rf1=F4uR|g?0*nO|`GON9DgWdNNl63-`-wPX}lJhzf zu-yZxgigoVt=+mjH;iR8sqi*+^~>TZS)CG|-(O#eI(-!x*xI#cXz7VibF0#w6ojSkYeNfxO zITm&avfnhB>oc_NI5z5*)%hDAb)}Lyccn(3e2@YR5-Lgn;ECl@8Ai(37tg)7!UD$@Nn<* zNI|+5cmNb?9!qx;$c89?y~uBt`;B<+I66dE{MH7ZfmSYX}^2=c8 z;_}0KB}vw)w!-)K*lp%odp7FFt7Gz6b_{#Ai@Yy$wRKBGD?Jc~epYC7_Pt|0Qt`bo z-Wecqrzi$GoFI0RD@Ef;av2O1!SVaYRVjVfPqV?XHSg3R<=Id}{nSJc7G)=pep6w5 z3yO7PU;~SB`+DB`s49bMkd%VjRYf3|{XNWti(FRi=p^5=(lhj>A|-JECFK{!0Wh(NaWTlKd@oGaaZxUW}SzX_ds6Wvg=+Dt=_ zcwz{$7Oi&LI^W|DO9F|mZN>=Z+_EyPPF)m7{rG1wh{?7P^|YHh^QrD)@e85UY2i*wv0QYF1h4JQ9c8nu+Zfa`?r&cM zUGe+9;QcWhYH&c77C$t5Tn35{DIeb`s*`%gz8BO9L5t5HzgdqwDr8=R+Sg&5G%!je z2ddx=mdgkSpei)YNllh7VwGAMVUr@4W~860f@|J;Y+#jY_mzX~s&YDIpI{1=x*24h zK$OyisfbRvS_y^d%m=K|iG0u62FSU+I$k%*)Lon&qE$$SPCDM(^nbr+4S<8|hZy-~ zs=J^NEA7l2;*ihoWE9QgY$Vz`o7q;D9hr0>LMYtIlmXGZ?FP zIQ21i-uaN;qT^-4HNjzh9hhh}%-NsA!{Q_tdp!bk#u$K z>Ua(9;U7^l9{@x}?vGroj#;)0BnSoZX??8F-wb8WZ1!Y-9*1^IVfq}`y}c=BPb0P5 z`qvR%ZfIC+=VoPRx$?e`&eY=xeiwA(C%{5c%u%43WGDc;DIz6?3g0 zv7>^0s`dVe_5ZkXtB>ugCptL&`f}E-wtWv+*mkQ$fSJd-)+VDH%O6{HL&(*Am4>Ew zgXH@jj(h2DZf?cZu{ugP&=fD{7yK`!`bJ;-T zmGhW>ml8RBC3u}_u^a_lJdd~q9{3^M{Tc-A0!ep0?U! zS7>_8l;(?kE=KrD=3~Y)MJw&Fc+zcpF8_}t&O=> zQDjsfeqWxp--RaIa-+1mQHi5y6{mE1b)Ky`Km|;WL)5NhsO}1+1~Ta|-c?Ptf*n)q z;sdI`+^|9!TWZ$ypNh-I-}qp-&)AFYhJN6t$~VXsl4q6*AW4W+$%0J-NG3{c#$0vO z!4MOJ)4~r}jEVGbNapRYjY1mFtCvyCcbKk2&`wzteps~?vC+ln9-Q~0#XDwgk{xgz zR?T_j)ZpJ6!;mH6b}E!tzpulu@4${J@>ipasY?>I=aSho9=3bq;jmb`)S>T9j&+ zTOgcQ!)`=zV%95OYMCWwJ%?I5l5bd$9km(Z3NZWBw|nUx$j2&>2?JcjfnAR(G3)9q z?h?7-{X%k-CJ>CA4ltD6Db^*<@5^*@)$@QIz@a_D-F{t_jORUYL#OC3}%y1 zX*z$c^`=p1uk*ze_f|N2Y?8>s38G5YsJ#*9HGoE8798_hg_yz05+|NT?4$EQd-5HR zkgN7$)DuBt9ID!&FNK^lu@w=)07YjZ@wM_Cg1NPa*TaF`L~5w#@yv& zfd?e}@OeMN+anUxzWJnJ@w_wXXa*&|2ps|(JtXL1+tE6D!HDM6nWF?27GC(RkpOz1 zEB0^___W=?>NkW|xZg)o+D(OhBE7gy8|Fm5c0#D)h6$u75gXqL{6S{|UhpVr?zbu?WRyxEbop+}F$0n*Z;8%+kYSAt;Kf;7MNzAevbqUPhw11gjx+rK!&w}b4 z(mMGdzcfrELmOVl8@Njpecx3<5pM#u0E;rU1iS7FV5Ud1)8JKQ>_vuRrw(;bN3UB` zcjCAA2|9|qoL2Vrkt$TZZ(z4j7Hx%EI8aM6?;`s;S!hF1i!tzahdUpjO3jCwerXuz zE6B>NkI}yZg?0+bywJ)vk9`dhCM{SOB=O^GUn0~^jdx9vuX%h#E4Zrm3Exn5R$rGJ zaRk|&%77jCD+&gZW|QS+Alr>xFA0 z2({Y6Fg2uCWEV^MEHNla_^+ zd|X;_D4L_qMtrSeNhuK_ona}=!RlzyP)6RaI+?iBZFJ9LN=!A z(3h3D6d=EJanJz!)8W(V3T2 z@{nOb1m-je!&Z@k&8=qTDUtJy^$5d$Xw{Q7CFiqRY%y|K9kY=52MSN-IIozSPA^dA zyV9)TreVSi7wKMMv^2hMUzxOJlF?^V>XG2Yv^do+$#xja;U@g&vAn@xA{*{Ug@1zYee7gxMNgB~xx2kJs=7DwY3CZvL2 zW2ow-tS^;{SVWCO=W0>!mZC~|jyIp6nlde0r_t}zw~8Og(&nMIQMCM)Zk9^w_9=8Wlj5ITC9nF?g; zP*t)BPww643ev-0s-Tf1qVX_kKPZaV-ij4B#=NIhX@+|WXPY(=LDAHthkOGUU*OBE zksgm=jmvd<5b>rsBnWdR<6wW8V!rnX8j5atWyqEePAov*zj_$FJg=tXv)@|EqavbyB01P$OF?`}qBsd6e1AsZY=!nV1YOqHEO_phInk=+ySAcvZc$nP zFV>5qeS~YO=Lsc{H_#ab45TSRU0=Qzrt5w}XeePIO1lo_}M zXaqqYJJAH2WgLkr^|9kLV%pH<*Li{6(JMQN8E2E`4t{=tAJ*b zC1(zhIxqk?EdbBx@D^1aBg8UzP`iZ9;m~yCTx{C=vwsBFnRjcj`6 z8d6*!Yx>q-uYC&HuCuJ`amG%HSn2X+5&jk^RP4=?h`^M-39j50N$eD^#~K_(fgL!X z>P5LO>U-ZVXa6zK2lb>e+!RK;C`zNKj|eL}X(O19VfpSsJ*D?NuL}jTJIhpqAK-cV zoGk;v=$)qJ3Q)s9!iddeXXN$NkKm)-S(y2m-J_Wik6jSw42jj#yH!2pezz7Hzs{V5 zoW^rrA@DPdzwtox)ug_19(y0=T(4dq;Fly6U9$B|Y*yAVgS00T zWs`z~gr!h!ANlqf&yCI5RCX%8Vk-8+3Q9#qZfM2lvNP$ZW6i}<77qhhj8X34>^`GS z162xd0*JRo3-cy&GK-I@ev;>0?ZH1mtPFTs$$Wh$NH%R~IS3wTAcD9Q0#lyyW)!#U z{+j*e`1(NELD=W}<6Zzw-p>r5hYN>xe|qx=A~!jrnR>0G+@W}tMmMA+i1&ekaDqTa;C7HM@J5`l# zh}z&P;>IFC!xX|mYtA;9zEwffP5?jH$sS`bSNY>1uA3La?uPALM=u0vX-KQ;92c8I zL@VOF`Iya7wmPI%$Nj=HIySuRWqk&6MnaPdQ0~(G!)$mRhWHCavpMN=f`9+BwQ1cx zZCU%fF#Ux%L)!`##N-;qH6z0p%Wz(ZUp(Mj&mRG zA(_9mOc0e=4Ghb)ad-mRMV9_xVQK^3EDcgM!0BKPmfCc_y(-@y+DySxRBj=0uS_ex zr_tXeIUWu5{)Al{PYzgDB^do61?!QJKE{cp0#H-v3Cg%2rQz6zUkhUDej3F4G|<`j zvwo05IWWl>FNQ>D>XLwI11AO1R3i%<8jUgS(v~G6u7W&|)|47WcI_l!7`i; zo)M+a}?~ zOL~+A&1TovN$8A5PqZ3ce{n`E!UrXhPJGIZAF@P^K|39jwKIF?LuKkM^=0Sx!L-O! z6N4f9EF~~(oHCc)wJGNmBH`NmkcJxRZBmg~JZkI)oH(pHa3p1ffutFs_F%SY_CtCf zJ%Q9(!96z@u@iOQuLLpF{b+#mwOXUxjzV>MY{7i6Mhfd-vKk4}ZC^q5l@lvb-4eTY z&~P-Vhv-&SV~LyNoFbzIy?qee9z+{*-WtW9#15+#sksm?if~Rt*a&`L@#)b(>jz>= zjM{dp?82$j*5<n*1C#&9I4i|Lz1q1;Ing;J5)wc}p_|cHpRsvQXDqgf*K^z4T}7 zf{rmYt2N@Alw-D}hcmWV*U1P*E!i{YX8epVVSDDB?=M-sR6^4b+gL)R3BYHa^T6K5 z1-LQ|d{vc2{UpK~kSL{gVFMpCJ_92bl&h|+{JY?zClQ94UZJb%ZpR5*i# zTF(OEUtY@gRt9Gf%#rQLLtBOqrkUr*T;|Qg%OThYS1zD`JzumE@vcG`EF>3&0LOXO7yO{acj5fPpV`=ta|oEm<+Jz18b zMLYcnj88{>Akh*h_0Wda7G6i zJC{~jJY?zlZ~>bX<8Kryo2^4Ql5UftBSn4I0*nB5)sBY`Cz(m70dVK=HhamMz$clX zgH9Jl83LrVUsu4ddUHYNGFCsL3&f!Yokc!Q z+|eU?SM~=@2gb2LAiUW@db?)6?@RAtN0-C_!g;>WqDvG?V53DzOgI0s|FLVop#xD` z#q{&pwSoMpuRzwE8vJ_$#kZR+ZRtbQ=8WTuE~lRa$k&@>)S$cKC@!hVS3Ey-VBuGu zr1^F+RN4n}@t14iHMYYi6x5FW@R5z3>SHMC@>^f{8C7wMDy75hH{f2lDV)&%y_NI0;jmb;=W|zQAyk z#>)9PTRw8ux`pUMWor*_?dcJo_9f3FX?H1c-__NGF=62Tn(lX$&@yqI-pn}!AFrsT z`)+36fLvZpXJn_NAgw9(-ahxmn#X9zVgDxWd{PO1Q(af<;6uOxHPgDOJxhuc;ji z^y%1I*t5AL&+yv!7q^@V1~aJ}WU`tkqA+a^6fKaUjTgmkcZ|k*4P1`u6~98-s+RdX z%hrXI$H;v+pA!piDl0rA#a3G2ld}9_8s-BLDRl|LlUxtCfK^h-f_N_W6*8R$n-|ju*p;|n=oNk{&H!>mCRXEChSTLS*TdF@` zDixdi^T@?XPXlm}%NZ!lks@6x*De)2u$*qXv^Vaex&0y+klJMeXDzSC%7$FP9@`sJ zcTrb~>M&NQrg|R}%5k>mQe01l`|Srtt?7Eae1jG-)5qeWq$bDH6;I>LCeucTigx@v zr^GgY9QtG|@DF-LDlH*fLI~gWB|c=Fd`DBgpJj{Wp;N=Qn;#7>2+J*(wW_S#3$fzR zbx?BGR;63Ie4jF%*a=B6_X*wN!)WNQaz!0RZiQ1p{Wc1=L%xiH3pteHS&^jLWE%B( zY6qg{mrVBxIgUWHfrE9RVCSzimVD{48lnBm#UPs-y;|^j2J8>OJbTCa02D$he+rGL zhJZ;jmO*GhjeS2j5)deGjOf7czER{Vvqj#AzXesXrF_%#(tVwp=l;t98lfTmiZ*c? z8v#MlJli2&(hcU(4w*l>-w(@5rwPthNrOGB`C8yKt%%|7>?Wu$Q=KYdRyU=kYz+UG zJBi3)om`uXhD7|t54{~|?b@6%{JBb}$e2kN{?5(eUgS{gezwoENk6#}YCT|!F^|mQ z{qK<@aBJV?ufxIh*)Q_FZ`qDg6OPdAh@F9JSl4IWO}bGZZtT@XwK^q#j*@#o$AK1-rTj0wUDu%B;G$_J&9rU1sC*z z5b-a|QVo!n9C?J$%_TvTjRfI)UCR6H7mdyYvyWdeHS*!R*1w8{3=z1qZ`+J)H{d&E7bGzzlph#!b|2~pHC zKJyUr((AQ;w-4*bcQqoN!hC#eoIsw60*s?Qjv2bGTCIXNlelXYH7siTBBL&o$IE>M z+_&7IRG*X>ZpW0smeB1mNHZdlhs^-dQu~oI@r`tZ@Z_K^5~d3CEUe`EM+A2XQLj7k zU5=;iDHYU0t#x# z_(BJA*8}sWZ&hpH9`;r)Qm@>hsNEemHXuEq?jxi=bzBKvh7P%1xX1kV-Y18|a0hR8 zWF5o7M14vzs9y>lT~CNu&dHur$IgP~8Cr8U!e}*`K&iaccbD&Y`QiK| zVKlui@_`YuSX z)aD-yR(OO2ArRcHEmi}&yKH<>Nkq&-sjXhJ=-n1^Vcp{v*$FPsqUf*NWwe1|SaT`I z2m$8_7dua&6OXcXxq*2i3G8tfX&l-x9kZ5^QI~M)XMm7vS!X@^FbLEprqR6A9$487 zum_8MM9lb|i(-(m#0^<2PxJ4Qs0TEYEIKL)T;$-jcOJ(Y*(q*T?G>;<`kLE3WRNMl zOmE@_qJz0jFE0|~pGYZzp_@+5vP;@ju#oeGC7uf$y~IlO$y(exQ6#5XV2?$?P&A!K z91+{=xJ#$1inwb+(Xx7Q5cIk}WD76ODM_t&vsj06qHR> z6n|#a;;;~mkw0~vg(aV9itH(3ufS9;nH3BT>xnR5j2m)hG7IADkcOQLBuqG1l_{iA zud?A-aMFAWp`rW6E|GJ0KAOaJHUFE_Cm#7au>8{yS5pDd6RmU_s(qxBmT{FkqsY4S zl}!1oEQ%Scs>RHXmh0f~w7tXIB1H}JME(#zK`SE-a$=*x;_{ie@*h+M+w#OxS61)1 za&Hwr25{nqMIhGPiJ9hltJSmz-+U*F52yKZ*~RJVkw%|18&j=_K6?D0WV}YMaXHt+MZA6_z1Wrg*|!W5yoNPbo;94mD1OfLi;3R!8(^ zo-Rpt(eH6O$B$X!c@gPZ@A-k`YB>GzQump*chJUrJyGQO?uR@<+ONYFZnS}yr!y_f z-KW(PJw1hDG?t5nGhFXNfwpwN~k&C2NfeIPPT=6 zu7Z6)l0efYeRL85`uaPyypU!g&}HJDx*x||L@QrUxo`4Nd5M>w%ie_as3Vz|m;j0n zNp+QIlW75N2!vc5vZf!`+P1U4F8(}NA6CA&TMk7j$?_xKncWRchVXyonN+2fXQH2)m~PNu zpW{$blbMvCQXZX`6tzW z@e2JRj>Ue;zS%zDn5N$h>Bb+MmX4P?)hq>EBMCFPn0{IGCIy=+1BO zL0o`gm#rPQgM$mONG0(pls7}X`dGa^@qE9O=Mi5V;&P1F|>9$$1pX7h>2 zgw%eeJ0A|M?#VSaFC)=MA-s#0Gi}`UpGuGKPxTJIH0W=&XZHHJ*_sUF za^Hr0lN!v(?-$eKwE@+mvt4u`5wpktQg>7S72>=<{UaZeVF*p%&1m=%r!Hg^a6Y!wZrj-C+XXzSo5>mo)2Hz~-B=^u;BN>%{_sNh z>E1x_+b(GAz#hDiFX{(B{qEdQQ5MgVIglRvS4ZS(UAc}2;ZUj$Z)$s%Kh@hSt=ga8 zUfCRcFv=LZ)f*SMeY$e-W`Fi_et3E~iLESnUt97G?>lQyUpMPW+cF*mMz|<%X6uyC z9k~a#_~6w^P)G08XBd&R;PoG|Ff9`ZPs&@`EroBH0Hh(9qK|tp)m4S(KA-xeD12I9 z3WkIbt#t}`ZL>weaC@bk!T_j+9RATeafM8!W3=Tvzn5ShaYvM=sS^IczhkuoMDLV( zK!Y2B5e%ZGh{jEUaYs-jH0RP6l)@1V8l#NU&e>sdkrnWs>~%KnqV$&*s-EQWNgX1- zEm*S21w!KbOV#mw_QWp49gMG4J&Ar7K}ydWK|xlqM6kC6U-ontWVPTY^3%QV^N$>r z**oN&mZUwsJ(W)^dg+B#H=9l6kG5E5U$tZ_xy)mKY)_s_BMk~*5-`F4jOvy%aTP^} zp0T^pK);5Q#eF;dMJs+0*H_uC;PY8Jmfz$|U1!iuurp-$V9G*xnscds>&al7`||WH zW^NbYu4yQ2gb=z7{|#rXF3W+A6=wutSzI3JHXUU?SXb~u{}r~rD3=>?Ry2+<5|y3u zc4O)n(l$j64y2e-(mG;|0F=pqxMOK!bV}+SblKjZd}R}1W;Cc1>4%Z8SL&O-8dL96 zq*7fHr|Da|kC$=|;u_g?y1?CYzL`A&E718^C2(jOg|EJK;#Zxr2E#D`PD*Fa>MA>fp z7T&EH8{b7J=9tJ6O(l3eZwWF7HuCJXciT(QSyG;M3$xblN4L3qPh|Vtr7x4T9UeL) zZZ1V~-JK#?q(0)lq|;tmBoZt}EM*#!PL~`PevBhzZMiP_sYhF}__nL^xNrgznn304 zF@L>Kp9Mtq#CQG$Pa-_-t)1@b^E@)&acKR^Mb~dwLf+hbVC>wJdYc%bH$Y;q-OxlY z1~b7LNp^0mSj^$jctq`f3MenmATtR9V!EXsJjz|43z@!+DbhCRaB28kA85Dls7Pw^ zWxbc)(Di53Lv+LD7P)bfylg6;(B?aZZm0bNi;}*KT_dRwDpm1rZVjM)s^Z+-f*hX| zWtiaM?K1(+j9noq)y@$%=6eUJ$Ec67M<81DD(Tu z5JhuukWNG_&FnFTVSb_D<82Or)`nnG_fEa&dlsi^TYL*zJGGOY6aAj^T}ZCMf}iCn zhJF;vEeU=&q2Ue)nb(5iz$U!pXH+s1_k*Op_2sR66B!?5bUg?o?EV`A!DRWbX~I9I zLFOM=z+a5RexWqZ7$%52sx0{B20xvkgCMz*5U2l`Lc#rWI*6=#M*`vW!e)tc!PA=# zcnV#{?=|tRePPvu(EcsMQhHvM$G^B0TteVT$^JCp{KRS2Q1X!ek_9z3K&p^@&E^qx zNz^&!P}=%4TO49)@Urgx`PII!Ms|Ez4C!W z)R1U4P7P0>TzzM}9HNON*KP~36JpFx87O528W6A0w!iw8Qa!tr%8bCxjs}xik{Grl zDiJe0KPAy_NuV7>MMhV{Qaw(wv(B^aXYQp`ZMGt>N9qs^rCctC8*hGEiZf)Vqgk~) zX&R5S)0JHgd2b_LEciukg!|;l=^s41e!XIeFJq(4;L(E+9t!X(DREIYo>0tn)$AQH*qcNoN*52*kIE26frR}w5_s|spEn&_$I zC?DPIvlPPfQxokhLzj)&=m;qbr>e^Jnh%5Pk$#;Bgx61^#@mVGt3tVsbBk*?N8ghB zIFA;7vL%QgiAo|{jY_DulNcLWU{H=i|2?-Px1;tgKx#z3L5(s(RjE1Jl971CRE<|g zMsj?CX*Ei0nVTGoO0U9}0Ct2Mqe`wpf0-LK*>2x=?!5s!9o4ErW5U=hU^VxXEyovl zDvFWBfL2=$ufnJ*N@ghHk&{z#xzD*tpe3BxDBsxV@F_hGPPnw1ks{18)7?K2`*Pd+ zNOu=9F&wA#QF>r>C^b|sw6eFQodEpzWJvH#y2u=;P?R@7le;Dx$ zOB%vlufrDUCTZ^+i7Q%kLODW`CW}zgYg#Aog^i;fJGojEae)v1q*O~KR$kmR2daTS zpPDT~Ne)zXtD-(LBX_W3Q_1i((-bsX91w%H8bTla?8BR6)b{bcWF$J3HnZ{KT)sp& zMXK&$SMfl+eASJCdf*=@R9W(djU3+)O~IVpc@#P$|Li%?qbu$rWwiwhP$wDEH8uiuDfrgr) ztR0DLnb3}tE06CB*MfUJYI&_-049vU&R9|eSh`+v?62Zq=|v;m_2{k%SS@U*4$iE z3za!ztd=xb>hnX(aExRTQaxB_5>#zbV;bpqX5=kwtyA9YZi1{-y2DBzN{!}yI~IY% z4ez<>Zlabv5S!L-vHa_%kA>WP#n!u&tG8Tpq@H>ygPCOzH-oNQVP}PtA!=e*&!-4M@;x1Py<*-z~*6!&eC3e_Ry4PSZtp7q|p3Ub1 zjo^fcv*gIlT2YUPyHv=@nh2Wmk`@JwCIWhU>u8tm6Xq4D+ZcC9788-4*VOu_B9p{- z*@&@~2B=X+b3f{En%Gsv4Suex`Z@ji@DSfEu)qwJ@VuUe->!SD$;UyWuMrtZV5)Nn zt={~SzfDe)>fR<1-;K2m68$n3N59{S(`2(bOw`z{M6}%2XcE_`z>1T6NedCeqH5ey z;!_PN^pquOTkKORNo(^PZ7yPzGniC898Xv2AV5wx^2tw)Ut=xlUZ7j{S+5m71LW?4 zvzFcr5vuuemaf(!7>4_s7x4egR&3}a0*^ph3LiKa7~$Wu6*~trfUSg;sf(3^y|J^$ z?^H!GPSNHgE2iY#HN)rCVed3c_RzyvUDsSXzNqIO6PD6ljC5sfAj-_scyYbI2CjOPz=BK-fR?Pb+a@r45Z!*q4 zWONjLqUU22eIy3#W1+KcU#9A(p6KKR(^?1qIA{ zc6bKrRhpSa4C<@^65|W1bbk^hVP$M#?*MeMGF5kVbaVy)fez09D`le!3e)2(%%cj( z%uKYja!kxqEcJia_qq7(D6`14ln7Yqdy)>{SNb@!r_Z!Oy1YP@_D}j094xF%MeU7k zJv;%<|NFpQjw(+pxJ}4UlvTb)>i2>)q*qE~9UJnMK?;pP^*`){e>XmL1#$8Jy->JYC$~T76oX}0-aAiA?Cfln&+&fErsYx)ib(%*Xx6+#FO#Lpu0LI*3 zE2ibxfOKv-Z6Tu-7wuPwjk7H*w1uUK{RPrNP4~b~t9`{3bKN?cxmW&k1~2!Z{Uba? zfNYKvsw}z&a+?=g-Z+sAdcNI>UXpE)%ugbN^gImGEL*YARu-8WB=JR)#F4PVE9ov$ z@h~nddV6BbuSUag(&#pJvuXJnW=N*n?WQKGHA9aO5y9W>oMJa8sw@id@%ev7GZIY@ z2g7{5N*Qob-CVWpPZP%+5)waN&ks6<%fx7R8))iUpSYIo{7Ive5I1XiZKoq)QW0%d zcd5sA%+MzgZ7Z_{p+^)RF~);6K#YH(@)^>1DD4pZurzNWK;Oi#bE%x6L|&)>*!~C) zON(|Md*XG~`HZI`IZW-d-EPfR6wTzg;I!^zS4|K!Ecw!XXNd`fJlBIAH>%8{h!7K? zM9%)0NmZ=hqMD!mllr4W<1+sMx#;E%#1fvqmO|ogG|+QgbRgn$G|IMe13cZv8gw|c zPxG(1>ew@|N_}Vgym7YFr7sZp%b~{i@&|y+z_Q3JIj$m(LAR^Z#3ixv2?iN6l=PY6 z51QEo-@g$sDkhDUJvv5OCGoaa3-?S)Q;2t&l^WMsCaVwj5lzuN1>4_5iShy99OYWs z!4+i5h5hLWt}1`18tk-Jh(mk6{SFOyWB7&HVqWGmgo1DX+%<#s4}Rh@{rBXT<*LDW zr!*tP&#oq7-D=B_->^4pCYa+jh2o4ByLl~en`O6DC%x}J`-}Sw-}qcaY=;Eo67L}1- zF`X9E5^`tqJN;u+P!qnM1ziw)F(4XLtBFI#7`chvJdVna>HRRqT1d!xbAf}KF%?Zh zD)s^&7PFiq3pn{Q!SWpP=%XsAC4=V0&?cIl8e{OGBm<}2m~i9C^-(_0t1B0O_U~@;SZ{e zQ|1!(N7TGo>S#)y8iT@xuHW(lFAY*4m6GQd@M_p42)#t$+Ie8Z3oq=j)0bG{g~ssE zNGitdtj}(?vapgLT5G57h)hx)%q%M^ah3*J)OU%kZ&Y7^st@QWvHg|Tc%nR#QHJ)_$ zbi}~7xW$FYc4`d}(_`DNDe)VxtukzwttZfTZ~8U-;)@a(Wvv=sH+xactNm5?W3sv7 z^C9Ws3!eUJSN>)?86Eb}=CKB<4&%FgQpI62i|rqZm_u6GhFL}K>{_yu@v@rZgzD3< zknttKY^p+Br;MFV7*ky)NjIO}P_gbV?eAT}A9<}{@DN8SJZRdiB%51bc&H=1EK5ks zoJG=L4}F8pi61O9=MvaxWQV1m!A|OeBqP6DN2X{K7fzRYq7~<<+l{hv7EB`ga9J5< zQCsm^82qwfr9C5AwQtTi1TKws3#)}XNy$3p9NajX^=~ZNzCQ|L9Xm0K*R7!zhTFa1 zf3z1s$l%$Xn=0?tBaXG}=CO8vqQzSZAYtSSs&X45AExf^6`7qxgzkH)w9aCchsK!8 z*}OYQ!u28WD-T)Z&Q@4!!JVY%WOKL1$hmL7Y}7X5L(#3mLlK;GMq42(-BHlFSPgn_ z!Bcf3Jh>~P6gZ{hXmdOdmNK9h<5%q#petIup`okl-&E z%$1md7R^hoeWgDx;?@B+0U(ltl#L~$OedF+CC3Vl3#=Q4-IeK&whEW6cC)Y}SXG{C zsUujka0dfN^cBj76EjMRgZ!HHW^rxz+J`034Qpti7*{;glreR0k2NIe@tjSnQ(yj? zHJI`MT@n~ofsya%q6s{hp4-x97Jd9aSm>x~@A+jCt;B$8Ck*pJi!|m!kqz4Zb_OSg5JZ zjuahnc|c(+bT0t);d%>We#A7hK;~tGmS6c{_;x{xV3)RK8V5=56GB9qRFb1)>k_V- z!iP_+!D;!p`4K>t{ec2~r-@oORjF|%(xwz|oO(!3wZSq-YjVCBHcN8&6cxtWeTiHP zGhN{5vqM<3MNI8D>T!g}n_q(=9mn;o?D#G}$`jU# z{=Q!c)+9KW*e%x6*{(@duOYOmZoq&p1@?(bJ0T9>ynp*e3?Zpz040Wgo$bx;J9!xe zRNJAxbKD@4H~I=#Ctu0rH;+o4vyj&=seTxlf=NWNDWIlQpNR>IvL?s~z$L_yP}sK! z^4m?=W)B#7;xFTz+ktUq>G+;FSk1kquDEwMCPDwjzhOIXFd8(Ox8I6wu zYAzsmi>dO*dZE*+AXVq!SG2CPQnY4x)CEeRbuKvfM3W$OaPNGjnvN1H*zHuR11-B{ zyWrj2McSab=BMWArrB|Kq0peKuV&UOR@N1#6{;h=?l!ZK844DikIr%wtBiHUUo!a= zCI@HEGy6l@2p{74tkV*WC%>#k|D3q-Joxs@aDrxcGov2^1M#V6VmrBw)7KU`v)B|7 zUtM$jEW=r|sDsDrIlc^OQnFu!b-ulffF!-3z0LM*PwskZUSgzz7iCV{EkVij<%NfL z!SS3`{->So?;e~|Q{ClXfApR!4HXHnPmwe!Y7-rFtfIYq9E#4`J6 zh6NfabinwK;4R*D9j|gfq9~=_&XBa%ffL2^y?bk6uk|%(*jlT2{<=qbrKip9;>*)c zny>9U8tyCs5)ENaVq11oA?fpB>j!<%3&`ZQb1&TM7NvuP$2qb}nVmH{z zGzV|!GkLbjt942MPzhBDN9gYYd&lJ>+*Hfv6Ve)6ZJmUKRSF0?XJT(`Wy|bnZ}FP35s>&&3yOXYNC)1(0RL3R0y-f7l|ZVSS^~^mZ2{t-Bk`vl ztjWSW8U~EldwkZ=^ z2U8m}kdNYQZ1-E$AKO@V+j(Roh(ZLyQ2m4VZ{idAe4}L z?c;aP|KH`GB5x@EhBPrV1DG4T+PeI)$*zW2^9oRagFV+{zKZ-QD&e?b5ae}eowIvwIgYEb?&Y$13cny1Pef|X- z@ctX@4@T%~(rbh8FVc6Pzmfj!lKjCgd`*1q?)^pd@%;nw|K|0*#=bV?{=yRZ{Q>)b zvFKh?Uz=%vQ9J%bePyk^roA@2{-Oc=|Df?d?XTCc*N)X+u**Ne{%8N{HT<>5^cVb7 tz~7YqhvW2`@j4^>i%}o)H^!^{Ohq0FbglS(M#Td&0iDUHqko?s{tvm^+phos literal 0 HcmV?d00001 diff --git a/simscape/sim_micro_station_modal_analysis_com.slx b/simscape/sim_micro_station_modal_analysis_com.slx new file mode 100644 index 0000000000000000000000000000000000000000..3a38ad999ebd2b67ba5c750d4c24cf8dd0657849 GIT binary patch literal 108901 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 CI%N3( literal 0 HcmV?d00001 diff --git a/identification/sim_nano_station_id.slx b/simscape/sim_nano_station_id.slx similarity index 100% rename from identification/sim_nano_station_id.slx rename to simscape/sim_nano_station_id.slx