function [] = describeMicroStationSetup() % describeMicroStationSetup - % % Syntax: [] = describeMicroStationSetup() % % Inputs: % - - % % Outputs: % - - load('./mat/nass_model_conf_simscape.mat', 'conf_simscape'); fprintf('Simscape Configuration:\n'); if conf_simscape.type == 1 fprintf('- Gravity is included\n'); else fprintf('- Gravity is not included\n'); end fprintf('\n'); load('./mat/nass_model_disturbances.mat', 'args'); fprintf('Disturbances:\n'); if ~args.enable fprintf('- No disturbance is included\n'); else if args.Dwx && args.Dwy && args.Dwz fprintf('- Ground motion\n'); end if args.Fdy_x && args.Fdy_z fprintf('- Vibrations of the Translation Stage\n'); end if args.Frz_z fprintf('- Vibrations of the Spindle\n'); end end fprintf('\n'); load('./mat/nass_model_references.mat', 'args'); fprintf('Reference Tracking:\n'); fprintf('- Translation Stage:\n'); switch args.Dy_type case 'constant' fprintf(' - Constant Position\n'); fprintf(' - Dy = %.0f [mm]\n', args.Dy_amplitude*1e3); case 'triangular' fprintf(' - Triangular Path\n'); fprintf(' - Amplitude = %.0f [mm]\n', args.Dy_amplitude*1e3); fprintf(' - Period = %.0f [s]\n', args.Dy_period); case 'sinusoidal' fprintf(' - Sinusoidal Path\n'); fprintf(' - Amplitude = %.0f [mm]\n', args.Dy_amplitude*1e3); fprintf(' - Period = %.0f [s]\n', args.Dy_period); end fprintf('- Tilt Stage:\n'); switch args.Ry_type case 'constant' fprintf(' - Constant Position\n'); fprintf(' - Ry = %.0f [mm]\n', args.Ry_amplitude*1e3); case 'triangular' fprintf(' - Triangular Path\n'); fprintf(' - Amplitude = %.0f [mm]\n', args.Ry_amplitude*1e3); fprintf(' - Period = %.0f [s]\n', args.Ry_period); case 'sinusoidal' fprintf(' - Sinusoidal Path\n'); fprintf(' - Amplitude = %.0f [mm]\n', args.Ry_amplitude*1e3); fprintf(' - Period = %.0f [s]\n', args.Ry_period); end fprintf('- Spindle:\n'); switch args.Rz_type case 'constant' fprintf(' - Constant Position\n'); fprintf(' - Rz = %.0f [deg]\n', 180/pi*args.Rz_amplitude); case { 'rotating', 'rotating-not-filtered' } fprintf(' - Rotating\n'); fprintf(' - Speed = %.0f [rpm]\n', 60/args.Rz_period); end fprintf('- Micro Hexapod:\n'); switch args.Dh_type case 'constant' fprintf(' - Constant Position\n'); fprintf(' - Dh = %.0f, %.0f, %.0f [mm]\n', args.Dh_pos(1), args.Dh_pos(2), args.Dh_pos(3)); fprintf(' - Rh = %.0f, %.0f, %.0f [deg]\n', args.Dh_pos(4), args.Dh_pos(5), args.Dh_pos(6)); end fprintf('\n'); load('./mat/nass_model_stages.mat', 'ground', 'granite', 'ty', 'ry', 'rz', 'micro_hexapod', 'axisc'); fprintf('Micro Station:\n'); if granite.type == 1 && ... ty.type == 1 && ... ry.type == 1 && ... rz.type == 1 && ... micro_hexapod.type == 1; fprintf('- All stages are rigid\n'); elseif granite.type == 2 && ... ty.type == 2 && ... ry.type == 2 && ... rz.type == 2 && ... micro_hexapod.type == 2; fprintf('- All stages are flexible\n'); else if granite.type == 1 || granite.type == 4 fprintf('- Granite is rigid\n'); else fprintf('- Granite is flexible\n'); end if ty.type == 1 || ty.type == 4 fprintf('- Translation Stage is rigid\n'); else fprintf('- Translation Stage is flexible\n'); end if ry.type == 1 || ry.type == 4 fprintf('- Tilt Stage is rigid\n'); else fprintf('- Tilt Stage is flexible\n'); end if rz.type == 1 || rz.type == 4 fprintf('- Spindle is rigid\n'); else fprintf('- Spindle is flexible\n'); end if micro_hexapod.type == 1 || micro_hexapod.type == 4 fprintf('- Micro Hexapod is rigid\n'); else fprintf('- Micro Hexapod is flexible\n'); end end fprintf('\n');