OpenNI Not working

Hello,

I'm trying to control an arduino servo using kinect in MRL, but OpenNI won't work, here's what it says after i launch the openNI service : http://prntscr.com/5m6x8b

I've sent the noworky file.

Thanks in advance

 

GroG's picture

Hello and Welcome Herzeh ! We

Hello and Welcome Herzeh !

We like to use posts, so that others might  find their solutions on th site (the shoutbox is very temporary).

I can tell from the noWorky you posted - you are on a Windows 64 OS.  

The problem with SimpleOpenNI has to do with the legacy choice of putting the os in the native path directory, the size of SimpleOpenNI and the current state of the repo on GitHub...

I will be fixing all of those soon, but in the interim you can fix your situation by moving directories around to the following locations...

This is my current directory structure which works (I have a x86.64.windows system too)

 

DancesWithRobots's picture

Can you give us a little more info?

What OS are you using?  Can you cut and paste all the red error info from the Processing console?  "Unsatisfied link error" usuall means there's a missing file.

GroG's picture

Forgot to mention all the

Forgot to mention all the required files you need are located here :

https://github.com/MyRobotLab/repo/tree/master/com.googlecode.simpleopenni/1.96

You'll want the windows 64 bit version (not the 32) 

Herzeh's picture

Ok now the error message is

Ok now the error message is gone, am i supposed to see the kinect stream in MRL or no ? It says "initContext found 1 device" but there is no image.

Also always send a noWorky.. If it no worky

GroG's picture

Sounds like progress.. Did

Sounds like progress.. Did you press the capture button?

Herzeh's picture

Yeh sure i did, i also sent

Yeh sure i did, i also sent my no worky.

GroG's picture

Heh,:)  I'm too used to

Heh,

:)  I'm too used to starting it in the debugger... looks like the Swing capture button is borked..

I noticed you named your OpenNI service "ni" from your noWorky..

In that case just tab to the python and run this one line

ni.startUserTracking()

Gives me this on mine...

 
Oh, and if you jump in front of it .. a red skeleton my pop out ! :D
Herzeh's picture

Yeah when i

Yeah when i do ni.startUserTracking() it does same as you ;)

No skeleton shows up though :/

Alessandruino's picture

Hi..no Skeleton means no

Hi..no Skeleton means no NITE.

Download and unzip this folder inside the native files folder (libraries/native/x86.64windows ):

https://github.com/MyRobotLab/repo/blob/master/com.googlecode.simpleopen...

Herzeh's picture

I've already had that folder

I've already had that folder but still did what you said and there is no skeleton showing up. I'm using xbox 360 kinect if thats helps, but i managed to get skeleton showing up in processing.

Alessandruino's picture

Post a screenshot of your

Post a screenshot of your x86.64windows folder...

Herzeh's picture

http://prntscr.com/5my8o7

http://prntscr.com/5my8o7

Alessandruino's picture

Just to be sure :  1) install

Just to be sure : 

1) install Microsoft SDK 1.8 + Microsoft Kinect toolkit 1.8

2)Install OpenNI 2 (http://www.openni.ru/openni-sdk/index.html)

3) Install Nite 2 (http://www.openni.ru/files/nite/index.html)

GroG's picture

I've gotten this to work

I've gotten this to work before ...

Here's proof :)

http://myrobotlab.org/content/kinect-fun-publishing-skeleton-angles-servos-omoplate-bicep 

Herzeh's picture

Ok i found the issue. It's

Ok i found the issue. It's now working. The problem was that if you start the service from the runtime tab and then name it whatever (in my case 'ni') and then type in python : ni.startUserTracking(), it doesn't show skeleton, i've tried this several times.

The only way it shows skeleton is if you create/run the service from python like this :

ni = Runtime.createAndStart("ni", "OpenNI")
ni.startUserTracking()

Then the skeleton will show up ;)

Anyway thanks for the help and hope this bug gets fixed

GroG's picture

Cool, verified - it still

Cool, verified - it still works

Herzeh's picture

Hello,   I've tried

