Sei sulla pagina 1di 22

SECONDA ESERCITAZIONE:

STUDIO DI SATELLITI

IN FORMAZIONE

Sistemi di Guida e Ing. Aerospaziale


Navigazione – Scuola di
Anno Accademico
2010/2011
Marco Cinelli
Matricola 1097262
In questa esercitazione ci occuperemo delle formazioni di satelliti. Dapprima
verrà studiato il moto relativo di un satellite Deputy attorno ad un satellite
Chief posto nell’origine di un sistema di riferimento LVLH. In modo
particolare analizzeremo due casistiche:

– Il caso di orbita relativa chiusa e circolare;


– Il caso di orbita relativa aperta (divergente).

In seguito ci occuperemo della realizzazione di due missioni:

– Un rendez-vous verso l’origine del sistema di riferimento condotto con


due diverse leggi di guida LQR, una atta alla minimizzazione dei costi ed
una seconda che minimizzi l’errore finale.
– Un trasferimento orbitale dall’origine del riferimento ad un’orbita
avente proiezione circolare sul piano xz dello stesso.

Come primo passo definiamo i parametri orbitali del satellite Chief, per il
quale scegliamo un’orbita bassa, circolare, di raggio pari a 7000 km. Tale
orbita avrà periodo orbitale pari a 5828 secondi e velocità angolare pari a
0.0011 rad/s.

Ponendo il satellite principale nell’origine di un sistema di riferimento LVLH


(Local Vertical Local Horizontal)- in cui l’asse x è posto nella direzione radiale,
l’asse z è normale al piano orbitale e l’asse y disposto a completare la terna
destra- la dinamica relativa dei due corpi viene descritta dalle equazioni
differenziali lineari di Hill. In forma matriciale, possiamo scrivere:

X=AX

Dove X è il vettore di stato [x y z x y z]T ed A la matrice (6x6) dei coefficienti


delle equazioni di Hill.

Come detto, vogliamo realizzare un’orbita relativa circolare. Vogliamo, inoltre,


che tale orbita abbia raggio pari a 10 km. Dovremo quindi porre delle
restrizioni sullo stato iniziale affinché si ottenga l’orbita desiderata. L’unico
parametro del vettore di stato iniziale (X0) che possa essere scelto
arbitrariamente è la componente della velocità lungo l’asse x. Noi scegliamo:
x0=0 [km/s]

Poniamo quindi la condizione che renda l’orbita chiusa:

y0=-2ωx0 [km/s]

E quelle che rendano l’orbita circolare:

z0=3x0 [km]

z0=3x0 [km/s]

Per avere il centro dell’orbita circolare nell’origine del sistema LVLH, dovrà
essere:

y0=-x0ω [km]

Infine, il raggio dovrà risultare pari a 10 km, cioè:

x02+y02+z02=10 [km]

Ne ricaviamo il vettore di stato iniziale:

X0=[5 0 8,6603 0 -0,0108 0]T

Utilizzando lo strumento MATLAB, ricaveremo il vettore di stato dapprima


usando le soluzioni analitiche delle equazioni di Hill e poi avvalendoci
dell’integratore numerico ODE45. Analizzeremo dunque l’errore compiuto.
Come vettore dei tempi, è stato scelto un arco cronologico pari a 10 periodi
orbitali del satellite chief, ognuno dei quali suddiviso in 100 intervalli: ne è
risultato un vettore avente 1001 elementi intervallati tra loro di circa 58
secondi.

Riportiamo il grafico della traiettoria ottenuta analiticamente:


Conformemente a quanto atteso, ricaviamo un’orbita circolare inclinata di 60°
rispetto al piano orbitale.

Omettiamo il grafico della soluzione ottenuta con ODE45, e riportiamo quello


