La conoscenza sia del Vettore di Stato che delle equazioni della traiettoria gestite dal FDO non era sufficiente a garantire il successo della missione: l’inevitabile presenza di errori nella misura ed approssimazioni nelle equazioni del moto portavano ad errori significativi su lunghe distanze e quindi a mancare l’obiettivo.
Era necessario implementare un metodo affidabile che, in un ambiente rumoroso, potesse valutare in senso statistico le migliori azioni da intraprendere: il problema venne affrontato e risolto tramite l’implementazione di un sistema di intelligenza artificiale per identificare lo stimatore ottimo.
La terza parte della conferenza si sofferma sull’analisi del filtro inventato dall’Ing. Rudolf Kalman, oggi usato in tanti settori dell’industria (nell’automotive, nell’aviazione, nell’elettronica …). Per il suo impegno, egli ha ricevuto in seguito numerosi riconoscimenti.
La conferenza si terrà 13 Gennaio nella sala riunioni di Villa Camperio, via Confalonieri, 55 – Villasanta con inizio alle ore 21:00circa.
Durante le missioni Apollo la stima ed il controllo delle traiettorie ottimali Terra – Luna erano condizione critiche in molte fasi di volo, per esempio:
Il CSM doveva entrare in orbita lunare (LOI, Lunar Orbit Insertion) con molta precisione ad un’altezza di soli 60 miglia nautiche, intorno ad un corpo celeste che si muove a circa 1 Km/s.
Durante l’allunaggio: i dati provenienti dal radar di Terra dovevano trovare un’analogia con i valori dei radar di allunaggio (LR, Landing Radar) montato sul LM per capire se proseguire o abortire la missione.
In fase di ritorno in atmosfera: il CM doveva imboccare un corridoio di rientro con un angolo di volo di 6,5°± 1° rispetto all’orizzonte.
La conoscenza a priori e la possibilità di stimare il consumo di beni e materiali, oltre ad aspetti pratici, serviva anche per ragioni di riduzione costi (consumo di carburante) e per adempiere ai criteri di sicurezza dell’equipaggio. In ogni caso il problema più sentito per l’equipaggio a bordo (e al MOCR a Houston) era l’esigenza di poter controllare che l’Apollo si muovesse lungo il percorso stabilito dalla traiettoria in uno spazio di riferimento, così come in qualsiasi altra situazione di volo.
La capsula CM dell’Apollo era equipaggiata con sensori (giroscopi e accelerometri) e strumentazione (telescopio, sestante spaziale) per poter prendere delle misure angolari rispetto alle stelle fisse, al Sole, a punti particolari sull’orizzonte terrestre ed altro le quali venivano inviate al computer per i calcoli di posizione. I sensori sono soggetti a diversi tipi di errore: casuali, di deriva o di imperfezioni di costruzione.
Analogalmente le equazioni del moto (modello dinamico) usato per descrivere la traiettoria è soggetta ad errori nel modello non deterministici ove non è possibile valutarne a priori la quantita’ in maniera precisa: per esempio è difficile considerare le perturbazioni del moto lunare, l’esatta spinta ottenuta dall’accensione dei RCS, l’influenza della distribuzione della massa terrestre/lunare sul CSM …
Il problema che la NASA doveva affrontare era: quante e quali misure bisognava effettuare al fine di garantire una navigazione corretta nello spazio cislunare?
La risposta a questa domanda significava identificare il numero minimo ed ottimale di misure da effettuare, quali correzioni erano necessarie e quando effettuarle. La procedura ideale poteva essere descritta come segue:
Utilizzando i sensori del CM, identificare posizione e velocità attuali, cioè i vettori di stato e
informare il computer di bordo (AGC) dello stato corrente
in base ad alcune regole “statistiche” decidere se:
intraprendere una correzione orbitale sulla traiettoria
non effettuare alcuna correzione
aggiornare i vettori di stato
tornare al punto 1
Dato che ogni misura è affetta da incertezza (ambiente rumoroso) era necessario valutare in senso statistico le azioni da intraprendere ad ogni ripetizione. Maximilian Schuler nei primi anni del Novecento fu tra i primi matematici a studiare il problema; in particolare gli errori oscillatori generati dai sensori IMU indotti dal campo gravitazionale in cui i giroscopi lavorano. In seguito altri matematici quali Richard Battin (1925 – 2014) del MIT e Norbert Wiener cercarono di affrontare il problema ma fu con Rudolf Kalman (1930 – 2016) che la NASA ebbe la possibilità di implementare l’algoritmo che ancora oggi porta il suo nome: il filtro di Kalman.
Egli riuscì a trovare una soluzione ottima per la stima dell’errore lavorando nel dominio del tempo, anziché in frequenza (come fece Wiener) in modo da renderlo gestibile in tempo reale da un computer ed implementarlo nel software di volo.
Il filtro di Kalman è un metodo statistico per l’ottimizazione del controllo, in particolare è un filtro ricorsivo per la stima di uno stato interno del sistema dinamico a partire da una serie di misure rumorose.
L’ipotesi di base di funzionamento del filtro prevede sorgenti di errori indipendenti provenienti da distribuzione statistica Normale N (μ, σ) a media nulla.
Dato che al fine di individuare la traiettoria ottima è necessario stimare l’errore (predizione in senso statistico) e gestirlo nelle equazioni dinamiche del sistema (parte deterministica del sistema), quindi il fattore principale del processo di filtraggio è la misura dell’errore. L’algoritmo si compone in due fasi:
una predizione basata sul modello ideale del modello ideale di volo per una prima stima di $latex $V_{k|k-1}$ nell’istante successivo del sistema.
una misura dai sensori del LM/CSM (SXT/TEL)
Il confronto/correzione con la predizione iniziale per ottenere la stima ottima finale
Lo stato interno del sistema si trova più vicino al valore nominale.
La parte di osservazione consiste nella lettura dei sensori anch’essi affetti da errore, l’aggiornamento consiste nella minimizzazione della differenza fra la previsione e l’osservazione, quindi l’errore viene corretto da un fattore K il quale viene usato per aggiornare le equazioni del sistema dinamico.
L’algoritmo consiste in cinque fasi applicate in maniera iterativa:
Predizione: si prevede lo stato corrente in base al modello dinamico affetto da rumore N (0, σ)
Osservazione dello stato: si effettua la misura dei sensori affetti anch’essi da rumore N (0, ξ)
Minimizzazione dell’errore $latex e_{k}$ fra la previsione del modello dinamico e la sua osservazione. L’errore si chiama innovazione del sistema
Aggiornamento calcolo della covarianza dell’errore e del guadagno K per la previsione dello stato successivo del sistema dinamico.
Integrazione: del parametro K nel modello dinamico e stima ottima
Ritorna al punto 1
Ci sono molti modi per calcolare K: se il sistema dinamico e lineare con rumori gaussiani a media nulla (descritti nei punti 1 e 2) allora esiste un algoritmo ottimale per il calcolo di K.
Principio di funzionamento del filtro di Kalman implementato nel CGC Fonte: Apollo On board navigation technique, NASA
Il filtro venne inizialmente implementato nei mainframe IBM704 che usavano un’aritmetica a virgola mobile a 36 bit, quindi grazie al lavoro di J.E. Potter, riuscì a trovare un’implementazione con un’aritmetica a virgola fissa a 15 bit per poterlo farlo funzionare sul computer dell’Apollo. Un’operazione di filter tuning condotta a terra con altre simulazioni numeriche ha fornito alla NASA le condizioni iniziali di funzionamento del filtro: a questo punto mancava solo un test in campo.
Ideato inizialmente per funzionare con problemi di stima lineari, la NASA fu in grado di estendere il campo di lavoro del filtro anche per problemi non lineari, come quello di mandare un’equipaggio sulla Luna.
Questa seconda versione implementata per il progetto Apollo si chiama filtro di Kalman esteso (EKF).
Esso fornisce un’approssimazione della stima ottima, poichè viene effettuata una linearizzazione del sistema nell’intorno dell’ultima stima dello stato. Il processo di trasformazione dello spazio non lineare in uno spazio lineare avviene tramite una trasformazione Jacobiana basata sull’approssimazione in serie di Taylor del primo ordine.
Patch Apollo 7
La prima prova del funzionamento del filtro avenne nell’ottobre 1968, con la missione Apollo 7 ove il filtro di Kalman venne implementato nel software del AGC Block II, al suo primo test di volo. Si trattò di un volo particolare: durante la missione l’equipaggio si impratichì a recuperare il LM ma ci furono tensioni fra gli astronauti e il personale di Terra, in quanto gli astronauti si dimostrarono poco collaborativi ma il filtro fece il suo dovere.
Il filtro di Kalman ha rappresentato un’evoluzione tecnologica fondamentale nel campo dell’avionica, ed oggi viene implementato in moltissimi campi, come nei sistemi di navigazione, nella guida autonoma e tanti altri settori ove si tratta di effettuare una stima ottimale con sorgenti affetti da rumore.
Disegno che mostra la differenza fra traiettoria reale affetta da errore (puntini rossi) e la traiettoria ottimale filtrata da Kalman
Per il suo contributo al progetto Apollo, l’ingegner Rudolf Kalman ha ricevuto la “National Medal of Science” nel 2009.
Orologio solare - Ortisei, frazione San Giacomo (BZ)
Orologio solare - Ortisei (BZ)
Orologio solare - Andalo, località Laghett (TN)
Orologio Solare - Brinzio (VA)
Orologio solare, Palazzo del Vescovo - Losanna
Fai della Paganella (TN)
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.