jueves, 16 de diciembre de 2010

Avances en la compilación de OpenNI en Mac OS X.

Luego de la liberación de los drivers open source del Kinect de la empresa PrimeSense, estos se encontraban disponibles para Windows y Ubuntu, con esta idea en mente un programador, Diederick, inició un nuevo proyecto para portar estos drivers a Mac.

Como podemos ver en la discusión, Hiv Zendel de PrimeSense (el estudio israelí encargado del proyecto Natal) se interesó por el proyecto de Diederick e iniciaron una plática en irc. Luego de esta plática al parecer hubo avances y el día de ayer (14/dic/2010) Diederick publica en su blog algunas instrucciones para empezar a descargar el código de OpenNI y el sistema de compilación portado para probar dicho sistema de compilación en Mac.

Aquí el blog de Diederick con las instrucciones para bajar y probar el sistema de compilado hecho con cmake.

Básicamente hay que hacer lo siguiente:


  1. mkdir roxlu_openni
  2. cd roxlu_openni
  3. git clone https://github.com/roxlu/OpenNI.git .
  4. # on Mac
  5. cd Platform/Mac/Bin/Release
  6. ./build_release.sh
  7. make
  8. make install
  9. ./Sample-NiAudioSample


He estado probando a compilar el còdigo y sólo he tenido que instalar el cmake disponible aquí. Luego de instalar cmake también tuve que compilar e instalar la versión 8 de las bibliotecas de ljpeg cuyo código fuente se encuentra aquí.

Compilando la biblioteca ljpeg:

Compilar las bibliotecas ljpeg no ha sido muy complicado siguiendo las instrucciones de este blog. Básicamente consiste en bajar el código fuente, descomprimir, colocarnos a la altura de la carpeta descomprimida y ejecutar las siguientes líneas en una terminal:


cp /usr/share/libtool/config/config.sub .

cp /usr/share/libtool/config/config.guess .

./configure --enable-shared --enable-static

make
sudo make install
/usr/local/lib/libjpeg.a

sudo ranlib


Notarán que en la Mac que tengo, cambia un poco la ruta donde encontramos el config.sub y el config.guess de lo mostrado en el blog de DZones y Peter Cooper.

Una vez instalado el cmake y la biblioteca ljpeg el código de la página de Diederick compiló bien, el problema es que cuando ejecuto la línea ./Sample-NiAudioSample me lanza el siguiente mensaje de error:


   27273 [INFO] OpenNI version is 1.0.0 (Build 23)-Mac (Dec 15 2010 23:46:19)
   27354 [INFO] Log system initialized. Console: 1, File: 1, Severity: VERBOSE, Masks: ALL
   27389 [INFO] Log system initialized. Console: 1, File: 1, Severity: VERBOSE, Masks: ALL
Open failed: OpenNI library can't find any module!


Al parecer no tengo instalado un módulo con el que se pueda probar el OpenNI, la buena noticia es que el día de hoy en el mismo blog de Diederick publicó que ha terminado el port del código del SensorKinect, que espero poder probar a compilar el día de mañana.

Al parecer queda poco para poder utilizar los drivers OpenNI en Mac, mientras tanto seguiremos al pendiente.

2 comentarios:

  1. Gracias por la información, funciona pero todavía no he puesto a funcionar el modulo NITE en mac

    en el sensorkinect de Roxlu viene una carpeta NITE/DATA con unos xml pero no se como utilizarlos. Supongo que todavía no está para mac.

    ResponderEliminar
  2. Hola.
    Que bueno que te ayudó la información. =)
    Lo de NITE ayer estaba viendo en el blog de roxlu que aún no está funcionando, pero efectivamente la compilación de OpenNI y SensorKinect a mi también me compilaron.
    Lo malo es que el Kinect que tengo no tiene entrada usb y espero este fin de semana conseguir el adaptador usb. \m/
    Espero hayas podido probar a conectar el kinect e tu mac. =)
    Saludos.

    ResponderEliminar