OpenNI/NITE incompatible in Fuerte/Groovy on Precise
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 ...
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...
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.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.
And when I run the openni_tracker alone, the program still stucks...
It seems that the solution works finally, thanks again!
Thanks, works like a charm now! :-)
Thanks a lot! Works for me too.
I believe the download page has been moved to: http://www.openni.org/openni-sdk/openni-sdk-history-2/