in cui vengono comparate le soluzioni ottenute con le due diverse modalità.
Affianchiamo un dettaglio che palesi la differenza tra i due metodi:
Possiamo notare come, mentre la soluzione analitica (linea rossa) si tenga
costantemente sulla medesima orbita circolare, quella ottenuta con ODE45 (verde) si
modifichi al passare dei periodi e tenda a nutare sempre più rispetto alla prima. Ciò
vuol dire che, al passare del tempo, l’errore commesso utilizzando l’operatore
numerico avrà picchi viepiù maggiori. Vediamo graficamente l’andamento dell’errore
(assoluto) lungo i tre assi.
Sovrapponiamo i tre grafici:
Da quest’ultimo grafico possiamo intuitivamente notare come gli errori maggiori si
abbiano lungo l’asse y (blu). Seguono quelli sull’asse z (verde) e sull’asse x (rosso).
Per tutte e tre le componenti, l’andamento risulta qualitativamente similare. Nella
prima fase, corrispondente a circa due periodi orbitali, la traiettoria è piuttosto
“frastagliata”: in questo frangente l’errore cresce rapidamente da un ordine di
grandezza pari a 10-6 km fino a 10-3. Riportiamo i valori dell’errore registrato al
picco immediatamente successivo al termine del primo periodo orbitale (5828
secondi):

Tempo [s] Err_x [m] Tempo [s] Err_y [m] Tempo [s] Err_z [m]

7286 3.70 8510 9.10 7053 6.55

A conferma della predominanza dell’errore sull’asse y.

Riportiamo anche i valori dell’ultimo picco- quello con valore massimo- registrato in
prossimità del decimo periodo orbitale:

Tempo [s] Err_x [m] Tempo [s] Err_y [m] Tempo [s] Err_z [m]

56590 30.73 58050 62.42 56590 53.22

Tali errori sono di un ordine di grandezza ovviamente inaccettabile, soprattutto


nell’ottica nel basso numero di periodi orbitali in cui sono stati ottenuti e del fatto
che essi abbiano una notevole propagazione al trascorrere del tempo. Per ovviare,
almeno in parte, potremmo aumentare il numero degli elementi del vettore tempo
(cioè ridurre il passo), oppure imporre restrizioni sulla tolleranza dell’integratore
numerico ODE45. Entrambe le soluzioni aumenteranno il costo computazionale del
processo.

Proviamo ora a rimuovere la condizione sulla componente della velocità iniziale


lungo l’asse y che renda chiusa l’orbita relativa. Poniamo quindi:
y0=-2.5ωx0 [km/s]

Scegliamo come vettore posizione iniziale:

X0=[1 0 1 0 -0,0027 0]T

In tal caso ci aspettiamo di andare incontro ad orbite aperte e divergenti lungo l’asse
y. Ripetiamo quanto fatto nel caso precedente e riportiamo i grafici della traiettoria
ottenuta analiticamente e della comparazione tra soluzione analitica e numerica:

Dalle immagini risultano evidenti sia la divergenza delle traiettorie lungo l’asse y, sia
la differenza tra la soluzione analitica (rossa) e quella numerica (verde).

Per non appesantire eccessivamente la trattazione, nella valutazione dell’errore ci


limitiamo al grafico in cui siano sovrapposte le componenti sui tre assi:
Ancora una volta l’errore predominante si conferma quello sull’asse y (blu), seguito
da quello x (rosso), questa volta maggiore rispetto a quello sull’asse z (verde).

Riportiamo il valore dei tempi e dell’errore dell’ultimo picco:

Tempo [s] Err_x [m] Tempo [s] Err_y [m] Tempo [s] Err_z [m]

56650 25.72 57940 12.66 56770 6.28

A questo punto passiamo alla seconda parte dell’esercitazione, dedicata al controllo


di una formazione di satelliti. In primo luogo ci occuperemo di una manovra di
rendez-vous condotta con due diverse tipologie di manovra LQR (Linear Quadratic
Regulator) a controllo ottimo: una atta a minimizzare i costi della manovra, in cui si
darà maggior peso alla matrice R dei costi dell’attuazione, ed una in cui si renda
minimo l’errore al termine della manovra, con maggior peso alla matrice Q dei
controlli. In altre parole, condurremo dapprima una manovra che richieda una minor
quantità di controlli e garantisca una ridotta precisione e- quindi- una manovra più
costosa in termini di controlli ma decisamente più precisa.

Nel nostro caso vogliamo portarci da una posizione iniziale descritta dal vettore di
stato:

X0=[0 1 0 0 0 0]T

alla posizione finale:

XF=[0 0 0 0 0 0]T

coincidente con l’origine del sistema. In tal caso, la posizione “attuale” sarà- in ogni
istante- coincidente con l’errore. Possiamo cioè affermare che valga sempre:

Et=Xt-XF=X(t)

