Politecnico di Torino III Facoltà di Ingegneria Laurea specialistica in Ingegneria Elettronica A.A. 2009-2010 Candidato: Manuel Bonjean matr: 151131 Relatore: prof. Claudio Passerone Progetto AraMiS: Progetto del software indirizzato alla determinazione ed al controllo dell’assetto del satellite
Introduzione Progetto del sistema software ACS (Attitude Control System), indirizzato alla determinazione ed al controllo dell’orientamento (assetto) del satellite universitario AraMiS. 2 Problemi principali: Determinazione dell’assetto del satellite: misurare (mediante opportuni sensori) la disposizione di una terna d’assi cartesiani ortogonali e solidali con la struttura del satellite (opportunamente definita in fase di progetto), rispetto ad un’altra terna cartesiana presa come riferimento. Controllo dell’assetto del satellite: agire (mediante opportuni attuatori) sull’orientamento attuale del satellite e variarlo a seconda delle necessità. Soluzione adottata: Sviluppo di appositi algoritmi di calcolo, scritti in C e C++ con l’ottica di creare un sistema il più possibile indipendente dall’architettura modulare del satellite.
AraMiS (Architettura Modulare per Satelliti) Realizzazione di satelliti aventi una vera e propria struttura modulare basata sull’utilizzo di pochi moduli flessibili, le tiles, riutilizzabili in diverse missioni. Forte decremento del costo del progetto. Componendo insieme diverse tiles Si ottengono diverse configurazioni di satelliti
Definizione dei sistemi di riferimento 1/2 Sistema di riferimento del satellite UVW: origine nel centro geometrico del satellite, definito in modo da formare una terna ortogonale destrorsa solidale e statica con la struttura del satellite. Sistema di riferimento delle tiles XYZ: origine nel centro geometrico della tile, definito in modo da formare una terna ortogonale destrorsa solidale e statica con la tile e che l’asse Z risulti ortogonale al piano della tile stessa. Configurazioni previste del satellite AraMiS: U W X0 Y0 Z0 X1 Y1 Z1 X2 Y2 Z2 1 2 U W V 1 3 4 2 Z3 X3 Y3 X4 Y4 Z4 X0 Y0 Z0 Z2 X2 Y2 Z1 X1 Y1 W U X0 Y0 Z0 X1 Y1 Z1 X2 Y2 Z2 X3 Y3 Z3 1 2 3 V V Cubica Esagonale Ottagonale
Definizione dei sistemi di riferimento 2/2 Sistema di riferimento geocentrico inerziale IJK: origine nel centro della Terra, piano fondamentale coincidente con il piano equatoriale, asse I diretto verso il punto vernale, asse K diretto secondo l’asse di rotazione della Terra, verso il polo Nord, asse J definito di conseguenza per completare la terna in modo che una rotazione antioraria di 90° attorno a K porti l’asse I a coincidere con J. U V W J I K Costellazione dell’Ariete (punto vernale) Terra Piano equatoriale L’orientamento del satellite è specificato rispetto a questo sistema di riferimento mediante: Matrice dei coseni direttori (software di determinazione dell’assetto). Quaternioni unitari (software di controllo dell’assetto). Questi parametri permettono di eliminare eventuali singolarità nella rappresentazione dell’assetto. Angoli di Eulero (visualizzazione dei risultati ottenuti).
Determinazione dell’assetto del satellite Si Basa su: Conoscenza della posizione del satellite nell’orbita, rispetto al sistema di riferimento inerziale IJK ed in funzione della data. Conoscenza della posizione del Sole (in funzione della data) e del vettore campo magnetico terrestre (in funzione della data e della località attorno alla Terra), rispetto al sistema di riferimento inerziale IJK (vettori di riferimento). Lettura dei sensori di Sole e dei sensori di campo magnetico o magnetometri (vettori di misura), disposti diversamente sulla struttura del satellite. Sensori d’assetto: Sensore di Sole: fornisce la posizione del Sole rispetto all’asse Z della tile. 1 tile illuminata = 1 vettore di misura. Magnetometro: fornisce le componenti in X e Y del vettore campo magnetico. Lettura di tutti i magnetometri = 1 vettore di misura più accurato.
Studio dell’orbita del satellite Due algoritmi di calcolo sviluppati: Algoritmo esclusivamente basato sulla teoria di Keplero ( problema dei due corpi, no perturbazioni). Algoritmo SGP4 (Simplified General Perturbation), software rilasciato da NASA/NORAD (contemplate le perturbazioni dell’orbita). Entrambi ricevono in ingresso una TLE (insieme di elementi orbitali organizzati in 2 stringhe, formato specificato dal NORAD) e calcolano la posizione del satellite in funzione di un tempo (lasso di tempo, in minuti, trascorso dalla data di creazione della TLE) rispetto al sistema di riferimento geocentrico inerziale IJK. Il primo è più leggero dal punto di vista computazionale, ma accurato soltanto per date molto vicine alla data di creazione della TLE. Il secondo è più pesante dal punto di computazionale, ma decisamente più accurato.
Software SGP4 (Simplified General Perturbation) Opportunamente analizzato ed adattato (eliminate routine di calcolo delle orbite alte e trasformato in float tutte le variabili originarie in double), in vista della sua integrazione nel sistema ACS. Accuratezza approssimativa di 1 Km, nel periodo di validità della TLE. Diagramma di flusso: Confronto con STK: TLE, Δt Lettura TLE Inizializzazione variabili SGP4 Algoritmo SGP4
Modelli Posizione del Sole: apposito algoritmo di calcolo basato sulla conoscenza degli elementi orbitali della Terra. Il calcolo è eseguito in funzione di una data di interesse. L’algoritmo è attendibile e versatile: In figura sono riportate le orbite dei pianeti del sistema solare ottenute mediante l’algoritmo sviluppato. N.B. La parallasse dettata dalla distanza compresa tra il centro della Terra ed il centro del satellite è trascurata (inferiore a 10’’ d’arco). Vettore campo magnetico terrestre: modelli IGRF e WMM, aggiornati con cadenza quinquennale. Calcolano il vettore campo magnetico terrestre in funzione di una data e di una località attorno alla Terra.
Matrice coseni direttori Algoritmo di determinazione dell’assetto Algoritmo di utilizzo generale: basato sulla conoscenza di un numero variabile di vettori (il modulo dei vettori è normalizzato ad 1). Orientamento tiles Requisiti: conoscenza di almeno due vettori di riferimento non paralleli. misura non paralleli. conoscenza dell’orientamento delle tiles rispetto a UVW. Vettori misura Vettori riferimento Matrice F: Matrice G: N righe N righe le sue righe rappresentano le componenti dei vettori misurati rispetto al sistema UVW. le sue righe rappresentano le componenti dei vettori noti rispetto al sistema IJK. Calcolo dell’assetto del satellite. 3 situazioni: N ≥ 3: calcolo assetto. N = 2: ricavo 3° riga di F e G con prodotto vettoriale, calcolo assetto. N < 2: Assetto indeterminato. Se N =3: G+ = G-1 A = [G+ ∙ F]-1 U V W I J K Matrice coseni direttori Assetto
Esempio in 2 dimensioni F = G = F = G = (G+ ∙ F)-1 = (G+ ∙ F)-1 = J U I J U Letterale Numerico vi ui uj vj u -0.866 0.5 0.866 u y1 y2 y1u y1v y2i y2j 0.71 -0.71 y1 y2 30° 45° 0.866 -0.5 V V y2v y2u v y1i y1j 0.26 0.96 v 0.866 0.5 60° 1 1 y1u y1v y1i y1j 0.866 -0.5 0.866 0.5 F = G = F = G = y2u y2v y2i y2j 0.26 0.96 -0.71 0.71 (G+ ∙ F)-1 = ui uj vi vj (G+ ∙ F)-1 = 0.5 0.866 -0.866 0.5
Controllo dell’assetto del satellite Si Basa: Sulla legge di conservazione del momento angolare. Sull’attuazione delle ruote di reazione (generano momento angolare) disposte diversamente sulla struttura del satellite. Comando previsto in ricezione: Una matrice di rotazione: specifica l’assetto desiderato della terna UVW del satellite, rispetto al sistema di riferimento inerziale IJK (matrice Ad). Un tempo: specifica la tempistica in cui terminare una manovra. Tecnica di controllo: controllo ad anello aperto finalizzato allo spostamento punto-punto del satellite. L’approccio utilizzato consiste nel ricavare la sequenza di 3 rotazioni, da compiere attorno agli assi principali d’inerzia (in virtù delle loro caratteristiche) del satellite, indicati con i simboli ABC, al fine di allineare la terna UVW con le direzioni desiderate.
Idea di base Satellite modellato come un corpo rigido perfetto. Equazione fondamentale: L = I ∙ ω, L momento angolare (vettore), I matrice d’inerzia e ω velocità angolare (vettore). La matrice I, nel caso generale è piena: il vettore momento angolare e l’asse di rotazione non sono paralleli; moto complicato. Problema agli autovalori associato ad I: I = E ∙ I’ ∙ ET, con: I’: matrice diagonale contenente gli autovalori di I, in questo caso il vettore momento angolare e l’asse di rotazione sono paralleli; moto semplice. Gli assi su cui tale condizione è verificata sono detti assi principali d’inerzia, indicati con ABC. E: matrice contenente gli autovettori di I, rappresentano i coseni direttori della terna ABC rispetto alla terna UVW. Gli assi principali d’inerzia rappresentano delle direzioni privilegiate su cui costruire il controllo dell’assetto del satellite.
Matrice d’inerzia, autovettori e autovalori Algoritmo di controllo dell’assetto del satellite 1/2 Matrice d’inerzia, autovettori e autovalori Scomposizione della matrice di manovra: scompone la matrice Mabc nella sequenza di tre rotazioni successive, eseguite attorno agli assi ABC, mediante la fattorizzazione del quaternione unitario, qabc, associato a Mabc: qabc = q’’’ ∙ q’’ ∙ q’ = (q0’’’ + ĉ ∙ q3’’’ ) ∙ (q0’’ + ∙ q2’’) ∙ (q0’ + â ∙ q1’) I valori di q0’’’ , q0’’ e q0’ rappresentano le 3 rotazioni successive da compiere attorno all’asse C, all’asse B ed all’asse A, rispettivamente (rotazione attorno ad un asse principale alla volta nella sequenza 3-2-1). Assetto desiderato Tempo Calcolo assetto attuale matrice A Calcolo dell’assetto attuale del satellite: determinazione dell’assetto attuale del satellite, matrice A. Calcolo della matrice di manovra: si ricava la matrice di rotazione equivalente alla manovra da compiere, rispetto agli assi ABC: Mabc = E ∙ Auvw ∙ ET, con: E: matrice dei coseni direttori degli assi ABC rispetto a UVW, Auvw = Ad ∙ AT, matrice rappresentante l’assetto desiderato del satellite rispetto agli assi UVW. Calcolo matrice di manovra Mabc Calcolo del comando da fornire alle ruote di reazione: note le tre rotazioni si ricavano i 3 momenti angolari relativi agli assi ABC (non provvisti di ruote in generale) e si ricavano i 3 momenti angolari equivalenti rispetto agli assi UVW (provvisti di ruote in generale). Lo stesso effetto può essere ottenuto fissando un tempo di manovra o un valore di momento angolare. Scomposizione matrice Mabc Calcolo dei comandi Comandi
Esempio: manovra del satellite
Simulazione dell’algoritmo Sviluppo di un apposito modello Simulink: I risultati ottenuti dimostrano l’attendibilità dell’algoritmo. I risultati ottenuti sono stati visualizzati medianti gli output del modello (angoli di Eulero e velocità angolari):
La descrizione del sistema ACS in UML 1/2 Il software sviluppato è stato descritto in UML (Unified Modeling Language) mediante 2 diagrammi appositi: Diagramma dei casi d’uso del sistema: Descrizione delle funzionalità offerte dal sistema, come percepite dal mondo esterno. Command Interpreter: attore del diagramma riportato, software dell’OBC (On Board Computer) destinato a decodificare i comandi ricevuti.
La descrizione del sistema ACS in UML 2/2 Diagramma delle classi del sistema: Il codice del software sviluppato è stato opportunamente suddiviso in classi di dati. Descrizione della struttura del software: ogni classe (in figura è riportato soltanto il nome delle singole classi) è composta da una serie di parametri e da una serie di funzioni applicate agli stessi parametri. Test Sistema ACS ACS Orbits Satellite Magnet elements_s Tile Position elsetrec
Conclusioni L’intero sistema ACS è stato collaudato sviluppando un apposito software di test (classe Test). I risultati ottenuti confermano l’attendibilità del sistema. Il sistema non è stato implementato sul processore di AraMiS, dal momento che non risulta ancora disponibile. In futuro sarà necessario implementare il sistema ACS sull’opportuno processore di bordo del satellite ed effettuare delle prove di corretta integrazione dell’hardware con il software sviluppato. Il software indirizzato alla determinazione dell’assetto del satellite è integrabile con eventuali sensori d’assetto aggiunti in futuro. Il controllo punto-punto del satellite può essere esteso all’inseguimento di una traiettoria sfruttando il codice già scritto. Il lavoro di tesi ha permesso al candidato di apprendere molte nozioni nuove, soprattutto per quanto concerne gli aspetti legati all’ambito aerospaziale ed allo sviluppo di un’applicazione software significativa e molto interessante.
Parametri orbitali classici Principali parametri utilizzati nella descrizione dell’orbita del satellite: Linea dei nodi Punto vernale i inclinazione Nodo ascendente discendente Satellite Semiasse maggiore Piano fondamentale Piano orbitale ω argomento del perigeo v anomalia vera Ω ascensione retta del nodo ascendente
Calcolo anomalia media Posizione nel piano orbitale Algoritmo basato sulla teoria di Keplero v E Terra Satellite Circonferenza ausiliaria M = M0 + n ∙ Δt, M0 e n codificati nella TLE. M: anomalia media, moto equivalente angolare, uniforme ed immaginario, del satellite sulla circonferenza ausiliaria. TLE, Δt Calcolo anomalia media Equazione di Keplero metodo numerico (basato sulle approssimazioni successive) indirizzato alla soluzione dell’equazione di Keplero: M = E – e ∙ sin(E), con: e: eccentricità dell’orbita E: anomalia eccentrica M: anomalia media, Posizione nel piano orbitale Calcolo della posizione del satellite nel piano orbitale. Calcolo della posizione del satellite in IJK. Posizione in IJK rijk
Calcolo del comando Lo stesso risultato può essere ottenuto fissando un tempo o un valore di momento angolare: L = I ∙ ω Sfruttato a vantaggio questo grado di libertà. T L Lmax Lmin Tmax Tmin
Controllo dell’assetto del satellite 2 situazioni: Satellite cubico o ottagonale: ogni asse UVW è coperto da almeno una ruota di reazione. Satellite esagonale: l’asse U non è coperto da alcuna ruota di reazione: U W 30° Z2 Z1 Tile 1 Tile 2 Lu L2 L1 L1 ∙ sin(30°) L2 ∙ sin(30°) L’algoritmo non si complica eccessivamente, è sufficiente scomporre il momento angolare necessario come sovrapposizione del momento angolare generato dalle tiles adiacenti (aventi asse Z sullo stesso piano dell’asse U).