GPS differenziale con Arduino per robot

astrobeed:

lesto:
nulla di irrealizzabile, ma bisogna fare attenzione ai limiti.

Prima di tutto il calcolo della rotta (distanza e angolo) su Arduino richiede centinaia di ms, solo 1.5 ms forse ce la fa la DUE, inoltre senza la matematica a 64 bit la precisione è ridicola, parliamo di risoluzione a livello di molte decine di metri che è assolutamente inutile su un piccolo mezzo mobile autonomo.
In presenza di EGNOS, con segnale buono e bassi valori D.O.P., la precisione di un buon gps è circa 2.5 metri mentre l'errore medio di posizionamento attorno al punto è di circa 30-50 cm, ovvero vieni localizzato all'interno di un cerchio con raggio 2.5 metri il cui centro è il punto reale dove ti trovi e se rimani fermo la tua posizione cambia costantemente all'interno di un cerchio con raggio 30-50 cm.
Per farla breve con Arduino puoi visualizzare su un display, o inviare sulla seriale, tutti i dati ricevuti dal GPS estrapolandoli dalle varie sentenze NMEA, però non è in grado di utilizzarli per ricavare un rotta per via del insufficiente supporto matematico dovuto al fatto che Arduino si basa su una mcu a 8 bit.

per la precisione c'è poco da fare, ma per i tempi sto usando quelli calcolati usando i test delle tue vs mie funzioni di calcolo di cui discutemmo qualche tempo fà, prendendo per buono il caso peggiore.

per la precisione (a anche la velocità) si può usare una FPU esterna come Arduino Playground - HomePage, che però ad occhio costa forse più che prendersi un micro più adatto (Suggested Retail Price: $24.95 USD)