Orion42 Blog

~IT made easy~

Uncategorized

[Matlab] – Sistema target-chaser con misure di posizione sul chaser

Ecco uno script per verificare l’osservabilità di sistema target-chaser, ovvero il problema del docking tra due navette.

Si hanno a disposizione le misure di posizione sul velivolo inseguitore.

t_c_sys2.m

function t_c_sys2()

m=input(‘inserire il valore della massa: \n’); % chiede in input il valore della massa

%zdot= A*z+Bu
% z=[x; xdot; y; ydot; utx; uty]
% u= [ucx; ucy]
% u è il vettore controllo, t=target, c=chaser

A=[0 1 0 0 0 0 ;
0 0 0 0 1/m 0;
0 0 0 1 0 0;
0 0 0 0 0 1/m;
0 0 0 0 0 0 ;
0 0 0 0 0 0 ];

C = [1 0 0 0 0 0;
0 0 1 0 0 0]; % misure su x e y

n=length(A);      % n=numero di colonne di A. Qui indica il numero di variabili dello stato (xdot=Ax+Bu)
oss=obsv(A,C);    % oservabilità

disp(sprintf(‘\n la massa vale %d’ , m))

% calcola il ranghi e stampa il risultato.

if rank(oss)== n
disp(sprintf(‘\n il sistema è osservabile: n=%d, rank(obsv(A,C))=%d’,n,rank(oss)))
else
disp(sprintf(‘\n il sistema non è osservabile: n=%d, rank(obsv(A,C))=%d’,n,rank(oss)))
end

Rispondi