Cleaning of the files. Add script for identification with varying mass
This commit is contained in:
		@@ -1,4 +1,6 @@
 | 
			
		||||
function [X, Y, Z] = getMaxPositions(Leg, J)
 | 
			
		||||
function [X, Y, Z] = getMaxPositions(stewart)
 | 
			
		||||
    Leg = stewart.Leg;
 | 
			
		||||
    J = stewart.J;
 | 
			
		||||
    theta = linspace(0, 2*pi, 100);
 | 
			
		||||
    phi = linspace(-pi/2 , pi/2, 100);
 | 
			
		||||
    dmax = zeros(length(theta), length(phi));
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
function [G_cart, G_cart_raw] = getPlantCart()
 | 
			
		||||
function [G_cart, G_cart_raw] = identifyPlantCart()
 | 
			
		||||
    %% Default values for opts
 | 
			
		||||
    opts = struct('f_low', 1,...
 | 
			
		||||
                  'f_high', 10000 ...
 | 
			
		||||
							
								
								
									
										35
									
								
								src/identifyPlantLegs.m
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								src/identifyPlantLegs.m
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
function [G_legs, G_legs_raw] = identifyPlantLegs()
 | 
			
		||||
    %% Default values for opts
 | 
			
		||||
    opts = struct('f_low',  1,    ...
 | 
			
		||||
                  'f_high', 10000 ...
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    %% 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 = 'stewart_simscape';
 | 
			
		||||
 | 
			
		||||
    %% Centralized control (Cartesian coordinates)
 | 
			
		||||
    % Input/Output definition
 | 
			
		||||
    io(1) = linio([mdl, '/F_legs'],          1,'input');
 | 
			
		||||
    io(2) = linio([mdl, '/Stewart_Platform'],2,'output');
 | 
			
		||||
 | 
			
		||||
    % Run the linearization
 | 
			
		||||
    G_legs_raw = linearize(mdl,io, 0);
 | 
			
		||||
 | 
			
		||||
    G_legs = preprocessIdTf(G_legs_raw, opts.f_low, opts.f_high);
 | 
			
		||||
 | 
			
		||||
    % Input/Output names
 | 
			
		||||
    G_legs.InputName  = {'F1', 'F2', 'F3', 'M4', 'M5', 'M6'};
 | 
			
		||||
    G_legs.OutputName = {'D1', 'D2', 'D3', 'R4', 'R5', 'R6'};
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user