Official topic: multicotteri con arduino!

Un GPS decente di ultima generazione, con EGNOS disponibile, garantisce un circolo di confusione di circa 3 metri, la precisione/risoluzione ti serve sempre e comunque perché i conti li devi fare con i giusti valori, se cominci ad arrotondare pure quelli puoi dire addio alla precisione della rotta.

si può creare un tipo doi dato, o meglio una classe, che gestisca la matematica... insomma un tipo di dato apposito, basandosi sul codice che è usato per float o partendo da 0. Non dovrebbe essere troppo difficile, magari esiste già

Se dici che quel chip non è altro che un micro "tarpiato", tanto vale usare un secondo GPS.
Un mio amico ha fatto un esperimento (in 2D) di una barra con eliche ai limiti che tende a raggiungere un punto; ha usato un PID per il mantenimento dell'orientamento, uno per la gestione dell'altezza, e uno per gestire la traslazione destra sinistra. Per il resto ha usato coordinate attuali e coordinate di arrivo.

Il problema però è che buona parte dei GPS (economici) viaggiano a 1Hz, massimo 10Hz, quindi sono forse un pò troppo lenti per essere usati da soli e bisognerebbe calcolare (o meglio stimare) lo spazio percorso in modo da poter rendere più veloce il loop di "posizionamento" usando la posizione attuale stimata. Direi che tutto questo lo farei fare a un micro apposta.

Il problema è molto complesso e non si può affrontare su un forum, ti consiglio di scaricarti un po di documentazione su come funziona il gps, i sistemi geodeteci, in particolare il WGS 84, e la matematica necessaria per convertire le coordinate GPS in una rotta, così ti rendi conto da solo che la cosa non è semplice da gestire.

hai qualche spunto da cui iniziare? io pensavo di cavarmela usando l'algebra lineare.. qualcosa tipo calcolare la retta (3D) che congiunge partenza e destinazione, poi proiettarla su una sfera