0
$\begingroup$

Rosanswers logo

Hi,

I'm trying to use a Microsoft Kinect with openni_launch but it does not seem to works when I activate the depth registration.

Depending on the ROS version I use, it works... or not !

I have 3 configurations :

  • First one (depth registration works and output the correct point cloud) :

Ubuntu 11.04 / ROS-electric

joffrey@joffrey-laptop:~$ ls -lh /dev/bus/usb/002
total 0
crw-rw-r-- 1 root root  189, 128 2013-02-10 16:46 001
crw-rw-r-- 1 root root  189, 129 2013-02-10 16:46 002
crw-rw-rw- 1 root video 189, 130 2013-02-10 16:46 003
crw-rw-rw- 1 root video 189, 131 2013-02-10 16:46 004
crw-rw-rw- 1 root video 189, 132 2013-02-10 16:47 005

Then I launch the openni_launch :

[ INFO] [1360511347.490430446]: Number devices connected: 1
[ INFO] [1360511347.490702621]: 1. device on bus 002:05 is a Xbox NUI Camera (2ae) from Microsoft (45e) with serial id 'A00365A11502110A'
[ INFO] [1360511347.491936313]: Searching for device with index = 1
[ INFO] [1360511347.558953638]: Opened 'Xbox NUI Camera' on bus 2:5 with serial number 'A00365A11502110A'
[ INFO] [1360511347.580108921]: rgb_frame_id = '/camera_rgb_optical_frame'
[ INFO] [1360511347.580986069]: depth_frame_id = '/camera_depth_optical_frame' 
  • Second one (depth registration does not works and only output a no-corrected pointCloud) :

Ubuntu 12.04 / ROS-fuerte

jbot@jbot-computer:~$ ls -lh /dev/bus/usb/001
total 0
crw-rw-r-- 1 root root  189, 0 Feb 11 20:23 001
crw-rw-r-- 1 root root  189, 1 Feb 11 20:23 002
crw-rw-rw- 1 root video 189, 3 Feb 11 20:23 004
crw-rw-rw- 1 root audio 189, 4 Feb 11 20:23 005
crw-rw-rw- 1 root video 189, 5 Feb 11 20:23 006

Then I launch the openni_launch :

[ INFO] [1360610712.386774453]: Number devices connected: 1
[ INFO] [1360610712.387187736]: 1. device on bus 001:06 is a Xbox NUI Camera (2ae) from Microsoft (45e) with serial id 'A00365A11502110A'
[ INFO] [1360610712.388781935]: Searching for device with index = 1
[ INFO] [1360610712.457443795]: Opened 'Xbox NUI Camera' on bus 1:6 with serial number 'A00365A11502110A'
[ INFO] [1360610712.515264262]: rgb_frame_id = '/camera_rgb_optical_frame'
[ INFO] [1360610712.515401560]: depth_frame_id = '/camera_depth_optical_frame' 
  • Third one (depth registration does not works and only output a no-corrected pointCloud) :

Ubuntu 12.04 / ROS-groovy

jbot@jbot-carole:~$ ls -lh /dev/bus/usb/001
total 0
crw-rw-r-- 1 root root  189, 0 Feb 11 21:18 001
crw-rw-r-- 1 root root  189, 1 Feb 11 21:18 002
crw-rw-r-- 1 root root  189, 2 Feb 11 21:18 003
crw-rw-r-- 1 root root  189, 3 Feb 11 21:20 004
crw-rw-rw- 1 root video 189, 4 Feb 11 21:20 005
crw-rw-rw- 1 root audio 189, 5 Feb 11 21:20 006
crw-rw-rw- 1 root video 189, 6 Feb 11 21:20 007

Then I launch the openni_launch :

[ INFO] [1360614100.569994039]: Number devices connected: 1
[ INFO] [1360614100.570205756]: 1. device on bus 001:07 is a Xbox NUI Camera (2ae) from Microsoft (45e) with serial id 'A00365A11502110A'
[ INFO] [1360614100.571850761]: Searching for device with index = 1
[ INFO] [1360614100.620895093]: Opened 'Xbox NUI Camera' on bus 1:7 with serial number 'A00365A11502110A'
[ INFO] [1360614100.650978646]: rgb_frame_id = '/camera_rgb_optical_frame'
[ INFO] [1360614100.651110359]: depth_frame_id = '/camera_depth_optical_frame' 

So, the first version (on the old ROS) works well, when I activate the registration, the point cloud change and become correct.

The last two versions only output a non-corrected point cloud ( With the registration off, I can view the XYZRGB Pointclouds in rviz and access the "/camera/depth_registered/points" topic BUT the RGB is misaligned with the distance. ) and when I activate the registration, nothing is outputed anymore.

The only difference I see between First and Second/Third is on the LS command. We can see 3 video devices for the first, and 2 video device and 1 audio device for the second/third.

Does anyone experienced the same troubles ?

Thanks in advance for your advices. Jbot


Originally posted by Jbot on ROS Answers with karma: 429 on 2013-02-11

Post score: 0


Original comments

Comment by Stephane.M on 2013-02-12:
How do you launch your openni ? Do you use the option "depth_registration:=true" in Groovy ? What version of NITE do you use ?

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

You should precise the exact commands you used for each one.

In Electric, even if you did just launch openni.launch, you were able to visualize some XYZRGB, with a bad registration, but still you had something. Activating it was just allowing you to have a better registration.

I can't say anything in Fuerte, I don't use it.

However, I can confirm that in Groovy (Ubuntu 12.10 and NITE 1.5.2.21) the depth_registration is false by default, thus preventing completely from visualizing XYZRGB. In order to launch it "automatically", use the following command :

roslaunch openni_launch openni.launch depth_registration:=true

I think your problem come from the NITE. Indeed, I experienced similar problems when I was using the last NITE under Groovy : I saw that I was not able to have any RGB information from the kinect (try in Rviz).

In order to solve it :

  1. got to http://www.openni.org/openni-sdk/openni-sdk-history-2/
  2. Download NITE 1.5.2.21
  3. "Unzip"
  4. "Ungz"
  5. Launch the uninstall script first !
  6. Launch the install script

It should work after that... Let me know !


Originally posted by Stephane.M with karma: 1304 on 2013-02-12

This answer was ACCEPTED on the original site

Post score: 2


Original comments

Comment by KevinNickels on 2013-10-01:
This didn't work for me with Groovy, Ubuntu 12.04, and NITE 1.5.2.21. The topic is either present and unregistered, or missing. Do we need to do something else to point openni at the new NITE? When I ran the uninstall, it didn't find /usr/lib/libXn*so that it was trying to remove.

$\endgroup$

Your Answer

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