Introduzione
2
I principali sottosistemi del microsatellite SMART sono:
1) L’On Board Data Handling system (OBDH), il computer di bordo per il
controllo del satellite, per la gestione e l’implementazione delle comunicazioni
con la (le) stazione di terra, per la gestione delle risorse e del payload
2) Il Transceiver-S-Band, il sottosistema di rice-trasmissione per le fasi di
uplink e downlink
3) Il PCS, Power Conditioning System, per la distribuzione di potenza alle
varie utenze di bordo a seconda del loro fabbisogno
4) Il SACE, Spacecraft Attitude Control Electronics, per l’interfaccia tra il
computer di bordo e l’elettronica di sensori ed attuatori d’assetto
5) I sensori d’assetto, 2 digital sun sensor, 2 earth sensor, 1 magnetometro
6) Gli attuatori d’assetto, 3 reaction wheels, 3 magneto-torquers
7) Il ricevitore GPS, per la determinazione di posizione e velocità del satellite
nel riferimentro geocentrico
8) Il payload, che sarà allogiato in un cilindro in grado di ospitare un carico
con diametro massimo di 136 mm e altezza 370 mm
9) Le batterie nichel-cadmio, NiCi
La figura 1 è una rappresentazione del satellite SMART, il cui
primordiale modello ingegneristico è stato presentato al 48mo congresso della
federazione astronautica internazionale (IAF).
Fig. 1 Il satellite SMART.
Introduzione
3
Per SMART sono previsti cinque pannelli solari, di cui uno si trova sulla
parte superiore del satellite e gli altri saranno dispiegati dopo la fase di
acquisizione d’assetto. La figura 2 è una rappresentazione pittorica della
configurazione operativa del microsatellite.
Fig. 2 Configurazione operativa di SMART.
Capitolo 1 I COMPUTER E I VEICOLI SPAZIALI: SIGNIFICATO E IMPORTANZA
4
Capitolo 1
I computer e i veicoli spaziali:
significato e importanza
1.1 Breve cronistoria [2]
Nell’ambito di una missione spaziale, il numero e la complessità delle
operazioni da eseguire nonché la tempestività1, la precisione e soprattutto
l’accuratezza con cui esse devono essere svolte, hanno reso
indispensabile l’impiego di macchine computazionali sia a bordo sia nelle
ground station.
Questo aspetto è stato preso in considerazione già al conseguimento
dei primi importanti traguardi dell’era spaziale (progetto MERCURY), ed
ha interessato via, via, una percentuale sempre maggiore della fase di
progettazione e sviluppo delle missioni.
Verso la fine degli anni ’50, quando la NASA veniva fondata e
l’Unione Sovietica metteva in orbita intorno alla terra il primo satellite
artificiale mai creato dall’uomo, lo Sputnik-1 (1957), l’ingegneria dei
calcolatori aveva prodotto la macchina UNIVAC, un insieme di comandi a
nastro, scatole informi e rumorose pseudo stampanti, che occupava una
stanza grande come una casa. Costoso da realizzare e da tenere in
funzione, questo gigante necessitava di un piccolo esercito di tecnici in
1
Un’operazione è in genere una sequenza di azioni da eseguire non oltre un tempo critico, al di là del quale si
verifica lo stallo di quella fase operativa, cosa che può tradursi nel fallimento di una parte della missione o di
tutta la missione. Ad esempio, per la fase di rendezvous tra due piattaforme spaziali potremmo pensare di
eseguire la sequenza di manovre (avvicinamento, correzione di rotta e agganciamento) da una stazione di
terra; tuttavia, se le due piattaforme sono molto lontane come nel caso delle sonde interplanetarie, i ritardi
nella comunicazione possono compromettere l’efficacia delle eventuali correzioni imposte dagli errori di
inquadramento della finestra di aggancio.
Capitolo 1 I COMPUTER E I VEICOLI SPAZIALI: SIGNIFICATO E IMPORTANZA
5
costante presenza per tenerlo in esercizio. Per vedere un primordiale
computer di bordo, bisogna aspettare il progetto americano Gemini, il cui
primo lancio di successo senza equipaggio risale ai primi del 1964. Infatti,
il primo veicolo spaziale abitato, il Mercury, non era dotato di computer.
Fatta eccezione dei jet per il controllo d’assetto, il Mercury non aveva
alcuna capacità autonoma di controllo pre-volo né di manovra, e la sua
traiettoria dipendeva esclusivamente dall’accuratezza di guida del razzo
vettore ATLAS; il rientro venne elaborato in tempo reale dalla stazione di
terra mentre il veicolo era in volo.
Con il programma GEMINI ebbe inizio l’era dei computer progettati
per il volo spaziale. Sebbene lo spacecraft Gemini fosse molto simile al
Mercury, una serie di fattori giustificò la necessità di un computer di
bordo: l’obiettivo di automatizzare alcune funzioni di controllo pre-volo,
la presenza di un uomo in più nell’equipaggio per eseguire una serie di
esperimenti, la presenza di un sistema di manovra orbitale attaccato alla
parte posteriore della cabina principale per la fase di rendez-vous con il
razzo Agena.
Quest’ultimo aspetto può darci un’idea chiara della necessità di
utilizzare un calcolatore a bordo del veicolo Gemini: infatti, le stazioni di
terra dedicate per quella missione non coprivano tutte le parti della
traiettoria orbitale dello spacecraft, in particolare, sarebbe stato
impossibile fornire da terra la serie di aggiornamenti necessari per le
manovre della fase di rendezvous.
Questi requisiti imposero l’utilizzo di un calcolatore digitale con un
certo grado di affidabilità e sofisticazione, nonché munito di semplici
interfacce per l’equipaggio. Esso funzionò in sei fasi della missione: pre-
lancio, ascesa, inserimento in orbita, acquisizione dell’orbita, rendez-vous
e rientro. La IBM costruì questa macchina per la NASA, che possiamo
definire il primo computer digitale nello spazio.
Successivamente, fu il progetto APOLLO (seconda metà ’60) a
contribuire all’ulteriore sviluppo degli elaboratori elettronici per il volo
spaziale. Nelle missioni APOLLO, infatti, l’inserimento in orbita lunare
doveva avvenire in corrispondenza del lato in ombra della luna rispetto alla
terra, dunque fuori della finestra di comunicazione con le ground station.
Questo fu uno degli elementi che richiedevano l’adozione di un computer
per assistere alle fasi di navigazione, guida e controllo di volo e per
eseguire altre mansioni. Il progetto fu affidato al Massachusetts Institute
of Technology.
Capitolo 1 I COMPUTER E I VEICOLI SPAZIALI: SIGNIFICATO E IMPORTANZA
6
Infine, la complessità dei computer system è aumentata con le
missioni Skylab e Shuttle, quest’ultimo munito di cinque computer per la
gestione dell’avionica del veicolo e del payload, ed una coppia di
computer per ciascuno dei tre motori principali.
Per quanto riguarda i veicoli spaziali non abitati, per circa un
decennio le missioni intorno alla terra e per lo spazio remoto non hanno
mai avuto a bordo un computer vero e proprio. I progetti Mariner e
Viking hanno segnato il passaggio dai cosiddetti hard-wired sequencers,
una sorta di calcolatori primordiali che, attivati prima del decollo, erano in
grado di cronometrare il tempo per impostare una sequenza di operazioni
in un preciso momento della missione (Pioneer e Surveyor, seconda metà
‘60); ai programmable sequencers, dotati di un software per le sequenze
di comandi modificabile in volo (Mariner e Viking, prima metà ‘70); ed
ancora ai moderni digital computers, sistemi costituiti da più di una unità
elaborativa, caratterizzati da un’architettura hardware/software non
centralizzata ma concepita per avere una distribuzione delle funzioni da
svolgere a bordo (Voyager e Galileo, fine ‘70-prima metà ’80).
1.2 L’evoluzione dei computer di bordo e le finalità’ del loro
utilizzo
Nei primi veicoli spaziali il computer di bordo era poco più di una
unità programmabile che lavorava in sequenza (sequencer), ed il
processore era un semplicissimo circuito hard-wired dotato di scarsa
flessibilità.
Al crescere della sofisticazione, gli spacecraft computer sono
divenuti degli elaboratori molto potenti, riflettendo in parte la tendenza
delle macchine per le applicazioni terrestri ed in parte la capacità delle
attività e dei programmi aerospaziali di introdurre nuovi filoni di sviluppo.
Durante gli anni ’60 i calcolatori avevano, infatti, un’architettura
centrale o ‘mainframe’, e questo approccio è ancora seguito in diversi
progetti. Tuttavia, lo sviluppo della tecnologia dei microprocessori e dei
network distribuiti, ha consentito l’adozione di un’architettura distribuita,
nella quale gran parte delle potenzialità di calcolo risiede in una serie di
sottosistemi, mentre il calcolatore centrale funge da ‘coordinatore’.
In seguito, negli anni ’70, con i programmi VOYAGER e GALILEO,
andava affermandosi un nuovo concetto di computer system, quello di un
Capitolo 1 I COMPUTER E I VEICOLI SPAZIALI: SIGNIFICATO E IMPORTANZA
7
sistema costituito da un certo numero di unità, ciascuna preposta per una
determinata funzione di processing, come formattazione e trasmissione dei
dati di telemetria, gestione dei dati di volo, controllo d’assetto, ed altro.
Tra gli ani ’60 e ’70, l’obiettivo principale delle agenzie spaziali russa
ed americana, fu lo sviluppo di computer di bordo che rispondessero ad
una serie di requisiti: resistere alle sollecitazioni della fase di lancio,
operare in modo affidabile in ambiente cosmico, e nello stesso tempo
avere una maggiore sofisticazione e potenza di calcolo nella gestione dei
payload di ampia portata, studiati per il conseguimento di obiettivi
scientifici ambiziosi. Tuttavia, questo aspetto dell’evoluzione dei
computer per le applicazioni spaziali riguardò, nella prima fase, soprattutto
le missioni senza equipaggio umano, in quanto nei veicoli abitati la
tendenza era quella di impiegare ciò che era disponibile.
Per contro, i sistemi delle stazioni di terra riflettevano, e questo
accade ancora oggi, la necessità di sistemi per l’elaborazione di dati su
larga scala, similmente alle applicazioni commerciali.
Le driving force dei progressi fatti negli ultimi decenni, sono state le
seguenti: la necessità di prevenire la saturazione delle operazioni ground-
station nel caso di applicazioni multi-missione, la necessità di evitare il
jamming ostile, la necessità di conferire un alto grado di autonomia
operativa ai veicoli spaziali per le missioni interplanetarie e di lunga durata,
la necessità di sistemi in real-time mode, la ridondanza dei sottosistemi per
la sicurezza e l’affidabilità, la scelta di equipaggiamenti off-the-shelf
(commerciali), l’adozione di processing-mode distribuito e l’aderenza ai
principi dell’ingegneria del software.
In virtù di tutto questo, i computer di bordo sono diventati il
sottosistema più importante dei moderni veicoli spaziali e sono utilizzati
per l’adempimento di moltissime funzioni.
Questa evoluzione ha reso dunque i veicoli spaziali più autonomi, più
versatili e, soprattutto, più affidabili.
Capitolo 1 I COMPUTER E I VEICOLI SPAZIALI: SIGNIFICATO E IMPORTANZA
8
1.2.1 On-Board Computer e Ground-Based Computer
Da un punto di vista operativo, possiamo distinguere due tipologie di
computer system per le missioni spaziali: gli On-Board Computer e i
Ground-Based Computer System. [Figura 1.1]
Fig. 1.1 I computer system per le applicazioni spaziali.
I primi fanno parte del veicolo spaziale, e sono concepiti per
conferire allo spacecraft, entro i limiti fissati dal progetto di missione,
autonomia elaborativa per le funzioni di: guida e navigazione (rendezvous,
rientro e correzioni di metà corsa), housekeeping, monitoraggio dello stato
di salute del sistema, gestione dei sottosistemi di bordo, gestione del
payload, command e telemetry processing, comunicazioni
uplink/downlink.
I secondi sono invece destinati all’esecuzione delle ‘ground station
functions’, come: preflight checkout e in flight check (simulazioni),
controllo di missione (spacecraft commands telemetring, monitoraggio a
distanza dello stato del veicolo e relativa manutenzione), post-processing
(data reduction, image processing, user interfaces).
Gli on-board computer e i ground-based computer conservano dati
ed eseguono calcoli allo stesso modo, ma gestiscono i processi di input e
output in modo differente.
Le funzioni ground-station possono essere svolte sia in tempo reale
sia in modalità non-real time (post-processing). Un tipico computer per
applicazioni terrestri degli anni ’60, quando i primi computer volavano in
missioni abitate, elaborava i programmi uno per volta. Questo tipo
d’elaborazione, nel quale l’intero programma deve essere caricato in
memoria e i dati devono essere disponibili in forma discreta, è nota come
SPACE MISSION COMPUTER SYSTEMS
On-Board Computer Ground-Based Computer
Capitolo 1 I COMPUTER E I VEICOLI SPAZIALI: SIGNIFICATO E IMPORTANZA
9
modalità ‘BATCH’. In un processo batch, se il computer sta eseguendo
un calcolo, i congegni di input e output sono inattivi. Analogamente, se
una periferica è in funzione, non c’è la possibilità di effettuare dei calcoli
contemporaneamente (un modo per rendere più efficiente un processo
batch potrebbe essere quello di sviluppare un sistema operativo che
consenti ad un programma di utilizzare quelle risorse correntemente non
utilizzate da altri programmi). Il processing a bordo, invece, avviene in
modalità real time, vale a dire manipolando input e output essenzialmente
asincroni con una elaborazione continua; similmente ad un telefonista che
non sa su quale linea arriverà la chiamata successiva.
Elaborare dati in tempo reale significa gestire gli input facendo si che
gli output necessari non ritardino l’utente ed i processi successivi, mentre
le funzioni in modalità non-real time non necessariamente devono essere
completate in un tempo specifico. Se i computer impiegati per la discesa
dello Shuttle lavorassero in modalità batch, sarebbero in grado appena di
elaborare i comandi per le superfici aerodinamiche ed il veicolo andrebbe
fuori controllo o perderebbe la traccia di dove si trova se i dati fossero
utilizzati in piccoli gruppi. Il requisito per il processing in real-time mode
porta ad altri requisiti per il computer system, che normalmente non
ritroviamo nei sistemi a terra: il software non deve ‘collassare’ o avere una
terminazione anormale poiché se il software si ferma il veicolo cessa di
essere controllabile; l’hardware deve essere altamente affidabile, le
memorie ad esempio devono essere non volatili nella maggior parte delle
applicazioni in modo che se l’alimentazione è improvvisamente tagliata il
programma in memoria non scompare.
Tuttavia, a causa dei moderni semiconduttori, le memorie RAM sono
usualmente volatili, pertanto o continuano ad essere utilizzate memorie di
tecnologie più vecchia (come quelle con nucleo in ferrite) oppure si fa
ricorso a memorie a tecnologie più sofisticate come le erasable-
programmable ROM (EPROM).
1.2.2 Manned Spacecraft Computer e Unmanned Spacecraft
Computer
I computer di bordo si dividono a loro volta in Manned Spacecraft
Computers e Unmanned Spacecraft Computers. [Figura 1.2]
Sebbene i veicoli spaziali con e senza equipaggio abbiano molte
caratteristiche in comune, anche fino alle applicazioni recenti, essi
possono impiegare computer differenti. Ad esempio, nessun computer
Capitolo 1 I COMPUTER E I VEICOLI SPAZIALI: SIGNIFICATO E IMPORTANZA
10
con sufficiente livello di sofisticazione da controllare lo Shuttle ha volato
in missioni senza equipaggio. I computer dello Shuttle, infatti, sono molto
grandi ed hanno un consumo di potenza cosi elevato che potrebbero
esaurire in poco tempo la potenza disponibile a bordo di una sonda per il
profondo spazio. Fatta eccezione per le missioni MIR e ISS2, i computer
sui veicoli spaziali abitati sono orientati verso missioni relativamente brevi,
di durata fino a poche settimane. Al contrario, nel caso di veicoli spaziali
senza equipaggio umano, come sonde terrestri o destinate allo spazio
remoto, i sistemi di bordo devono avere una quasi totale autonomia della
gestione della missione stessa (per i satelliti interplanetari, ad esempio,
nonostante la velocità della luce, le comunicazioni possono avere dei
ritardi non trascurabili ai fini della prontezza di determinate operazioni);
devono essere affidabili per anni, in quanto sono esposti più a lungo alle
radiazioni e restano più a lungo fuori della portata del controllo da terra;
devono avere requisiti di basso consumo di potenza poiché utilizzano
risorse di minore capacità per molto tempo (generalmente, nelle missioni
non abitate si fa ricorso ai sistemi a radioisotopi oppure alle celle solari:
l’utilizzo dei primi è stato limitato a pochissime missioni per la forte
componente di rischio, mentre le celle solari sono per natura dei generatori
di bassa potenza e basso rendimento).
ON-BOARD COMPUTER SYSTEMS
Manned Spacecraft
Computer
Unmanned Spacecraft
Computer
Fig. 1.2 On-board computer systems.
2
ISS=International Space Station