Hello,

 

I've tried installing the latest version of MRL on a windows 7 64bits, but this time i downloaded OpenNI 32bits folder instead of 64bits, so i've downloaded NITE2, SimpleOpenNI32.dll and the win32.zip and extracted that as i did with the 64 bits version, but the result ends up being this again : http://prntscr.com/5m6x8b

I've sent my NoWorky already.

GroG's picture

Hi Herzeh, step 1 - remove

Hi Herzeh,

step 1 - remove all Java 32 bit from your 64 bit computer..

step 2 - install Java 64 bit on your 64 bit computer..

step 3 - delete c:/users/(your profile name)/ .repo

step 4 - delete all mrl folders

step 5 - download and install mrl again

kwatters's picture

my libraries directory structure for openni (and others)

Here's a list of the files in my myrobotlab/libraries directory.  I haven't touched it in a while.. so I think it should be a proper list .. not all these files are open ni related.. but it should be a super set.
 

./native
./native/x86.64.windows
./native/x86.64.windows/j3dcore-ogl.dll
./native/x86.64.windows/jinput-dx8.dll
./native/x86.64.windows/jinput-dx8_64.dll
./native/x86.64.windows/jinput-raw.dll
./native/x86.64.windows/jinput-raw_64.dll
./native/x86.64.windows/lwjgl.dll
./native/x86.64.windows/lwjgl64.dll
./native/x86.64.windows/NiTE2
./native/x86.64.windows/NiTE2/Data
./native/x86.64.windows/NiTE2/Data/lbsdata.idx
./native/x86.64.windows/NiTE2/Data/lbsdata.lbd
./native/x86.64.windows/NiTE2/Data/lbsparam1.lbd
./native/x86.64.windows/NiTE2/Data/lbsparam2.lbd
./native/x86.64.windows/NiTE2/FeatureExtraction.ini
./native/x86.64.windows/NiTE2/h.dat
./native/x86.64.windows/NiTE2/HandAlgorithms.ini
./native/x86.64.windows/NiTE2/s.dat
./native/x86.64.windows/OpenAL32.dll
./native/x86.64.windows/OpenAL64.dll
./native/x86.64.windows/OpenNI.jni64.dll
./native/x86.64.windows/OpenNI64.dll
./native/x86.64.windows/org.OpenNI.jar
./native/x86.64.windows/rxtxParallel.dll
./native/x86.64.windows/rxtxParallel64.dll
./native/x86.64.windows/rxtxSerial.dll
./native/x86.64.windows/rxtxSerial64.dll
./native/x86.64.windows/SimpleOpenNI64.dll
./native/x86.64.windows/win64
./native/x86.64.windows/win64/hs_err_pid7176.log
./native/x86.64.windows/win64/NiTE.ini
./native/x86.64.windows/win64/NiTE2.dll
./native/x86.64.windows/win64/OpenNI.ini
./native/x86.64.windows/win64/OpenNI.jni64.dll
./native/x86.64.windows/win64/OpenNI2
./native/x86.64.windows/win64/OpenNI2/Drivers
./native/x86.64.windows/win64/OpenNI2/Drivers/Kinect.dll
./native/x86.64.windows/win64/OpenNI2/Drivers/OniFile.dll
./native/x86.64.windows/win64/OpenNI2/Drivers/PS1080.dll
./native/x86.64.windows/win64/OpenNI2/Drivers/PS1080.ini
./native/x86.64.windows/win64/OpenNI2/Drivers/PSLink.dll
./native/x86.64.windows/win64/OpenNI2/Drivers/PSLink.ini
./native/x86.64.windows/win64/OpenNI2.dll
./native/x86.64.windows/win64/OpenNI64.dll
./native/x86.64.windows/win64/rxtxParallel.dll
./native/x86.64.windows/win64/rxtxParallel64.dll
./native/x86.64.windows/win64/rxtxSerial.dll
./native/x86.64.windows/win64/rxtxSerial64.dll
./native/x86.64.windows/win64/SimpleOpenNI64.dll