0
$\begingroup$

Rosanswers logo

When trying to use openni_tracker with Kinect (Xbox-version) on Ubuntu 12.04 with Fuerte. I was getting the following error message:

[ERROR]: Find user generator failed: This operation is invalid!

I got to know more about what's happening in the backgound now. So the device is queried for a "User generator" which for NITE is XnVSkeletonGenerator. With niReg -l, you can list the available libraries and the OpenNI-nodes they enable. What looks a bit off is, that the OpenNI version is 1.5.2.23 and everything has that version except the libraries relevant for user tracking. Those are versioned as 1.3.0.17 and apparently compiled against OpenNI 1.0.0.22.

After installing the latest unstable "OpenNI Compliant Middleware Binaries" for Ubuntu 12.04 from openni.org, I have several library versions as shown below and the user_tracker works flawlessly. To make it work, don't remove nite-dev (now replaced with libopenni-nite-dev) but run the uninstall.sh from the downloaded archive before the install.sh so you won't break the dependency but replace the libraries.

I created a bug report for that issue so the above workaround hopefully gets obsolete.

Edit: As you can see from the comments (and I got it as well), this issue is also relevant in Groovy. The "nite-dev" dependency got replaced with "libopenni-nite-dev" and the basic OpenNI dependencies are now "libopenni-sensor-primesense-dev" and "libopenni-dev".

niReg -l output for the Fuerte/Precise openni-dev and nite-dev packages:

(...)
OpenNI version is 1.5.2.23
(...)
/usr/lib/libXnVFeatures.so (compiled with OpenNI 1.0.0.22):
    Scene: PrimeSense/XnVSceneAnalyzer/1.3.0.17
    User: PrimeSense/XnVSkeletonGenerator/1.3.0.17

/usr/lib/libXnVHandGenerator.so (compiled with OpenNI 1.0.0.22):
    Gesture: PrimeSense/XnVGestureGenrator/1.3.0.17
    Hands: PrimeSense/XnVHandTracker/1.3.0.17

niReg -l output for the Fuerte/Precise openni-dev and after applying workaround:

(...)
OpenNI version is 1.5.2.23
(...)    
/usr/lib/libXnVFeatures_1_3_0.so (compiled with OpenNI 1.0.0.22):
    Scene: PrimeSense/XnVSceneAnalyzer/1.3.0.17
    User: PrimeSense/XnVSkeletonGenerator/1.3.0.17

/usr/lib/libXnVFeatures_1_3_1.so (compiled with OpenNI 1.2.0.8):
    Scene: PrimeSense/XnVSceneAnalyzer/1.3.1.8
    User: PrimeSense/XnVSkeletonGenerator/1.3.1.8

/usr/lib/libXnVFeatures_1_4_1.so (compiled with OpenNI 1.3.2.3):
    Scene: PrimeSense/XnVSceneAnalyzer/1.4.1.2
    User: PrimeSense/XnVSkeletonGenerator/1.4.1.2

/usr/lib/libXnVFeatures_1_4_2.so (compiled with OpenNI 1.3.4.6):
    Scene: PrimeSense/XnVSceneAnalyzer/1.4.2.5
    User: PrimeSense/XnVSkeletonGenerator/1.4.2.5

/usr/lib/libXnVFeatures_1_5_2.so (compiled with OpenNI 1.5.4.0):
    Scene: PrimeSense/XnVSceneAnalyzer/1.5.2.21
    User: PrimeSense/XnVSkeletonGenerator/1.5.2.21

/usr/lib/libXnVHandGenerator_1_3_0.so (compiled with OpenNI 1.0.0.22):
    Gesture: PrimeSense/XnVGestureGenrator/1.3.0.17
    Hands: PrimeSense/XnVHandTracker/1.3.0.17

/usr/lib/libXnVHandGenerator_1_3_1.so (compiled with OpenNI 1.2.0.8):
    Gesture: PrimeSense/XnVGestureGenrator/1.3.1.8
    Hands: PrimeSense/XnVHandTracker/1.3.1.8

/usr/lib/libXnVHandGenerator_1_4_1.so (compiled with OpenNI 1.3.2.3):
    Gesture: PrimeSense/XnVGestureGenrator/1.4.1.2
    Hands: PrimeSense/XnVHandTracker/1.4.1.2

/usr/lib/libXnVHandGenerator_1_4_2.so (compiled with OpenNI 1.3.4.6):
    Gesture: PrimeSense/XnVGestureGenrator/1.4.2.5
    Hands: PrimeSense/XnVHandTracker/1.4.2.5

/usr/lib/libXnVHandGenerator_1_5_2.so (compiled with OpenNI 1.5.4.0):
    Gesture: PrimeSense/XnVGestureGenerator/1.5.2.21
    Hands: PrimeSense/XnVHandTracker/1.5.2.21

Originally posted by pgorczak on ROS Answers with karma: 446 on 2012-08-30

Post score: 18


