Difference between revisions of "KINECT"
Jump to navigation
Jump to search
Jgvictores (talk | contribs) |
|||
(35 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | == | + | ==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. | ||
+ | |||
+ | == Enlaces de Interés == | ||
+ | A Julio de 2012, las mejores opciones para manejar la Kinect son: | ||
+ | * OpenNI http://www.openni.org/ (tres componentes): | ||
+ | ** OpenNI en sí. Se puede bajar desde http://www.openni.org/ -> Downloads -> OpenNI Modules -> OpenNI Binaries ( o compliar la fuente disponible en https://github.com/OpenNI/OpenNI.git ) | ||
+ | ** OpenNI Compliant Middleware (incluye NITE para tracking de esqueletos). Se puede bajar desde http://www.openni.org/ -> Downloads -> OpenNI Modules -> OpenNI Compliant Middleware Binaries | ||
+ | ** OpenNI Compliant Hardware Binaries (los "drivers" para hardware específico). El "driver" para PC para la Kinect de la XBOX se llama "SensorKinect" y debe bajarse del repositorio https://github.com/avin2/SensorKinect.git (mediante el comando "git clone https://github.com/avin2/SensorKinect.git"). También conservamos una copia en https://asrob.svn.sourceforge.net/svnroot/asrob/ecro/software/contrib/pendant/kinect/SensorKinect. | ||
+ | * Kinect SDK http://www.microsoft.com/en-us/kinectforwindows/develop/developer-downloads.aspx (si no te importa usar Visual Studio 2010 y Windows en general) | ||
+ | Con OpenNI instalado, puede utilizarse con: | ||
+ | * Point Cloud Library http://pointclouds.org/ | ||
+ | * YARP http://eris.liralab.it/yarpdoc/ (''yarpdev --device KinectDeviceLocal --noMirror --portPrefix /kinect --verbose'') | ||
+ | |||
+ | == Más Enlaces de Interés == | ||
+ | *Un proyecto de interés para [[UAVs]], utiliza kinect, AscTec, PCL, y ROS en general: [http://www.youtube.com/watch?v=eWmVrfjDCyw&hd=1 Starmac project] | ||
+ | |||
+ | *[http://www.mrpt.org/Kinect_and_MRPT MRPT proyect]. SLAM via Kinect en la Universidad de Malaga: [http://mrpt.googlecode.com/svn/trunk/apps/kinect-3d-slam/kinect-3d-slam_main.cpp Ejemplo de programa] | ||
+ | |||
+ | *Work regarding ECRO and Kinect: [http://asrob.uc3m.es/images/e/ed/Sm_teleoperation.pdf Smorante] | ||
+ | |||
+ | ---- | ||
+ | Nota: Antiguamente utilizábamos la cámara estereográfica [[MINORU]] | ||
+ | |||
+ | <!-- | ||
+ | =================================================================================================== | ||
+ | === NOTA: A partir de está línea todo está como comentario por tratarse de información obsoleta === | ||
+ | =================================================================================================== | ||
+ | ==Libfreenect== | ||
=== Instalación de paquete de Ubuntu === | === 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: | |
− | + | *https://launchpad.net/~arne-alamut/+archive/freenect | |
+ | |||
+ | 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 | $ 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 | $ 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 | |
− | sudo apt-get install libusb-1.0-0-dev libxmu3-dev freeglut3-dev | + | $ git clone https://github.com/OpenKinect/libfreenect.git |
− | 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''. | 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: | Para compilar: | ||
− | cd libfreenect; mkdir build; cd build; cmake ..; make -j3; sudo make install | + | $ cd libfreenect; mkdir build; cd build; cmake ..; make -j3; sudo make install |
Para una demo básica: | Para una demo básica: | ||
− | sudo bin/cppview | + | $ sudo bin/cppview |
Para una demo básica con visualizador 3d de nubes de puntos: | Para una demo básica con visualizador 3d de nubes de puntos: | ||
− | sudo bin/glpclview | + | $ sudo bin/glpclview |
− | |||
− | |||
− | |||
− | |||
+ | *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 | ||
− | + | *Un proyecto interesante, que utiliza '''libfreenect''' es el que lleva: [http://nicolas.burrus.name/index.php/Research/KinectRgbDemoV4 Nicolas Burrus KinectRgbDemoV4] | |
− | |||
− | |||
+ | *Unos ejemplos mínimos de tracking (1GL) color/profundidad utilizando '''KinectRgbDemoV4''': | ||
+ | svn co https://asrob.svn.sourceforge.net/svnroot/asrob/ecro/software/contrib/pendant/kinect/ | ||
− | -- | + | =================================================================================================== |
− | + | --> |
Latest revision as of 19:04, 12 December 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.
Enlaces de Interés
A Julio de 2012, las mejores opciones para manejar la Kinect son:
- OpenNI http://www.openni.org/ (tres componentes):
- OpenNI en sí. Se puede bajar desde http://www.openni.org/ -> Downloads -> OpenNI Modules -> OpenNI Binaries ( o compliar la fuente disponible en https://github.com/OpenNI/OpenNI.git )
- OpenNI Compliant Middleware (incluye NITE para tracking de esqueletos). Se puede bajar desde http://www.openni.org/ -> Downloads -> OpenNI Modules -> OpenNI Compliant Middleware Binaries
- OpenNI Compliant Hardware Binaries (los "drivers" para hardware específico). El "driver" para PC para la Kinect de la XBOX se llama "SensorKinect" y debe bajarse del repositorio https://github.com/avin2/SensorKinect.git (mediante el comando "git clone https://github.com/avin2/SensorKinect.git"). También conservamos una copia en https://asrob.svn.sourceforge.net/svnroot/asrob/ecro/software/contrib/pendant/kinect/SensorKinect.
- Kinect SDK http://www.microsoft.com/en-us/kinectforwindows/develop/developer-downloads.aspx (si no te importa usar Visual Studio 2010 y Windows en general)
Con OpenNI instalado, puede utilizarse con:
- Point Cloud Library http://pointclouds.org/
- YARP http://eris.liralab.it/yarpdoc/ (yarpdev --device KinectDeviceLocal --noMirror --portPrefix /kinect --verbose)
Más Enlaces de Interés
- Un proyecto de interés para UAVs, utiliza kinect, AscTec, PCL, y ROS en general: Starmac project
- MRPT proyect. SLAM via Kinect en la Universidad de Malaga: Ejemplo de programa
- Work regarding ECRO and Kinect: Smorante
Nota: Antiguamente utilizábamos la cámara estereográfica MINORU