ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
18

OpenNI/NITE incompatible in Fuerte/Groovy on Precise

asked 2012-08-30 04:39:40 -0500

pgorczak gravatar image

updated 2013-02-25 04:20:54 -0500

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 ...
(more)
edit retag flag offensive close merge delete

Comments

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...

Mike Gao gravatar image Mike Gao  ( 2012-09-02 23:59:36 -0500 )edit

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.

pgorczak gravatar image pgorczak  ( 2012-09-03 01:24:18 -0500 )edit

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.

Mike Gao gravatar image Mike Gao  ( 2012-09-03 04:06:22 -0500 )edit

And when I run the openni_tracker alone, the program still stucks...

Mike Gao gravatar image Mike Gao  ( 2012-09-03 04:10:18 -0500 )edit

It seems that the solution works finally, thanks again!

Mike Gao gravatar image Mike Gao  ( 2012-09-03 06:08:36 -0500 )edit

Thanks, works like a charm now! :-)

bit-pirate gravatar image bit-pirate  ( 2012-12-10 12:31:41 -0500 )edit

Thanks a lot! Works for me too.

niosus gravatar image niosus  ( 2012-12-14 01:35:54 -0500 )edit

I believe the download page has been moved to: http://www.openni.org/openni-sdk/openni-sdk-history-2/

bit-pirate gravatar image bit-pirate  ( 2013-04-15 23:59:34 -0500 )edit

7 Answers

Sort by » oldest newest most voted
11

answered 2013-01-13 14:37:41 -0500

isura gravatar image

updated 2014-06-06 03:04:07 -0500

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

edit flag offensive delete link more

Comments

1

Thanks!, your suggestion of reinstalling Nite v1.5.2.21 worked!

Nash gravatar image Nash  ( 2013-03-06 15:52:09 -0500 )edit

I Did exactly what you suggestd but i still have the same problem, do you have any idea why?

ctguell gravatar image ctguell  ( 2013-09-12 06:54:37 -0500 )edit

Was your problem resolved @ctguell?

isura gravatar image isura  ( 2014-01-19 10:53:37 -0500 )edit
1

I come across with the same problem with hydro,12.04. Now it works!! Thanks~

Gloria@HK gravatar image Gloria@HK  ( 2014-07-03 08:35:55 -0500 )edit
2

answered 2013-01-13 18:23:18 -0500

tfoote gravatar image

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

edit flag offensive delete link more

Comments

5

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?

isura gravatar image isura  ( 2013-01-14 04:19:20 -0500 )edit
1

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.

pgorczak gravatar image pgorczak  ( 2013-02-25 04:06:21 -0500 )edit

As of posting, I still had to follow the instructions from isura to not get the error on Groovy Ubuntu 12.04

pyrobat gravatar image pyrobat  ( 2013-04-03 16:39:29 -0500 )edit

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

arturbp gravatar image arturbp  ( 2013-04-04 12:42:48 -0500 )edit

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.

bit-pirate gravatar image bit-pirate  ( 2013-04-16 19:11:30 -0500 )edit

Was this resolved @bit-pirate?

isura gravatar image isura  ( 2014-01-19 10:51:19 -0500 )edit
1

@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.

bit-pirate gravatar image bit-pirate  ( 2014-01-21 12:31:41 -0500 )edit
2

answered 2014-05-30 08:18:44 -0500

dtc214 gravatar image

updated 2014-06-02 02:23:56 -0500

Procópio gravatar image

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/openn... Geesh, can't believe how long it took me to find that.

edit flag offensive delete link more

Comments

1

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.

isura gravatar image isura  ( 2014-06-06 03:01:12 -0500 )edit
2

answered 2012-08-30 05:18:02 -0500

Mike Gao gravatar image

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?

edit flag offensive delete link more

Comments

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...

pgorczak gravatar image pgorczak  ( 2012-08-30 23:07:48 -0500 )edit

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.

jarvisschultz gravatar image jarvisschultz  ( 2012-10-16 05:34:41 -0500 )edit
1

answered 2013-01-16 11:46:34 -0500

Kel Guerin gravatar image

updated 2013-01-16 12:06:44 -0500

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

edit flag offensive delete link more

Comments

Please do not post comments and follow-up questions as answers! Thank you.

bit-pirate gravatar image bit-pirate  ( 2013-04-06 00:16:12 -0500 )edit

Hi Kel. Help me out

Zihan Chen gravatar image Zihan Chen  ( 2014-04-30 10:57:44 -0500 )edit
0

answered 2014-02-19 03:24:41 -0500

Latif Anjum gravatar image

here is the output for my niReg -l. I have ros fuerte.

/usr/lib/libXnVFeatures_1_3_0.so      3398 WARNING    Failed loading lib: /usr/lib/libXnVFeatures_1_3_0.so: wrong ELF class: ELFCLASS64

     3412 WARNING    Failed to load '/usr/lib/libXnVFeatures_1_3_0.so' - missing dependencies?