La dinamica del sistema è descritta dal sistema lineare:


X=AX+Bu+w

Dove A ed X sono le matrici già viste nel punto precedente, B è la matrice (6x3) dei
coefficienti del controllo:

B=000000000100010001

mentre u(3x1) e w(6x1) sono, rispettivamente, la matrice dei controlli ed il vettore


dell’eventuale disturbo.

Nella teoria LQR, la matrice u si ricava dalla:

u(t)=-R-1BTKX(t)

va precisato che, in generale, anche le matrici K,R e B sono funzione del tempo ma,
nel nostro caso, assumeremo per queste matrici dei valori costanti. La matrice K dei
guadagni può essere ricavata in MATLAB mediante l’operatore care, in grado di
risolvere le equazioni di Riccati: inserite le matrici A,B,Q,R, vengono fornite le
corrispondenti matrici K e G.

Per le matrici Q(6x6) ed R(3x3) sceglieremo la forma:

Q=111111*10α

R=111*10β

con termini misti nulli.

Nel primo caso, in cui vogliamo minimizzare i costi, scegliamo per gli esponenti i
valori:

α=1 ; β=11

mentre, per il secondo caso, volendo minimizzare l’errore, sceglieremo:

α=2 ; β=9

L’analisi della posizione (cioè dell’errore) e dei controlli per i due casi verrà condotta
parallelamente al fine di evidenziarne le sensibili differenze. Inizialmente
trascureremo la possibile presenza di un disturbo w.

Anche in questo caso l’equazione del moto verrà integrata utilizzando l’operatore
ODE45, per il quale porremo un vettore dei tempi T di 3000” con passo 2”.
Studieremo in seguito cosa accade nei primi 50’ della manovra, un tempo sufficiente
all’esaurimento della stessa. Ricavata la matrice degli stati, possiamo ricavare il
grafico della traiettoria della manovra nei due casi:
Ciò che spicca, oltre all’andamento qualitativo delle curve, è la maggior precisione
raggiunta nel secondo caso. Come evidenziato dai data cursor, nel primo caso, il
punto-obiettivo del rendez-vous (l’origine del riferimento) viene avvicinato con un
errore dell’ordine di grandezza dei decimetri sugli assi x ed y (qui addirittura sopra il
metro!), e di 10-19km sull’asse z. Nel secondo caso l’accuratezza sugli assi x ed y
riesce a raggiungere l’ordine del decimo di millimetro, mentre sull’asse z l’errore è
di 10-23km. La variazione delle matrici Q ed R ha permesso un guadagno in termini
di prestazioni di due ordini di grandezza. Riportiamo in tabella la posizione/errore al
tempo finale (3000 secondi) nei due casi.

x [cm] y [cm] z [cm] x [cm] y [cm] z [cm]

10.61 117.83 ≅0 0.031 0.024 ≅0


Dai grafici bi-dimensionali dell’andamento della posizione sui tre assi, possiamo
anche apprezzare come, nel secondo caso, la manovra avvenga in tempi
estremamente ridotti rispetto al primo.

Nonostante si parta dalla posizione x=0 pari a quella obiettivo, la dinamica della
manovra implica comunque uno spostamento sull’asse x. Nel primo caso, si registra
una deviazione fino a 100 metri (t≅470”), mentre nel secondo il picco registrato è di
17 metri (t≅84”). Risulta evidente anche la tempistica con cui la manovra si completa
(o quasi): circa 2600” a controlli ridotti, appena 900” minimizzando l’errore.
Analoghi risultati si registrano lungo l’asse y, in cui però la posizione-obiettivo (y=0)
non coincide con quella di partenza (y=1km):
lungo questo asse la manovra si completa in un tempo persino minore dell’asse x.
Lungo l’asse z abbiamo un andamento qualitativamente analogo all’asse x. Lo stesso
non si può dire dal punto di vista quantitativo: troviamo difatti scostamenti massimi
estremamente ridotti, dell’ordine di 10-17km per il primo caso e di 10-18km nel
secondo.

Dall’errore passiamo ai controlli applicati nell’esecuzione della manovra. Quello che


