Medan vissa av oss använder våra telefoner för att kommunicera eller spela fantastiska spel, finns det de som tar vetenskap och fritid till nästa nivå. Mike Partain är en av dessa människor. Med hjälp av ett Lego NXT-robotkit utanför hyllan, en Motorola Droid och en hel hink med uppfinningsrikedom och smarts har Mike lagt till sensorer som robotikpaketet saknade - kamera, GPS och kompass. Tryck pausen för att läsa om det med Mike: s egna ord, en länk till källkoden (speciellt tack Mike!), Och ett par videor som ser olika vyer från Droid's oblinkande öga.
Vi nådde ut till Mike för lite förklaring om detta projekt, för ärligt talat behövde vi saker som kom ner till en nivå som vi kunde förstå lite bättre. Han var tillräckligt hjälpsam för att ge oss den nedgång, som är här i sin helhet.
En av mina önskemål hela tiden var att ha min egen robot. Och nu har Lego gjort att leka med robotar praktiskt med Lego NXT Robot-satser. Dessa satser följer Legos anda i och med att de är enkla, billiga och roliga att samla i flera olika hjul- och gångrobotar. Satserna inkluderar en hjärna som styr tre motorer och upp till fyra sensorer. Men det som saknades var en fjärrkamera, en kompass och en GPS. Ange Motorola Droid, eller mest alla Android-enheter för den delen. Eftersom Android-telefonen innehåller dessa avancerade sensorer, och är baserad på Java och open source, tänkte jag att det skulle vara en enkel fråga att "koppla" Droid upp till min dator och övervaka sensorerna sida vid sida med min Lego Robots-programvara. Jag var inte för långt borta. Jag kämpade några dagar med att räkna ut den kod som behövs för att avkoda förhandsgranskningsbilden, men allt annat gick ganska smidigt. I slutändan fick jag ett stort leende över ansiktet när min Lego-robot vågade ut över den stora vardagsrumsmattan, och jag kontrollerade det på distans från endast den bild jag kunde se på min datorskärm. Det är inte roboten från förlorat i rymden, men ändå, det kan öppna upp många unga sinnen i hur deras framtid kan se ut.
Jag bör notera att programvaran inte är "färdig" kvalitet. Det är ett bevis på koncept, och det fungerar. Jag kanske eller kanske aldrig förbättrar eller slutför det, så jag gör det tillgängligt som det är utan licens eller begränsningar (eller löften).
Det finns 3 programvarudelar;
Android-Java-koden (droidSense). Den här koden är en enkel TCP-server som tillhandahåller rå odekodad bilddata (från kameraförhandsvisning, sensordata och GPS-data till alla klienter.
Det fristående.Net-programmet (AssClient) som kommunicerar med Droid Java-servern, avkodar råbilddata och visar bilden, och rå sensor och GPS-data.
En Microsoft Robotics studio-tjänst (AndroidCameraService) som tillhandahåller en generisk WebCam-bild för användning av ett visuellt eller standard MRDS-program.
Java-stycket körs på Droid (det finns inget UI, det visar bara förhandsgranskningsytan medan du kör, använd 'force stop' för att döda den), och du kör sedan endera biten på datorn (jag har inte försökt köra dem båda samtidigt, men jag antar att det kan fungera).
Fantastisk sås just där. Här är filmerna Mike ingår:
Youtube-länk för StandAlone.wmv
YouTube-länk för AndroidCameraService.wmv
Och slutligen, om du har kunskapen och tiden, här är en länk till källkoden Mike var vänlig nog att ge. Tack igen Mike, detta är en av de coolaste sakerna någonsin!