0
$\begingroup$

Rosanswers logo

Hi,

Had an interesting one recently where we purchased two new Asus 'XTION Pro Live' cameras, and had them fail to work in ROS. Posting and answering my own question here, since I don't want anyone else to have to go through the 2hrs of troubleshooting we did.

Bad device has serial 
32101 - 1302250110
and sticker 
D3IWBDA18501

Good device has serial
3210 -1206070413
and sticker
C6IWBDA07705

I ran 'lsusb' to find the usb details for this device, and 'meld' to compare them to the old one, and it seems they have different USB endpoints available, and also different USB device IDs. The new device is ID 0601, and the old device is 0600.

After looking around it seems that the udev rules are set correctly to expect this variant:

turtlebot@bert:/opt/ros/groovy/share/openni_camera$ cat /lib/udev/rules.d/40-libopenni-sensor-primesense0.rules 
# PrimeSense Devices
SUBSYSTEM=="usb", ATTR{idProduct}=="0200", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0300", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0400", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0500", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0600", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0601", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"

<snip...>

Some other people had issues and suggested installing openni-sensor-primesense-bin or similar packages, (run 'sudo apt-get install openni-sensor-primesense-bin', and the latest one was 5.1.0.41, which people thought was necessary).

But that did not seem to help.


Originally posted by Gav on ROS Answers with karma: 478 on 2013-04-20

Post score: 6

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

The solution we came up with was to edit the file: /etc/openni/Globaldefauts.ini (make a backup first)

find the line UsbInterface and uncomment it to force it to use 'BULK' endpoints: UsbInterface=2

No idea if this is correct, but it worked in our case on two machines. It also seems to make sense if you consider the different USB endpoint options between the two models.

Hope this helps!


Originally posted by Gav with karma: 478 on 2013-04-20

This answer was ACCEPTED on the original site

Post score: 11


Original comments

Comment by ezex on 2013-08-30:
Thank you very much!!, you save me a lot of debugging time! really appreciate it. don exactly what you say: installed the latest openni drivers. and edited the config file. all good now.

Comment by hfb on 2014-04-14:
Be sure to reboot after you make the change. I didn't realize that and thought this didn't work at first but read it later (after a few days of troubleshooting) to find that it worked just fine.

Comment by karthik on 2014-09-20:
Thanks Gav! It helped a lot.

Comment by Swan Baigne on 2015-10-05:
Thanks you a lot for your answer, it worked for me too.

Comment by buckley.toby on 2017-11-01:
I'm launching two orbecc astra cameras with the same problem, and this solution fixed it for me too. Thanks!

$\endgroup$

Your Answer

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