ci aspettiamo è che essi siano maggiori nel secondo caso e che abbiano componente
principale nel piano orbitale, laddove si registrano i maggiori scostamenti durante la
manovra. Riportiamo dunque due grafici in cui ritroviamo i valori del controllo- in
km/s2- nei tre assi. Per il primo caso (Q basso, R alto):
Riportiamo in tabella il valore del controllo sugli assi x ed y in alcuni istanti della
manovra. Omettiamo quelli sull’asse z essendo essi costantemente dell’ordine di 10-
21÷10-23km/s2:

Tempi [s]: 0 1000 2500

u(x) [km/s^2] 4.87e-6 1.09e-6 2.82e-8

u(y) [km/s^2] -8.73e-6 1.16e-6 -2.89e-8

Ripetiamo per il secondo caso (Q alto, R basso):


Tempi [s]: 0 120 500

u(x) [km/s^2] 2.73e-5 8.77e-6 -2.58e-7

u(y) [km/s^2] 3.15e-4 6.52e-6 -5.27e-7

I grafici e le tabelle ben evidenziano la differenza negli ordini di grandezza dei


controlli nei due casi, conformemente a qaunto atteso. Ulteriore riscontro alla teoria
può essere offerto dall’esposizione dei grafici dell’errore medio assoluto e della
somma dei controlli in valore assoluto:

Vogliamo ora considerare gli effetti dovuti alla presenza di un disturbo w, espresso,
in forma vettoriale, dalla:

w=[0 0 0 10-7 10-7 10-7]T

Ci limitiamo allo studio del primo caso (α=1,β=11), cioè quello che minimizzi i
controlli. Riportiamo le tabelle che comparino quanto riscontrato in assenza (blu) ed
in presenza (rosso) del disturbo:
Riportiamo quindi la tabella degli errori all’istante finale. A sinistra quelli senza
disturbo, a destra quelli ottenuti in presenza del disturbo.

x [m] y [m] z [m] x [m] y [m] z [m]

0.106 1.178 ≅0 12.968 2.693 9.909

L’introduzione del disturbo genera effetti “devastanti” sulla riuscita della missione,
in modo particolare lungo l’asse x e z, in cui l’errore finale cresce di diversi ordini di
grandezza. Sull’asse y si riscontrano conseguenze più contenute e relativamente
costanti mentre, nell’asse x, l’effetto del disturbo sull’errore si amplifica
notevolmente al passare del tempo: le due curve divergono sempre più.

Per quel che riguarda i controlli, poco cambia sugli assi x ed y, dove gli stessi restano
dell’ordine di 10-6. Sull’asse z, invece, si passa dai controlli pressoché nulli del caso
indisturbato, a controlli ben maggiori, dell’ordine di 10-8, come ben palesato dal
grafico comparativo:
Da cui si evince altresì che, al tempo finale, i controlli non si annullano ma sembrano
divergere.

Riportiamo quindi i grafici comparativi dell’errore medio assoluto e dei controlli


assoluti:

ancora una volta si nota come (ed in modo particolare a partire da t=1635”) gli
effetti del disturbo facciano terminare le due curve ben lontano dallo zero voluto.

Passiamo infine all’ultima parte dell’esercitazione in cui analizzeremo un


trasferimento del Deputy dall’origine del sistema di riferimento ad una traiettoria
PCO (Projected Circular Orbit). In particolare si desidera ottenere un’orbita che
abbia proiezione circolare sull’asse XZ.

Volgiamo quindi passare da uno stato iniziale:

X0=[0 0 0 0 0 0]T

ad una posizione finale del tipo:

XF=[1 0 0 0 -2ω 1ω]T

Essondo questa missione di “inseguimento” rispetto ad una determinata traiettoria,


non potremo effettuare una manovra a controllo ottimo. Sempre avvalendoci della
teoria LQR, utilizzeremo dunque una legge ad asservimento ottimo. Ancora una
volta, la dinamica sarà descritta dal sistema lineare, in forma matriciale:

X=AX+Bu

in cui trascuriamo la possibile presenza di un rumore w. In tale modello di controllo,


il vettore u viene definito dalla:

u(t)=-R-1BT[G-KXt]

avendo scelto valori costanti per R e B, e risultando costante anche la matrice K


ricavata ancora una volta con il comando care di MATLAB. Il vettore G è invece
fornito dalla:

G=[KBR-1BT-AT]-1QXF

Per le matrici Q ed R, scritte nella forma enunciata nella precedente missione,


abbiamo scelto i valori:

α=1 ; β=9

