Mentre alcuni di noi usano i nostri telefoni per comunicare o giocare a giochi fantastici, c'è chi porta la scienza e il tempo libero a un livello superiore. Mike Partain è una di quelle persone. Usando un kit robotico Lego NXT standard, un Motorola Droid e un sacco di ingegnosità e intelligenza, Mike ha aggiunto sensori che mancavano al kit robotico: fotocamera, GPS e bussola. Colpisci la pausa per leggerlo nelle parole di Mike, un link al codice sorgente (ringraziamenti speciali Mike!) E un paio di video che vedono punti di vista diversi dall'occhio scontroso del Droid.
Abbiamo contattato Mike per una spiegazione di questo progetto, perché francamente, avevamo bisogno che le cose fossero ridotte a un livello che potremmo capire un po 'meglio. È stato abbastanza utile da darci il punto più basso, che è qui nella sua interezza.
Uno dei miei desideri di tutti i tempi era avere il mio robot personale. E ora, Lego ha reso pratico giocare con i robot con i kit Lego NXT Robot. Questi kit seguono lo spirito di Legos in quanto sono facili, economici e divertenti da assemblare in più varietà di robot su ruote e ambulanti. I kit includono un cervello che controlla tre motori e fino a 4 sensori. Ma mancava una videocamera remota, una bussola e un GPS. Inserisci Motorola Droid o la maggior parte dei dispositivi Android. Dato che il telefono Android contiene questi sensori avanzati, basato su Java e open source, ho pensato che sarebbe stato semplice "collegare" il Droid al mio computer e monitorarne i sensori fianco a fianco con il mio software Lego Robots. Non ero troppo lontano. Ho lottato qualche giorno per elaborare il codice necessario per decodificare l'immagine di anteprima della fotocamera, ma tutto il resto è andato abbastanza bene. Alla fine, ho avuto un enorme sorriso sul mio viso mentre il mio robot Lego si avventurava attraverso il vasto tappeto del soggiorno, con me che lo controllavo da remoto solo dall'immagine che potevo vedere sullo schermo del mio computer. Non è il robot che si perde nello spazio, ma ciò nonostante può aprire molte giovani menti a come potrebbe apparire il loro futuro.
Devo notare che il software non è di qualità "finita". È una prova del concetto e funziona. Potrei o non potrò mai migliorarlo o completarlo, quindi lo sto rendendo disponibile così com'è senza licenza o restrizioni (o promesse).
Ci sono 3 pezzi di software;
Il codice Java Android (droidSense). Questo codice è un semplice server TCP che fornisce dati di immagine grezzi non decodificati (dall'anteprima della fotocamera, dati del sensore e dati GPS a qualsiasi client.
Il programma.Net stand-alone (AssClient) che comunica con il server Droid Java, decodifica i dati di immagine grezzi e visualizza l'immagine, i dati di sensore e GPS non elaborati.
Un servizio di studio Microsoft Robotics (AndroidCameraService) che fornisce un'immagine WebCam generica da utilizzare con un programma MRDS visivo o standard.
Il pezzo Java gira sul Droid (non c'è UI, mostra solo la superficie di anteprima mentre è in esecuzione, usa 'force stop' per ucciderlo), e poi esegui uno dei pezzi sul PC (non ho provato a eseguirli entrambi allo stesso tempo, ma suppongo che potrebbe funzionare).
Salsa fantastica proprio lì. Ecco i video inclusi da Mike:
Link Youtube per StandAlone.wmv
Link YouTube per AndroidCameraService.wmv
E infine, se hai il know-how e il tempo, ecco un link al codice sorgente che Mike è stato così gentile da fornire. Grazie ancora Mike, questa è una delle cose più belle di sempre!