CAPITOLO 5

Precedente Su

Trasferimenti Interplanetari

ormule per il calcolo delle orbite eliocentriche : Passaggio di una traiettoria per due punti

Il calcolo di una traiettoria interplanetaria, noti la posizione del pianeta di partenza e la posizione del pianeta di arrivo, può essere ottenuto dalla soluzione del problema dei due corpi, procedendo per sostituzione. La soluzione del problema dei due corpi si ricorda essere pari a:

r = p/(1 + e cos (q - q 0) )

essendo r la distanza corpo massivo - satellite, p il semilato retto, e l'eccentricità e q l'anomalia reale. I parametri da determinare sono 3 (si ricorda che servono tre parametri per identificare una traiettoria nel piano):

- il semilato retto p

- l'anomalia reale q 0, angolo che forma la direzione del pericentro con l'asse x

- l'eccentricità e

Dette q 1 e q 2, r1 e r2 le anomalie reali e le distanze dal corpo massivo rispettivamente nel punto di partenza e di arrivo dell'orbita di trasferimento, si hanno tre condizioni a disposizione:

- Il punto di partenza dell'orbita di trasferimento è anche il pericentro di tale orbita, per cui q 0 = q 1

- La soluzione del problema dei due corpi nel punto di partenza della traiettoria:

r1 = p/(1 + e cos (q 1- q 0) ) = p/(1 + e)

- La soluzione del problema dei due corpi nel punto di arrivo della traiettoria:

r2 = p/(1 + e cos (q 2- q 0) )

Ricavando p nella prima equazione e sostituendo nella seconda si ottiene la formula che determina il valore di e:

e = (r2 - r1)/(r1 - r2 cos(q 2 - q 1))

da cui, poi, il valore di p:

p = r1 (1 + e)

Deduzioni analoghe valgono per il caso tridimensionale. In questo caso però, bisogna prima determinare il piano passante per i punti in questione (partenza, arrivo e punto massivo). Poi si passa alla determinazione delle caratteristiche dell'orbita nel suo piano.

Il file D2point.m è un esempio di come dalla posizione di due pianeti venga calcolata l'orbita di trasferimento, supponendo sempre la partenza dal primo pianeta in direzione tangenziale.

Nel programma vengono mostrate più orbite di trasferimento, per differenti posizioni di arrivo del satellite sull'orbita target. Come è facile intuire, alcune delle posizioni di arrivo portano a delle soluzioni assurde (ovvero valori di p e di e negativi); altre richiedono un incremento di energia proibitivo rispetto alla velocità della Terra nella sua orbita (orbite iperboliche).

 

Funzione D2point.m

% Calcolo della traiettoria di un satellite passante per due punti.

% Si esegue il calcolo su una orbita di trasferimento tra Terra e Marte.

%

% Per quanto riguarda la posizione iniziale del satellite non bisogna

% preoccupasi. Quello che conta per adesso è la posizione relativa dei

% due pianeti.

% Si suppone che all'epoca del lancio la Terra sia nel suo pericentro

% (scelta motivata da considerazioni energetiche), l'orbita della Terra

% sia circolare e l'orbita di Marte sia circolare. Si suppone che il pericentro

% dell'orbita sia situato sull'asse X del sistema di riferimento eliocentrico,

% (per cui th1 = 0) mentre come parametro libero si lascia il punto di arrivo

% sull'orbita di Marte (th2 variabile)

% Numero di posizioni reciproche che si intende provare

nVal = 40;

% Definizione della posizione iniziale del satellite

r1 = 149.5979e9; % (definizione di AU)

th1 = 0;

% Definizione della posizione finale del satellite

r2 = 1.52369*r1;

th2 = 0:2*pi/nVal:2*pi;

% Inizializzazione dei dati p ed e

e = zeros(size(th2));

p = zeros(size(th2));

% Si esegue il prossimo calcolo per tutti i valori previsti di th2

% Si osservi che viene appositamente evitato di eseguire il calcolo

% per th2 = 0, che non ha soluzione in p ed e.

for n = 2:length(th2)-1,

    % Applicazione della formula per la determinazione dei parametri

    % dell'orbita di trasferimento

    e(n) = (r2 - r1)/(r1*cos(th1) - r2*cos(th2(n)));

    p(n) = r1*(1 + e(n));

end

% Adesso si calcolano le orbite dei pianeti

th = 0:2*pi/100:2*pi;

for m = 1:length(th) % Cicla su cento valori dell'anomalia eccentrica

x1(m) = r1*cos(th(m));

y1(m) = r1*sin(th(m));

x2(m) = r2*cos(th(m));

y2(m) = r2*sin(th(m));

end

% Calcolo dell'orbita del satellite

for n = 2:length(th2)-1 % Cicla per tutte le posizioni destinazione

for m = 1:length(th) % Cicla su cento valori dell'anomalia eccentrica

rs = p(n)/(1+e(n)*cos(th(m)));

xs(m) = rs*cos(th(m));

ys(m) = rs*sin(th(m));

end

% Calcolo coordinate partenza e destinazione

xst = r1*cos(th1);

yst = r1*sin(th1);

xd = r2*cos(th2(n));

yd = r2*sin(th2(n));

figure(1) % Il disegno viene eseguito sulla figura 1

hold off

plot(xst,yst,'*',xd,yd,'+'); % Disegno partenza e arrivo

hold on; % Sovrappone al presente i futuri disegni

plot(x1,y1,'r'); % Disegno dell'orbita della Terra

plot(x2,y2,'r'); % Disegno dell'orbita di Marte

plot(xs,ys,'g'); % Disegno dell'orbita del satellite

s = sprintf('p = %e, e = %e',p(n),e(n)); % Stringa con il titolo della figura

title(s); % Disegno della stringa

axis([-3,3,-3,3]*1e11) % Impostazione degli assi

drawnow % Si richiede il disegno in questo punto

pause(.5)

end

Questa pagina è stata aggiornata il 06/01/04.

Leonardo Daga's Warehouseâ, http://leonardodaga.insyde.it
Send any Comments to: leonardo.daga@gmail.com