Kinect hackat på tre timmar – öppnar för robotutvecklare

Kinects båda kameror körs under Linux. Foto: Youtube

Microsofts innovativa rörelsestyrningstillbehör Kinect (tidigare Natal) till spelkonsolen XBOX 360 har nu hackats, efter att företaget Adafruit Industries utlyst en tävling med en belöning på $3.000 (c:a 21.000 SEK) för den som först lyckas ta fram öppna drivrutiner för Kinect.

Hector ”marcan” Martin heter personen som lyckats hacka sin Kinectenhet bara tre timmar efter Europalanseringen, då han köpte sitt exemplar. Han har nu släppt en video på Youtube som visar hur han läser av de båda Kinectkamerorna (en vanlig RGB-kamera och en för djupseende) som körs under Linux i ett OpenGL-fönster, då han inte ens äger en XBOX 360.

Detta är mycket goda nyheter för robotutvecklare, då man nu får tillgång till billig hårdvara (runt 1.300 kr i Sverige) som både har en kamera som fungerar bra i mörker, samt ytterligare en kamera som kan skilja objekt från bakgrunden, samt bedöma dess avstånd från kameran, något som normalt är mycket komplicerat för robotars optiska sensorer.

Tusentals osynliga IR-ljuspunkter

Videos som florerar på Youtube, där folk filmat Kinect med mörkerläge på kameran, avslöjar att enheten lyser upp omgivningen med tusentals små infraröda punkter, vilket närmast för tankarna till ett av de första X-files-avsnitten med stora svärmar av grönlysande ”löss” som bara syntes i mörkret och satt över hela rummet. Gissningsvis läser kameran av position och storlek på dessa ljuspunkter varefter det blir möjligt att få djupseende och avläsa konturerna på t.ex människor framför kameran. Se videon nedan i 1080p så syns IR-prickarna tydligt.

Mycket jobb återstår dock ännu, men hacket av Kinect-enheten är ett så kallat proof-of-concept som visar att det faktiskt fungerar. Bland annat återstår att hacka ljudchippet i Kinect, som bearbetar inkommande ljud via mikrofonen. Kinect har en så kallad multi-array-mikrofon, vilket gör det möjligt att filtrera ut enskilda röster, trots att det är flera personer i ett rum som dessutom står flera meter ifrån mikrofonen. Även det något som skulle kunna komma väl till pass i en robot som på något vis ska interagera med människor.

Ljudchippet, som är från Marvell, kräver en firmware och ytterligare initiering innan det kan användas med öppna drivrutiner. Samma krets utför en mängd saker, enligt ”Marcan”. Bland annat kryperingsautentisering som ska verifiera äktheten i Kinectenheten.

Opensource-drivrutinerna för att styra Kinect via Linux heter libfreenect och går att ladda ner från nätet.

Tidigare har även Adafruit hackat motorstyrningen som vinklar Kinectkameran i höjdled.

Diskutera ämnet på Robotforum.nu.