Original comments

Comment by Mike Gao on 2012-09-02:
Thanks for your solution! I have followed your words, and also got the same lib registration info as yours shown above, but still I can not run the openni_tracker, this time the program just stucks without any progress until I have to stop it...

Comment by pgorczak on 2012-09-03:
Are you sure the camera is running? Try to have openni_launch openni.launch up at the time you run openni_tracker. If the camera is working properly, you should be able to see an image with image_view. If you walk around in front of it, openni_tracker should give output then.

Comment by Mike Gao on 2012-09-03:
Thanks for your reply! I have upgraded the whole lib, which means now not only nite but also openni is the latest unstable 1.5.4.0 version. I'm sure that the camera works properly using openni_launch and image_view to test, but I can not run the openni.launch and openni_tracker at the same time.

Comment by Mike Gao on 2012-09-03:
And when I run the openni_tracker alone, the program still stucks...

Comment by Mike Gao on 2012-09-03:
It seems that the solution works finally, thanks again!

Comment by bit-pirate on 2012-12-10:
Thanks, works like a charm now! :-)

Comment by niosus on 2012-12-14:
Thanks a lot! Works for me too.

Comment by bit-pirate on 2013-04-15:
I believe the download page has been moved to: http://www.openni.org/openni-sdk/openni-sdk-history-2/

Comment by thorin on 2013-10-29:
Hey Mike Gao, my node also got stuck. How did you solve this?

Comment by Mike Gao on 2013-12-10:
Hi, after having installed ros hydro, I do not have such problem anymore.

$\endgroup$

5 Answers 5

0
$\begingroup$

Rosanswers logo

Since openni.org site has changed recently. You should do the following to do as @pgorczak suggested.

You need to install the NiTE v1.5.2.21 middleware from:

www.openni.ru/openni-sdk/openni-sdk-history-2

Assuming you extracted the file to your Downloads directory, do the following:

cd ~/Downloads/NITE-Bin-Dev-Linux-x64-v1.5.2.21

sudo ./install.sh


Originally posted by isura with karma: 403 on 2013-01-13

This answer was ACCEPTED on the original site

Post score: 11


Original comments

Comment by Nash on 2013-03-06:
Thanks!, your suggestion of reinstalling Nite v1.5.2.21 worked!

Comment by ctguell on 2013-09-12:
I Did exactly what you suggestd but i still have the same problem, do you have any idea why?

Comment by isura on 2014-01-19:
Was your problem resolved @ctguell?

Comment by Gloria@HK on 2014-07-03:
I come across with the same problem with hydro,12.04. Now it works!! Thanks~

$\endgroup$
0
$\begingroup$

Rosanswers logo

This is an old issue, which has already been reported by someone: https://kforge.ros.org/openni/trac/ticket/53