ci aspetteremo quindi una precisione abbastanza elevata (R basso), a discapito del


costo relativo ai controlli.

Questa volta, evidentemente, l’errore non potrà essere confuso con lo stato:

Et=Xt-XF(t)

dove la matrice di stato viene ricavata con il solito integratore numerico ODE45.

Studieremo la manovra nei suoi primi 1500”, con passo pari a 5”. Ne risulterà un
vettore dei tempi composto da 301 elementi.

Riportiamo il grafico della traiettoria tridimensionale della manovra e la tabella con


la posizione- nei tre assi- all’istante finale:
t [s] x [m] y [m] z [m]

1500 998.79 -0.0321 1.32e-14

Risulta evidente come l’orbita obiettivo venga avvicinata di circa un metro sull’asse
x. Sugli altri assi vengono raggiunte precisioni di ordine decisamente maggiore.

Vediamo nel dettaglio cosa accade sull’asse x previo i grafici della posizione e
dell’errore in funzione del tempo.

Le due curve sono qualitativamente identiche: l’errore è “abbassato” di una unità


rispetto alla posizione. Notiamo come la manovra porti dapprima a superare l’orbita
obiettivo di circa 34 metri in un tempo pari a 455”, per poi riportare il Deputy sulla
traiettoria voluta: la manovra può dirsi completata dopo un tempo pari a circa 1140”.
L’errore finale, come già visto, è pari a 1.21 metri.

Negli altri due assi, l’errore coincide con la posizione. Ci limitiamo quindi a riportare
i grafici relativi alle posizioni y(t) e z(t):

In entrambi gli assi la posizione di partenza coincide con quella di arrivo; in entrambi
i casi- però- la manovra implica un’oscillazione attorno a tale posizione. Nell’asse y
riscontriamo due picchi, uno posto a circa 30 metri nella parte positiva del piano (ad
un tempo pari a 140”), ed uno posto a -19.6 metri (t=440”). Anche su questo asse la
manovra può dirsi completata dopo circa 1200” quando si registra un errore
dell’ordine dei cm. L’errore finale è- appunto- di 3.2 cm. Sull’asse z si riscontrano,
ancora una volta, valori dell’errore impercettibili; ininfluenti se paragonati all’ordine
di grandezza negli altri assi.

Vediamo ora cosa accade per i controlli, limitandoci ai soli assi x ed y (per l’asse z si
registrano grandezze dell’ordine di 10-21!):

Riportiamo in tabella i valori- in valore assoluto- evidenziati dai Datatip:

Tempi [s]: 0 900 1500


u(x) [km/s^2] 9.88e-5 3.37e-6 3.48e-6

u(y) [km/s^2] 1.53e-5 1.17e-7 1.22e-9

Come prevedibile, i controlli sull’asse x si mantengono costantemente più elevati


rispetto a quelli sull’asse y, risultando maggiori di circa un ordine di grandezza per
la quasi totalità della manovra.

Vogliamo ora ripercorrere la missione decuplicando il peso della matrice Q dei


controlli. Vediamo cosa accade, questa volta, sull’asse x in termini di errore e di
controlli:

L’errore finale raggiunge il decimetro (12.15 cm): un valore pari ad un decimo del
caso precedente. La maggior precisione si ha- ovviamente- a discapito dei costi di
manovra: i controlli risultano dell’ordine di 10-4 km/s2 nella parte più significativa
della manovra, per poi scemare fino a grandezze di 10-6.

Tralasciando i grafici dell’errore sugli altri due assi (su y si arriva questa volta ad
una precisione del centesimo di millimetro), è utile riportare parallelamente i grafici
dell’errore medio totale- in valore assoluto- registrato nei due casi:

Oltre alla maggior accuratezza raggiunta all’istante finale (si guadagna un ordine di
grandezza), risulta evidente anche la drastica riduzione dei tempi d’esecuzione della
manovra che, questa volta, può dirsi pressoché completa dopo appena 400”.
Ripetiamo per la somma dei controlli in valore assoluto:

Conformemente alle previsioni, i controlli risultano minimizzati nel primo caso (Q


basso). All’istante iniziale si ha così, nel secondo caso (Q alto), un valore della somma
dei controlli triplo. Gli stessi raggiungono però valori dell’ordine di 10-6 in un tempo
estremamente più rapido.