Difference between revisions of "KINECT"

From Asociación de Robótica UC3M
Jump to navigation Jump to search
Line 47: Line 47:
 
== Enlaces de Interés ==
 
== Enlaces de Interés ==
 
*Unos ejemplos mínimos utilizando solamente '''libfreenect''' (incluido demo ''cppview'' que compila independientemente) en:
 
*Unos ejemplos mínimos utilizando solamente '''libfreenect''' (incluido demo ''cppview'' que compila independientemente) en:
  svn co https://roboticslab.svn.sourceforge.net/svnroot/roboticslab/examples/libfreenect
+
  svn co https://roboticslab.svn.sourceforge.net/svnroot/roboticslab/example/libfreenect
  
 
*Un proyecto interesante, que utiliza '''libfreenect''' es el que lleva: [http://nicolas.burrus.name/index.php/Research/KinectRgbDemoV4 Nicolas Burrus KinectRgbDemoV4]
 
*Un proyecto interesante, que utiliza '''libfreenect''' es el que lleva: [http://nicolas.burrus.name/index.php/Research/KinectRgbDemoV4 Nicolas Burrus KinectRgbDemoV4]

Revision as of 16:06, 22 March 2012

Alimentación Kinect

Una vez cortado el cable de alimentacion deducimos:

  • Marrón: Positivo
  • Blanco: Negativo

El sistema de alimentacion externo funciona con 12 v , 0.3 A

Sensores de profundidad

Los sensores de profundidad dan resultados erróneos en el modo pixel a pixel. Por ello se ha decidido utilizar matrices (nubes, conjuntos) de puntos y se utiliza la profundidad media entre ellos para determinar la distancia "real" del objeto más cercano. Por otro lado la distancia mínima que puede detectar el sensor son 50 cms. luego para elaborar el algoritmo se tiene que tener en cuenta este hecho.

Libfreenect

Instalación de paquete de Ubuntu

Un launchpad ppa (Personal Package Archives, tambien llamado repositorio) para Ubuntu Lucid (10.04) y Maverick (10.10) está disponible en:

Para usarlo, abre una consola y ejecuta (es decir, copia y pega el siguiente código en la terminal de linux, sin $):

$ sudo add-apt-repository ppa:arne-alamut/freenect

Resincroniza la lista de paquetes desde el repositorio (esto agrega los paquetes del repositorio que acabamos de añadir a nuestro ordenador):

$ sudo apt-get update

Después de esto, tienes que instalar el paquete freenect. Puedes hacerlo desde la terminal (con el código que te propongo), desde Synaptic (búscalo en Sistema/Administracion) o desde el moderno centro de software de ubuntu (en aplicaciones):

$ sudo apt-get install freenect

Instalación desde código fuente

Codigo para terminal:

$ sudo apt-get install libusb-1.0-0-dev libxmu3-dev freeglut3-dev
$ git clone https://github.com/OpenKinect/libfreenect.git

En la línea de sudo apt-get install es posible que exista libxmu-dev en lugar de libxmu3-dev. Otra posible dependencia es libglut3-dev.

Para compilar:

$ cd libfreenect; mkdir build; cd build; cmake ..; make -j3; sudo make install

Para una demo básica:

$ sudo bin/cppview

Para una demo básica con visualizador 3d de nubes de puntos:

$ sudo bin/glpclview


Enlaces de Interés

  • Unos ejemplos mínimos utilizando solamente libfreenect (incluido demo cppview que compila independientemente) en:
svn co https://roboticslab.svn.sourceforge.net/svnroot/roboticslab/example/libfreenect
  • Unos ejemplos mínimos de tracking (1GL) color/profundidad utilizando KinectRgbDemoV4:
svn co https://asrob.svn.sourceforge.net/svnroot/asrob/ecro/software/src/kinect


  • Un proyecto de interés para UAVs, utiliza kinect, AscTec, PCL, y ROS en general: Starmac project



Nota: Antiguamente utilizábamos la cámara estereográfica MINORU