but it seems it is still unsolved...:(

Or maybe someone has already found a way around?


Originally posted by Mike Gao with karma: 108 on 2012-08-30

This answer was NOT ACCEPTED on the original site

Post score: 2


Original comments

Comment by pgorczak on 2012-08-30:
I've also run into that ticket but I think there is some confusion between the "timeout" error and the "operation is invalid" one. Everyone getting the latter one is actually getting past the part where the timout error might occur. But still, I hope someone dealt with it already...

Comment by jarvisschultz on 2012-10-16:
I agree with @pgorczak, we don't necessarily know that the issues are related. That being said, installing the binaries from openni.org solved this problem for me as well. Sorry to comment on an old post, but I was still having this problem 6 weeks after the original posts.

$\endgroup$
0
$\begingroup$

Rosanswers logo

We released openni 1.5.4 into ROS which should fix the issues on Precise.


Originally posted by tfoote with karma: 58457 on 2013-01-13

This answer was NOT ACCEPTED on the original site

Post score: 2


Original comments

Comment by isura on 2013-01-14:
As of 01/13/2012 I still had to manually install the NiTE v1.5.2.21 middleware on 12.04. Should this have been included when I used apt to install ros-fuerte-openni-launch, ros-fuerte-openni-tracker and ros-fuerte-openni-kinect?

Comment by pgorczak on 2013-02-25:
Having the same issues here. "niReg -l" still lists libXnVFeatures.so and libXnVHandGenerator.so as "compiled with OpenNI 1.0.0.22" when installing ros-groovy-openni-tracker (so these come with the system dependency libopenni-nite-dev). For a listing of the output see Kel Guerin's post.

Comment by pyrobat on 2013-04-03:
As of posting, I still had to follow the instructions from isura to not get the error on Groovy Ubuntu 12.04

Comment by arturbp on 2013-04-04:
I still have to manually install NiTE as well, but when I symlink libXnVFeatures.so -> /usr/lib/libXnVFeatures_1_5_2.so and libXnVHandGenerator.so -> /usr/lib/libXnVHandGenerator_1_5_2.so I get random segfaults after user pose calibration

Comment by bit-pirate on 2013-04-16:
Since the troublemaker is not the OpenNI SDK, but Nite, we need to re-release the new version. I have created a new ticket for that: https://github.com/ros/rosdistro/issues/715.

Comment by isura on 2014-01-19:
Was this resolved @bit-pirate?

Comment by bit-pirate on 2014-01-21:
@isura Unfortunately no. Looks like there is no maintainer for the released Nite library package. Furthermore, Primesense - the developers of Nite - actually forbid rereleasing/redistributing Nite in their license. So, I don't know, if this every will be fixed.

$\endgroup$
0
$\begingroup$

Rosanswers logo

On precise, with a fresh install of ros-fuerte-desktop-full and ros-fuerte-openni-kinect, I still get this issue. I am running the latest ros openni_kinect version 1.5.4.0, I believe.

OpenNI version is 1.5.4.0.

Registered modules:

(compiled with OpenNI 1.5.4.0):
    Script: OpenNI/OpenNI/1.5.4.0
/usr/lib/libnimMockNodes.so.0 (compiled with OpenNI 1.5.4.0):
    ProductionNode: OpenNI/Mock/1.5.4.0
    Generator: OpenNI/Mock/1.5.4.0
    MapGenerator: OpenNI/Mock/1.5.4.0
    Device: OpenNI/Mock/1.5.4.0
    Depth: OpenNI/Mock/1.5.4.0
    IR: OpenNI/Mock/1.5.4.0
    Image: OpenNI/Mock/1.5.4.0
    Audio: OpenNI/Mock/1.5.4.0

/usr/lib/libnimCodecs.so.0 (compiled with OpenNI 1.5.4.0):
    Codec: OpenNI/16zP/1.5.4.0
    Codec: OpenNI/16zT/1.5.4.0
    Codec: OpenNI/Im8z/1.5.4.0
    Codec: OpenNI/JPEG/1.5.4.0
    Codec: OpenNI/NONE/1.5.4.0

/usr/lib/libnimRecorder.so.0 (compiled with OpenNI 1.5.4.0):
    Recorder: OpenNI/Recorder/1.5.4.0
    Player: OpenNI/Player/1.5.4.0

/usr/lib/libXnVFeatures.so (compiled with OpenNI 1.0.0.22):
    Scene: PrimeSense/XnVSceneAnalyzer/1.3.0.17
    User: PrimeSense/XnVSkeletonGenerator/1.3.0.17

/usr/lib/libXnVHandGenerator.so (compiled with OpenNI 1.0.0.22):
    Gesture: PrimeSense/XnVGestureGenrator/1.3.0.17
    Hands: PrimeSense/XnVHandTracker/1.3.0.17

/usr/lib/libXnDeviceSensorV2.so.0 (compiled with OpenNI 1.5.4.0):
    Device: PrimeSense/SensorV2/5.1.0.41
    Depth: PrimeSense/SensorV2/5.1.0.41
    Image: PrimeSense/SensorV2/5.1.0.41
    IR: PrimeSense/SensorV2/5.1.0.41
    Audio: PrimeSense/SensorV2/5.1.0.41

/usr/lib/libXnDeviceFile.so.0 (compiled with OpenNI 1.5.4.0):
    Player: PrimeSense/File/5.1.0.41

Since there is no longer an openni_tracker 'tracker.launch' file, if I run the executable directly out of the bin directory:

kel@malastare:/opt/ros/fuerte/stacks/openni_tracker/bin$ ./openni_tracker 
[ERROR] [1358379755.623919021]: Find user generator failed: This operation is invalid!
kel@malastare:/opt/ros/fuerte/stacks/openni_tracker/bin$ 

Thanks for the help!

-Kel

EDIT:

I just tried the workaround posted by isura above, and it worked fine. So, not sure what the problem is with the built in version of NITE.

Thanks all! -Kel


Originally posted by Kel Guerin with karma: 61 on 2013-01-16

This answer was NOT ACCEPTED on the original site

Post score: 1


Original comments

Comment by bit-pirate on 2013-04-06:
Please do not post comments and follow-up questions as answers! Thank you.

Comment by Zihan Chen on 2014-04-30:
Hi Kel. Help me out

$\endgroup$
0
$\begingroup$

Rosanswers logo

Does anyone have an archive download for NITE they could post somewhere?

As I'm sure you know, the openni.org site is no more, and the new site does not have it.

EDIT: FOUND IT! http://www.openni.ru/openni-sdk/openni-sdk-history-2/ Geesh, can't believe how long it took me to find that.


Originally posted by dtc214 with karma: 21 on 2014-05-30

This answer was NOT ACCEPTED on the original site

Post score: 2


Original comments

Comment by isura on 2014-06-06:
I saw this too late. Anyway here is a dropbox link of all the downloads I got before they shutdown: www.dropbox.com/sh/jsygeyx8dwa49w6/AAA-XmOWcz9svJBZQ_VKMS3ha

Nice find! I edited the answer.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.