lunedì 31 agosto 2009

GPS e altri componenti

Interessante.
Quale ricevitore GPS usi?

Ho un vecchissimo ricevitore Garmin GPS II Plus, il cui firmware è datato febbraio 1997. Esce su RS232 in NMEA classico, usa solo quattro pile stilo, ha un processorino intel 386sx (ma guarda chi si rivede dopo tanti anni!) con 512k RAM ed un display LCD grafico di 64x40 pixel a due colori, ma non ha le mappe (che all'epoca pare non fossero state ancora inventate). La sua antenna non è amplificata, e pertanto riceve solo all'aperto e se puntata per bene verso il cielo. L'arnese è waterproof per cui si presta bene sulla bicicletta; quando fu lanciato sul mercato costava 1700$ e li valeva tutti.

Sul solito Sparkfun e altrove vedo dei piccoli ricevitori GPS che escono in TTL 5V, altri sono TTL 3.3V (il che mi lascerebbe libera la RS232 per il terminale); alcuni addirittura restituiscono cinque o dieci letture NMEA al secondo anziché una al secondo (ma averne tante è utile solo per gli UAV). Ho scoperto per caso che anche la protuberanza GPS della mia ricetrasmittente Yaesu VX8 usa un GPS del genere (piccolo come un cioccolatino); sono tentato di fare esperimenti con quest'ultimo, anche se col tester vedo che lì vi passano sia i 3V che i 3.3V (stranezze giapponesi: tensione differente tra alimentazione e porta seriale? boh), poiché non mi va di spendere 60-90$ per comprarne un altro.

Sempre da Sparkfun comprai l'IMU-6DOF (sistema inerziale a 6 gradi di libertà), che ha un accelerometro 3D, un giroscopio 3D (misura velocità angolari) ed un magnetometro 3D (che dovrebbe servire solo per "compensare") e può parlare su seriale TTL 3.3V o su Bluetooth. Purtroppo, nonostante sia vantato per "10 bit di risoluzione su ogni asse", sono in pratica affidabili solo i 4 o 5 più significativi; per ottenere veramente i 10 bit il calcolo sarebbe da demandare ad un Kalman filtering, faccenda matematica alquanto complessa, e che non ho ancora affrontato perché spero sempre di trovare qualcuno che lo abbia già sviluppato su misura di quel 6DOF. Con 4-5 bit di risoluzione utile (cioè tagliando via i bit meno significativi perché "rumorosi") ci si può fare un controller per videogames, ma non un flight attitude controller per un UAV.

A proposito di UAV, c'è in giro un sacco di gente che ha realizzato velivoli di tutti i tipi; quello che più mi ha convinto è il quadcopter svizzero (su moin.ch), che ha più di mezzo chilo di "carico pagante" al decollo. La Beaglebord è alquanto leggera e si presterebbe bene per progetti del genere; con tutta quella potenza di calcolo (e pure col DSP) non oso immaginare cosa si potrebbe combinare in tempo reale durante il volo (il problema di quegli arnesi è il peso, per grandissima parte batterie e motori); in tal caso servirà un kernel Linux con estensioni real-time (eh, chissà quando si decideranno ad assorbire nel kernel ufficiale le estensioni real-time).

Nessun commento:

Posta un commento