Uso di MATLAB per lo studio della dinamica d’assetto
spontanea
di satelliti rigidi
F. Bernelli Zazzera, P. Lazzarini, A. Lodetti, V. Lo Rizzo
Dipartimento di Ingegneria Aerospaziale -
Politecnico di Milano
Sommario
Viene presentata una applicazione MATLAB per lo studio della dinamica rotazionale spontanea di satelliti rigidi.
Il moto angolare viene caratterizzato dapprima in termini di velocità angolare e posizione della terna di assi
principali di inerzia rispetto ad una terna inerziale. In seguito vengono presentati i luoghi geometrici caratteristici
del moto, ovvero gli ellissoidi dell’energia cinetica e del momento della quantità di moto, il piano invariante,
le poloidi e le erpoloidi.
Introduzione
Lo studio del moto angolare di satelliti è di fondamentale importanza per la verifica del soddisfacimento dei requisiti di missione, in quanto qualunque satellite deve poter ricevere e trasmettere segnali nello spazio in alcune direzioni predefinite. Occorrerà quindi che il satellite sia in grado di mantenere il puntamento desiderato e di passare da un puntamento ad un altro in modo soddisfacente. La caratterizzazione della posizione angolare si può ricondurre alla determinazione della posizione di una terna di assi solidali col satellite stesso (xyz) rispetto ad una terna inerziale (123) (Figura 1). Dal punto di vista analitico la rappresentazione si può basare su diverse parametrizzazioni; le più note sono quelle dei coseni direttori, degli angoli di Eulero, dell’asse e dell’angolo di Eulero e dei quaternioni. Ciascuna di queste parametrizzazioni può essere utilizzata, unitamente alle equazioni della dinamica rotazionale del satellite, per definire l’evoluzione della posizione angolare al variare del tempo e delle coppie applicate al satellite stesso. Purtroppo non è possibile risolvere analiticamente detto sistema di equazioni nel caso più generale, per il quale occorre affidarsi a metodi numerici.
Nell’ipotesi, restrittiva ma comunque significativa, di satellite rigido e non soggetto ad azioni esterne, è possibile determinare analiticamente alcune proprietà caratteristiche del moto angolare. In particolare sono immediatamente caratterizzabili la stabilità del moto angolare e la traiettoria nello spazio del vettore velocità angolare. Nell’ipotesi ancora più restrittiva di satellite a simmetria assiale, le equazioni della dinamica sono integrabili analiticamente ed i vettori velocità angolare ed asse di simmetria descrivono la ben nota rappresentazione dei due coni che rotolano senza strisciare l’uno attorno all’altro. Lo studio del moto angolare effettuato con le ipotesi semplificative sopra citate assume un particolare significato nelle fasi preliminari del progetto di satelliti, in quanto consente di evidenziare eventuali necessità di modifiche alle condizioni operative e di dimensionare in via preliminare i sistemi di stabilizzazione e controllo d’assetto. I luoghi geometrici descriventi la traiettoria nello spazio della velocità angolare sono l’oggetto del presente studio. La loro rappresentazione grafica richiede la definizione di alcune grandezze caratteristiche della dinamica rotazionale di satelliti rigidi, nonché l’introduzione delle equazioni fondamentali della dinamica. Una trattazione analitica e completa del moto spontaneo è riportata nella bibliografia, e verrà in questa sede richiamata solo brevemente.
Grandezze caratteristiche ed equazioni fondamentali
Con riferimento alla Figura 1, risulta molto conveniente considerare la terna di assi principali di inerzia xyz, con origine nel baricentro del satellite, come terna di assi “corpo”, mentre la terna 123 rappresenta il riferimento inerziale. Con queste ipotesi, la matrice di inerzia risulta essere diagonale
![[FORMULA]](berne_02.gif)
Analogamente, chiamando i, j, k i tre versori degli assi principali di inerzia, vengono definiti i vettori velocità angolare w ed il vettore momento della quantità di moto h, espressi in assi corpo, e l’energia cinetica di rotazione T
![[FORMULA]](berne_03.gif)
La dinamica del satellite è retta dall’equazione fondamentale
![[FORMULA]](berne_04.gif)
in cui M rappresenta il vettore delle coppie applicate al satellite. Ricordando che la terna di assi corpo non è inerziale, l’Equazione (5) può essere riscritta riferendosi agli assi principali di inerzia, dando origine alle equazioni di Eulero
![[FORMULA]](berne_05.gif)
La posizione degli assi principali di inerzia rispetto al sistema di riferimento inerziale viene individuata attraverso una parametrizzazione di angoli di Eulero (j, J, y) del tipo 3-1-3, raffigurata in Figura 2. La matrice di rotazione A legata a tale parametrizzazione è data da
![[FORMULA]](berne_06.gif)
mentre il legame cinematico tra le velocità angolari espresse in assi corpo e le derivate temporali degli angoli di Eulero è
![[FORMULA]](berne_07.gif)
Lo studio del moto spontaneo viene effettuato a partire dalle Equazioni (2)-(8), imponendo M=0. In tale ipotesi appare evidente che sia l’energia cinetica sia il momento della quantità di moto risultano costanti. Indicando con l’indice o i valori iniziali delle grandezze in gioco, le equazioni di definizione del momento della quantità di moto e dell’energia cinetica divengono
![[FORMULA]](berne_09.gif)
Ellissoidi dell’energia cinetica e del momento della quantità di moto
L’energia cinetica definita dall’Equazione (10) può essere riscritta nel modo seguente
![[FORMULA]](berne_10.gif)
che rappresenta un ellissoide di semiassi
detto ellissoide dell’energia cinetica. Ad ogni punto dell’ellissoide è associata la velocità angolare di rotazione attorno all’asse congiungente il punto dato con il centro dell’ellissoide, compatibile con l’energia cinetica To .
Il momento della quantità di moto definito dall’Equazione (9) può essere analogamente riscritto in forma di un ellissoide di semiassi ho/Ix, ho/Iy, ho/Iz
![[FORMULA]](berne_12.gif)
Ad ogni punto dell’ellissoide è associata la velocità angolare di rotazione attorno all’asse congiungente il punto dato con il centro dell’ellissoide, compatibile con il momento della quantità di moto ho. Va osservato che i due ellissoidi non rappresentano una proprietà del satellite, ma dipendono dalle sue condizioni iniziali di moto. Quindi ad un medesimo satellite competono una infinità di coppie di ellissoidi, una per ogni possibile condizione iniziale.
Caratterizzazione del moto spontaneo
Nel moto spontaneo, le coppie esterne sono nulle (M=0). In virtù dell’Equazione (5) e del legame tra lavoro delle coppie esterne e variazione di energia cinetica, si ha pertanto
![[FORMULA]](berne_13.gif)
Si noti che la costante d dell’Equazione (15) rappresenta la proiezione del vettore w sul vettore h, come raffigurato in Figura 3. Quindi il piano S perpendicolare al vettore h e passante per il punto N è fisso, ed è chiamato piano invariante. Il vettore w descrive una linea che giace sempre nel piano S ed inoltre, in virtù del legame tra il vettore velocità angolare ed i due ellissoidi citati prima, w deve sempre essere diretto come la congiungente il centro degli ellissoidi con la linea intersezione dei due ellissoidi stessi. Poiché, per la conservazione di T e di h, vale la relazione
![[FORMULA]](berne_15.gif)
il vettore dw deve sempre essere perpendicolare ad h e quindi deve giacere sul piano S. Ma dw deve essere anche tangente all’ellissoide dell’energia cinetica. Il moto spontaneo avviene quindi come se l’ellissoide dell’energia cinetica rotolasse senza strisciare sul piano invariante. La traccia lasciata da w sul piano S è detta erpoloide, mentre quella lasciata sull’ellissoide è detta poloide. Le erpoloidi possono essere linee aperte, perché l’ellissoide può non essere in fase circonferenziale con le posizioni sul piano S. Le poloidi invece devono essere curve chiuse, e sono definibili per via analitica. Infatti esse sono le intersezioni dell’ellissoide del momento della quantità di moto con quello dell’energia cinetica, definite dal sistema
![[FORMULA]](berne_16.gif)
Una caratterizzazione delle poloidi può essere fatta proiettandole sui 3 piani coordinati. Si ottiene
![[FORMULA]](berne_17.gif)
Ipotizzando che i momenti principali di inerzia siano tali per cui Ix>Iy>Iz, il moto rotatorio è possibile solo se Ix>h2/2T>Iz, il che significa che la proiezione della poloide sui piani xy e yz è una ellisse, mentre la proiezione sul piano xz è una iperbole. Questo indica che una rotazione attorno agli assi di massima o minima inerzia è stabile (ellisse) nel senso che si mantiene attorno all’asse iniziale di rotazione, mentre una rotazione attorno all’asse di inerzia intermedia risulta instabile, ossia il moto non si mantiene attorno all’asse di rotazione iniziale.
Descrizione dell’applicazione
L’applicazione è costituita da un programma principale (PRINCIP.M), da otto sottoprogrammi (CARICA.M, CARICA1.M, CATTURA.M, EPOLOIDE.M, ERP.M, POLOIDUS.M, VISGLOB.M, REGISTRA.M), da tre funzioni (VISRIS.M, SHOWDATA.M, ELLISSOI.M) e da un modello SIMULINK (EQEUL.M). Gli ingressi necessari all’applicazione sono costituiti dalle caratteristiche inerziali del corpo e dal valore iniziale del vettore velocità angolare; per la procedura di inserimento dei dati si rimanda al paragrafo 9. Nel programma principale vengono integrate le equazioni del moto e con i risultati ottenuti si generano i luoghi caratteristici relativi alle condizioni in esame. Questi ultimi sono poi visualizzati sotto diversi punti di vista in modo da poterne analizzare alcuni aspetti significativi. Viene infine creata un’animazione del movimento degli ellissoidi che rende immediata ed intuitiva la visione dell’assetto del corpo rigido al variare del tempo. I sottoprogrammi, gestiti dal programma principale, sono dedicati alla realizzazione delle immagini e delle animazioni oltre che alla eventuale archiviazione delle stesse.
Definizione delle condizioni iniziali
Per poter effettuare l’integrazione delle equazioni del moto sono necessarie non solo le condizioni iniziali del vettore velocità angolare, ma anche quelle relative agli angoli di Eulero che costituiscono la parametrizzazione del moto (secondo la sequenza di rotazione 3-1-3). Questi valori iniziali sono calcolabili se si conoscono le componenti di un qualsiasi vettore, sia in assi inerziali (123) che in assi principali di inerzia (xyz), nell’istante iniziale. Se si considera il vettore momento della quantità di moto coincidente con l’asse 3 del sistema di riferimento inerziale e l’asse 1 sovrapposto alla linea dei nodi, il problema viene oltremodo semplificato; infatti vale la seguente relazione:
![[FORMULA]](berne_18.gif)
dove il vettore al primo membro e` calcolato a partire dalle condizioni iniziali fornite dall`utente mentre il vettore al secondo membro diventa semplicemente:
![[FORMULA]](berne_19.gif)
e pertanto è immediato dimostrare che
![[FORMULA]](berne_20.gif)
Si sottolinea che la particolare scelta del sistema di riferimento inerziale non pregiudica affatto la generalità dei risultati ottenuti ed al tempo stesso permette di verificare la correttezza dei luoghi caratteristici per alcune condizioni particolari.
Integrazione delle equazioni e campionamento
Note le condizioni iniziali è possibile integrare numericamente sia il sistema delle equazioni di Eulero (6) che quello relativo agli angoli di Eulero (8), descritti simbolicamente in ambiente SIMULINK. Per effettuarne l’integrazione viene utilizzata la funzione Matlab RK45 che prende come parametri di chiamata il sistema EQEUL.M, il tempo totale di simulazione ed il passo di integrazione. Sia la durata della simulazione che il passo d’integrazione sono definite dall’utente. Per una migliore interpretazione grafica del moto, il passo di integrazione è mantenuto costante durante la simulazione. Le Figure 4, 5, 6 riportano gli schemi SIMULINK utilizzati.
Tutti i risultati ottenuti al termine della simulazione (velocità angolare ed angoli di Eulero in funzione del tempo) vengono memorizzati in opportuni vettori. A questo punto l’utente può decidere di utilizzare tutti i dati a disposizione per le successive elaborazioni grafiche oppure di campionarne solo un certo numero in modo da ottimizzare i tempi di calcolo.
Visualizzazione dei risultati
I luoghi caratteristici che possono essere rappresentati, sulla base dei dati scelti nel campionamento, sono i seguenti:
- Posizione degli ellissoidi (energia cinetica e momento della quantità di moto) al variare del tempo
- Piano invariante
- Vettore velocità angolare e vettore momento della quantità di moto al variare del tempo
- Terna di assi corpo (xyz) al variare del tempo
- Poloide
- Erpoloide
Per ottenere la posizione degli ellissoidi e dei vettori in un determinato istante rispetto al sistema di riferimento inerziale, vengono utilizzate delle matrici di rotazione calcolate in base agli angoli di Eulero relativi a quell’istante. Il piano invariante viene visualizzato insieme agli ellissoidi; esso viene tracciato ad una quota pari alla componente in direzione 3 del vettore velocità angolare e parallelamente al piano 12. Per ragioni grafiche, il piano invariante viene rappresentato sotto gli ellissoidi anziché sopra.
La poloide si ottiene visualizzando i punti individuati, al variare del tempo, dal vettore velocità angolare nel sistema principale d’inerzia. La curva ottenuta viene proiettata sui piani ortogonali xy,xz e yz in modo da poter verificare gli aspetti relativi alla stabilità del moto. L’erpoloide si ottiene invece visualizzando i punti individuati, al variare del tempo, dal vettore velocità angolare nel sistema di riferimento inerziale. Tali punti appartengono al piano invariante. L’animazione relativa al moto degli ellissoidi viene costruita “catturando” le immagini prodotte e mostrandole in sequenza; le animazioni possono essere salvate e riprodotte in successive sessioni di lavoro.
Utilizzo del programma
Per eseguire il programma è necessario che tutti i files che compongono il lavoro siano presenti nella directory corrente di MATLAB; in aggiunta a quelli elencati al paragrafo 5, dovranno essere presenti i files PREDEF.MAT, ULTIMI.MAT, che permettono l’archiviazione ed il recupero dei dati predefiniti e dei dati utilizzati nell’ultima sessione di lavoro. Per avviare il programma digitare PRINCIP al prompt dei comandi Matlab e premere INVIO; comparirà un menu di scelta che richiede all’utente di specificare, mediante l’utilizzo del mouse, il tipo di scheda video di cui è dotato il calcolatore. In particolare si richiede se è prevista la modalità 256 colori. Premendo il tasto ‘NO’ verranno saltate quelle istruzioni che, in modalità 16 colori, causerebbero un errore (GETFRAME).
- Il menu principale
Una volta indicata la modalità grafica utilizzata, compare il menu principale; esso permette di selezionare i dati da utilizzare per effettuare la simulazione, di visualizzare un’animazione o un’immagine già costruita e di uscire dal programma. Vediamo nel dettaglio le varie opzioni:
- CARICAMENTO DATI PREDEFINITI:
vengono caricati i dati contenuti nel file PREDEF.MAT; tali dati possono anche essere visualizzati. In un qualsiasi momento è possibile uscire dal programma e salvare gli ultimi dati utilizzati come dati predefiniti.
- RIUTILIZZO DATI SCELTI IN PRECEDENZA:
scegliendo questa opzione verranno utilizzati, per le successive fasi di rappresentazione, gli stessi dati utilizzati nella precedente sessione.
- INSERIMENTO NUOVI DATI:
i dati da utilizzare vengono immessi dall’utente. Si richiedono i valori dei momenti principali d’inerzia, le componenti del vettore velocità angolare iniziale nel sistema principale d’inerzia e la durata della simulazione. Sono previsti controlli circa la compatibilità dei valori dei momenti d’inerzia che vengono inseriti. E’ opportuno che i dati inseriti siano congruenti dal punto di vista delle unità di misura: diversamente i risultati forniti avranno un senso puramente qualitativo.
- CARICAMENTO ANIMAZIONE ESISTENTE:
questa opzione permette di visualizzare un’animazione precedentemente costruita; per procedere al caricamento della stessa viene aperta una finestra di dialogo che permette di selezionare il file di animazione tra quelli del tipo “anim*.mat”. Una volta visualizzati i dati caricati, viene attivata l’animazione. Per la generazione di animazioni si faccia riferimento al paragrafo 9.3.
- CARICAMENTO IMMAGINE PRECOSTRUITA:
In modo analogo al punto precedente, si procede alla visualizzazione di una singola immagine registrata in precedenza. I files contenenti le immagini vengono registrati nella forma “imma*.mat” (per la generazione di immagini si faccia riferimento al paragrafo 9.3).
- EXIT (Ultimi dati inseriti ==> Dati predefiniti):
selezionando questa opzione si abbandona il programma salvando i dati contingenti come dati predefiniti.
- EXIT to MATLAB Command Window:
selezionando questa opzione si abbandona il programma.
- Scelta del passo di integrazione e procedura di campionamento
Ogni qualvolta si scelga una delle opzioni a), b), c) nel menu principale, viene riportata la durata totale prevista per la simulazione (TIMESIM) e viene richiesto all’utente il numero di intervalli (N) in cui suddividere il periodo di integrazione [0,TIMESIM], quindi p=TIMESIM/N rappresenta il passo di integrazione utilizzato. A questo punto viene eseguita la simulazione ed i risultati ottenuti (velocità angolare ed angoli di Eulero al variare del tempo) vengono rappresentati in un quadro d’insieme. Si passa quindi alla procedura di selezione intervallo e campionamento. In primo luogo viene visualizzato il numero di nodi temporali (istanti) presenti nell’intervallo [0,TIMESIM] quindi si richiede a quale di questi istanti è opportuno fermarsi nelle successive rappresentazioni grafiche. A questo punto è possibile effettuare un campionamento dei dati disponibili tra l’istante iniziale e l’istante finale appena selezionato. Per effettuare tale operazione viene richiesto il Numero di intervalli di campionamento. Tale numero deve essere un intero positivo e rappresenta il numero di intervalli esistenti tra un nodo selezionato ed il successivo. Inserendo un Numero di intervalli di campionamento unitario, vengono selezionati tutti i nodi a disposizione, mentre inserendo un Numero di intervalli di campionamento pari a tre verranno selezionati i nodi 1,4,7,10 etc. Successivamente i nodi scelti vengono evidenziati in sovrapposizione alle curve ottenute dalla simulazione in modo da poter valutare la bontà del campionamento operato: qualora questo risultasse insoddisfacente è possibile effettuare nuovamente la procedura di selezione.
- Il menu di rappresentazione
Terminata la fase di selezione dei dati, compare il menu di rappresentazione: esso permette di scegliere tra cinque possibili rappresentazioni grafiche oppure di ritornare al menu principale. Vediamo nel dettaglio le opzioni disponibili:
- Ellissoidi (T e h): visione o animazione:
selezionando questa opzione si ha la possibilità di osservare la posizione degli ellissoidi, del piano invariante e della terna principale d’inerzia nel sistema di riferimento inerziale (in corrispondenza degli istanti selezionati) ed eventualmente di costruire un’animazione sulla base delle immagini generate. E’ possibile scegliere anche il tipo di rappresentazione ossia in pianta piuttosto che in assonometria o in vista laterale. Qualora si fosse scelto di registrare un’animazione, questa viene proposta al termine della fase di registrazione; a questo punto è possibile salvare l’animazione generata.
- Vettori w, h, z in assi inerziali:
selezionando questa opzione si ha la possibilità di osservare la posizione dei vettori w, h, z nel sistema di riferimento inerziale (in corrispondenza degli istanti selezionati) ed eventualmente di salvare l’immagine finale prodotta. Anche in questo caso è possibile scegliere il tipo di rappresentazione ossia in pianta piuttosto che in assonometria o in vista laterale.
- Visione globale + creazione animazione:
in questo caso vengono presentati contemporaneamente diverse uscite del programma:
- posizione del vettore velocità angolare in assi inerziali (vista assonometrica) in corrispondenza degli istanti selezionati
- posizione degli ellissoidi, del piano invariante e della terna principale d’inerzia in assi inerziali (vista laterale) in corrispondenza degli istanti selezionati
- posizione degli ellissoidi, del piano invariante e della terna principale d’inerzia in assi inerziali (vista assonometrica) in corrispondenza degli istanti selezionati
- erpoloide.
Al termine della fase di visualizzazione viene proposta un’animazione costruita con le immagini della vista prospettica degli ellissoidi. Tale animazione può essere registrata.
- Erpoloide:
selezionando questa opzione viene tracciata l’erpoloide
- Poloide:
selezionando questa opzione viene tracciata la poloide. Successivamente tale curva viene proiettata sui piani ortogonali xy,xz e yz.
- RITORNA AL MENU PRINCIPALE
questa opzione rimanda al menu principale