/usr/lib/libXnVFeatures_1_3_1.so      3440 WARNING    Failed loading lib: /usr/lib/libXnVFeatures_1_3_1.so: wrong ELF class: ELFCLASS64

     3451 WARNING    Failed to load '/usr/lib/libXnVFeatures_1_3_1.so' - missing dependencies?
/usr/lib/libXnVFeatures_1_4_1.so      3475 WARNING    Failed loading lib: /usr/lib/libXnVFeatures_1_4_1.so: wrong ELF class: ELFCLASS64

     3485 WARNING    Failed to load '/usr/lib/libXnVFeatures_1_4_1.so' - missing dependencies?
/usr/lib/libXnVFeatures_1_4_2.so      3509 WARNING    Failed loading lib: /usr/lib/libXnVFeatures_1_4_2.so: wrong ELF class: ELFCLASS64

     3519 WARNING    Failed to load '/usr/lib/libXnVFeatures_1_4_2.so' - missing dependencies?
/usr/lib/libXnVFeatures_1_5_2.so      3544 WARNING    Failed loading lib: /usr/lib/libXnVFeatures_1_5_2.so: wrong ELF class: ELFCLASS64

     3555 WARNING    Failed to load '/usr/lib/libXnVFeatures_1_5_2.so' - missing dependencies?
/usr/lib/libXnVHandGenerator_1_3_0.so      3579 WARNING    Failed loading lib: /usr/lib/libXnVHandGenerator_1_3_0.so: wrong ELF class: ELFCLASS64

     3589 WARNING    Failed to load '/usr/lib/libXnVHandGenerator_1_3_0.so' - missing dependencies?
/usr/lib/libXnVHandGenerator_1_3_1.so      3613 WARNING    Failed loading lib: /usr/lib/libXnVHandGenerator_1_3_1.so: wrong ELF class: ELFCLASS64

     3623 WARNING    Failed to load '/usr/lib/libXnVHandGenerator_1_3_1.so' - missing dependencies?
/usr/lib/libXnVHandGenerator_1_4_1.so      3647 WARNING    Failed loading lib: /usr/lib/libXnVHandGenerator_1_4_1.so: wrong ELF class: ELFCLASS64

     3657 WARNING    Failed to load '/usr/lib/libXnVHandGenerator_1_4_1.so' - missing dependencies?
/usr/lib/libXnVHandGenerator_1_4_2.so      3681 WARNING    Failed loading lib: /usr/lib/libXnVHandGenerator_1_4_2.so: wrong ELF class: ELFCLASS64

     3691 WARNING    Failed to load '/usr/lib/libXnVHandGenerator_1_4_2.so' - missing dependencies?
/usr/lib/libXnVHandGenerator_1_5_2.so      3715 WARNING    Failed loading lib: /usr/lib/libXnVHandGenerator_1_5_2.so: wrong ELF class: ELFCLASS64

     3726 WARNING    Failed to load '/usr/lib/libXnVHandGenerator_1_5_2.so' - missing dependencies?

Any clues to what I am doing wrong?

edit flag offensive delete link more

Comments

Do you still have this problem?

isura gravatar image isura  ( 2014-04-26 15:47:05 -0500 )edit
0

answered 2015-02-12 10:07:56 -0500

I am using ROS Hydro on Ubuntu 12.04 with a Microsoft Kinect. From top to bottom, this is what worked for me:

sudo apt-get install ros-<ros_distro>-openni-camera
sudo apt-get install ros-<ros_distro>-openni-launch
sudo apt-get install ros-<ros_distro>-openni-tracker

Go to this Dropbox from isura (Thanks) and download NITE-Bin-Linux-x64-v1.5.2.23.tar.zip. Extract the zip and tar into a temporary folder (i.e., ~/tmp).

cd ~/tmp/NITE-Bin-Dev-Linux-x64-v1.5.2.23/
sudo ./install.sh

Ensure your Microsoft Kinect is properly connected, then run:

roslaunch openni_launch openni_launch camera:=openni

In a separate terminal window run:

rosrun openni_tracker openni_tracker

In another terminal window run:

rosrun rviz rviz

In Rviz, change Global Options > Fixed Frame to openni_depth_optical_frame.

"Add" the visualization (bottom left) PointCloud2.

Change PointCloud2 >Topic to /openni/depth_registered/points (but whatever you pick works).

"Add" the visualization (bottom left) TF.

Stand in front of the Microsoft Kinect and make the "Psi Pose". Axes should appear on all your joints.

I hope this helps you. There are a lot of different versions of NITE out there and this is the one that happened to work for me.

edit flag offensive delete link more

Question Tools

2 followers

Stats

Asked: 2012-08-30 04:39:40 -0500

Seen: 12,146 times

Last updated: Feb 12 '15