# Pilota automatico

Un pilota automatico (spesso abbreviato in autopilota) è un dispositivo meccanico/elettronico che può guidare un veicolo senza assistenza da parte di un essere umano. La maggior parte delle persone associa l'autopilota specificatamente agli aeroplani, ma gli autopiloti per barche e navi sono chiamati allo stesso modo e hanno lo stesso scopo. Funzionano anche in modo simile.

## Aviazione

Gli autopiloti per aeroplani hanno grandemente semplificato il volo. Anche gli aeroplani più stabili richiedono l'attenzione continua del pilota per poter volare. Nei primi tempi dei trasporti aerei, l'attenzione all'equipaggio era molta e la fatica elevata.
Il primo autopilota fu sviluppato dalla Sperry Corporation. Collegava un orizzonte artificiale giroscopico e una bussola magnetica a degli attuatori idraulici. Permetteva all'aereo di volare diritto e a quota costante senza intervento del pilota, coprendo anche l'80% del tempo necessario per un volo tipico.
Un autopilota con queste funzioni è ancora il più comune, economico e fidato. Ha anche il minor numero di errori possibili, perché è il più semplice da controllare.
Gli aerei moderni in genere dividono un volo in fasi: rullaggio, decollo, salita, crociera, discesa, avvicinamento, atterraggio e rullaggio. Esistono autopiloti che automatizzano tutte queste fasi e alcuni incorporano anche un sistema automatico per evitare le collisioni (TCAS).
Gli autopiloti moderni sono in realtà un software che gira su un computer che controlla l'aereo. Il software legge la posizione e l'orientamento corrente dell'aeroplano, e controlla un sistema fly-by-wire che lo guida. In un tale sistema, oltre ai controlli classici di volo, molti autopiloti controlleranno anche la spinta per ottimizzare la velocità (automanetta), e sposteranno il carburante da un serbatoio all'altro per bilanciare l'aeroplano e mantenerlo in assetto ottimale.
Anche se gli autopiloti affrontano le situazioni impreviste o pericolose in modo poco flessibile, in genere riescono a far volare un aeroplano con un consumo di carburante inferiore a quello di quasi tutti i piloti.
L'autopilota legge la posizione e l'assetto dell'aeroplano da un sistema di navigazione inerziale. Un tale sistema però accumula errori nel tempo. Gli errori sono corretti usando un sistema di navigazione satellitare e degli altimetri. Le discrepanze tra i due sistemi sono risolte mediante un processamento digitale dei segnali, spesso un filtro di Kalman a sei dimensioni (angoli di rollio, beccheggio e imbardata, altitudine, latitudine e longitudine).
L'hardware di un tipico autopilota è un set di cinque microprocessori 80386, ognuno sul proprio circuito stampato. L'80386 è il processore più economico e più diffuso, e nuove versioni sono in fase di sviluppo per essere resistenti alle radiazioni, e quindi adatte per l'uso aerospaziale. Questo processore piuttosto vecchio è preferito intenzionalmente a versioni più nuove, perché è economico e molto ben conosciuto, testato e caratterizzato.

## Sicurezza degli autopiloti

Il corretto funzionamento degli autopiloti è fondamentale per la sicurezza dell'aereo. Essi sono quindi progettati per far fronte a guasti, errori di programmazione ed ogni altra eventualità senza far cadere l'aereo. Gli aerei di linea sono in genere equipaggiati con almeno una ridondanza di due autopilota, nel caso infatti in cui l'autopilota utilizzato abbia un'avaria, il computer interviene inserendo il secondo automatismo e segnalando l'anomalia all'equipaggio; questo tipo di ridondanza viene chiamata "fail-operational".

### Virtualizzazione

Lo speciale sistema operativo che gira sul processore fornisce una virtual machine di sé stesso. Su tale virtual machine gira il software di controllo vero e proprio. Quindi, il software non si interfaccia mai direttamente con l'elettronica di controllo dell'aereo, ma agisce invece su una simulazione software di quest'ultima. In questo modo gli eventuali errori del software, che tendono in genere a produrre errori grossolani e sbagliati in modo evidente, possono essere rilevati e scartati. Durante l'operazione in volo, il processo viene fermato, e fatto ripartire da una copia corretta. Durante i test a terra, questi errori vengono registrati dal software di virtualizzazione e gli ingegneri possono esaminarli per correggere il software.

### Rilevamento avarie nel sistema

In genere, uno dei processi su ognuno dei computer è un processo a bassa priorità che controlla continuamente il corretto funzionamento del computer stesso, ad esempio ripetendo due volte la stessa operazione matematica e controllando che i risultati siano uguali. Guasti all'hardware del computer possono così essere rilevati prima che possano fare danni più gravi.
In genere, ognuno dei processi dell'autopilota gira in più copie identiche, distribuite su computer differenti. Il sistema confronta i risultati dei diversi processi e, in caso di differenze, decide a maggioranza. Valori estremi, che sono quasi sempre sbagliati, sono scartati prima che vengano usati per controllare l'aereo.
Alcuni autopiloti usano anche una diversità di progetto. In questo approccio, i processi software girano non solo su computer differenti, e in copie multiple, ma saranno anche progettati da gruppi differenti di ingegneri. È molto improbabile che gruppi diversi facciano gli stessi errori. Con il rapido sviluppo dell'informatica, i software stanno divenendo sempre più complessi e costosi, e quest'ultimo approccio è meno comune in quanto poche case costruttrici possono permetterselo.

## Marina
### Velieri

Su un veliero il pilota automatico si occupa di dirigere la barca lungo una rotta prestabilita trovando il rapporto ottimale fra la direzione del vento e quella della barca. I piloti automatici elettronici possono utilizzare le informazioni provenienti da dispositivi esterni, come una bussola o un navigatore GPS, al fine di dirigere l'imbarcazione verso un punto prestabilito, di una rotta o della direzione del vento.