56 lines
1.6 KiB
Mathematica
56 lines
1.6 KiB
Mathematica
|
%% Script Description
|
||
|
% Determine if we take into account the flexibilities,
|
||
|
% does that changes a lot
|
||
|
|
||
|
%%
|
||
|
clear; close all; clc;
|
||
|
|
||
|
%% Initialize all the stage by default
|
||
|
run init_data.m
|
||
|
|
||
|
%% Options for Linearized
|
||
|
options = linearizeOptions;
|
||
|
options.SampleTime = 0;
|
||
|
|
||
|
%% Name of the Simulink File
|
||
|
mdl = 'simscape_id_micro_station';
|
||
|
|
||
|
%% 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');
|
||
|
|
||
|
|
||
|
%% Run the linearization
|
||
|
initializeTy();
|
||
|
|
||
|
G_ms_flexible = linearize(mdl, io, 0);
|
||
|
|
||
|
% Input/Output names
|
||
|
G_ms_flexible.InputName = {'Fmx', 'Fmy', 'Fmz',...
|
||
|
'Fgx', 'Fgy', 'Fgz'};
|
||
|
G_ms_flexible.OutputName = {'Dmx', 'Dmy', 'Dmz', ...
|
||
|
'Tyx', 'Tyy', 'Tyz', ...
|
||
|
'Ryx', 'Ryy', 'Ryz', ...
|
||
|
'Dgx', 'Dgy', 'Dgz'};
|
||
|
|
||
|
%% Run the linearization
|
||
|
initializeTy(struct('rigid', true));
|
||
|
|
||
|
G_ms_ty_rigid = linearize(mdl, io, 0);
|
||
|
|
||
|
% Input/Output names
|
||
|
G_ms_ty_rigid.InputName = {'Fmx', 'Fmy', 'Fmz',...
|
||
|
'Fgx', 'Fgy', 'Fgz'};
|
||
|
G_ms_ty_rigid.OutputName = {'Dmx', 'Dmy', 'Dmz', ...
|
||
|
'Tyx', 'Tyy', 'Tyz', ...
|
||
|
'Ryx', 'Ryy', 'Ryz', ...
|
||
|
'Dgx', 'Dgy', 'Dgz'};
|
||
|
|
||
|
%% Save the obtained transfer functions
|
||
|
save('./mat/id_micro_station_flexibility.mat', 'G_ms_flexible', 'G_ms_ty_rigid');
|