142 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Matlab
		
	
	
	
	
	
			
		
		
	
	
			142 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Matlab
		
	
	
	
	
	
  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');
 |