0
$\begingroup$

Rosanswers logo

[ROS Fuerte, Ubuntu Lucid]

Hi all,

I can use an ASUS Xtion Pro Live successfully, but a new PrimeSense Carmine 1.09 (short range) does not work. I don't have the 1.08 (long range) to test.

Has anyone used the PrimeSense on Fuerte or Grooovy?
Thanks.


For the working ASUS sensor, I run:
$ roslaunch openni_launch openni.launch camera:=camera depth_registration:=true load_driver:=true publish_tf:=true
$ rosrun rviz rviz

The driver reports:

Number devices connected: 1
1. device on bus 001:15 is a PrimeSense Device (600) from PrimeSense (1d27) with serial id ''
Searching for device with index = 1
Opened 'PrimeSense Device' on bus 1:15 with serial number ''
rgb_frame_id = '/camera_rgb_optical_frame' 
depth_frame_id = '/camera_depth_optical_frame' 

$ lsusb -v
(in brief)

idVendor           0x1d27 
idProduct          0x0600 
iManufacturer      PrimeSense
iProduct           PrimeSense Device

However, when I try to launch with the Primesense sensor, the driver reports:

Number devices connected: 1
1. device on bus 001:13 is a PrimeSense Device (601) from PrimeSense (1d27) with serial id ''
Searching for device with index = 1
No matching device found.... waiting for devices. Reason: openni_wrapper::OpenNIDevice::OpenNIDevice(xn::Context&, const xn::NodeInfo&, const xn::NodeInfo&, const xn::NodeInfo&, const xn::NodeInfo&) @ /tmp/buildd/ros-fuerte-openni-camera-1.8.6/debian/ros-fuerte-openni-camera/opt/ros/fuerte/stacks/openni_camera/src/openni_device.cpp @ 61 : creating depth generator failed. Reason: USB interface is not supported!

$ lsusb -v
(in brief)

idVendor           0x1d27 
idProduct          0x0601      <----
iManufacturer      PrimeSense
iProduct           PrimeSense Device

But interestingly the full information has 2 times more entries than the ASUS.

I tried giving openni_launch various device/bus IDs which makes no difference, e.g.

device_id:=001@0

The most similar problem on ROS Answers
http://answers.ros.org/question/50325/can-not-use-xtion-pro-live/
suggests installing PrimeSense-Sensor-Stable-5.1.0.41-1, but I already have that version installed.


Installed packages & versions:

i A libopenni-dev                      - Version: 1.5.4.0-3+lucid1      
p   libopenni-java                     -               
i   libopenni-nite-dev                 - Version: 1.3.1.5~lucid
i A libopenni-sensor-primesense-dev    - Version: 5.1.0.41-2+lucid3            
i A libopenni-sensor-primesense0       - Version: 5.1.0.41-2+lucid3
i A libopenni0                         - Version: 1.5.4.0-3+lucid1           

c   openni-dev                         -                              
p   openni-doc                         -                    
i   openni-sensor-primesense-bin       - Version: 5.1.0.41-1.1+lucid2         
i A openni-utils                       - Version: 1.5.4.0-3+lucid1

p   ros-fuerte-ecto-openni             -                            
i   ros-fuerte-openni-camera           - Version: 1.8.6-s1356636433~lucid
i   ros-fuerte-openni-kinect           - Version: 0.5.2-s1356648471~lucid
i   ros-fuerte-openni-launch           - Version: 1.8.3-s1356638395~lucid
i   ros-fuerte-openni-tracker          - Version: 0.1.3-s1356648033~lucid        
p   ros-unstable-openni-kinect         - 

There was a thread on the mailing list about the debs being out of date, so I'm going to try to compile the unstable/forked libraries from avin2...

.


Originally posted by dbworth on ROS Answers with karma: 1103 on 2013-02-08

Post score: 3


Original comments

Comment by dbworth on 2013-02-08:
After installing OpenNI 2.1 Beta & avin2/SensorKinect, now the ASUS & PrimeSense both don't work: openni_launch reports: No devices connected.... waiting for devices to be connected . I guess the package name should have been a give away!

Comment by dbworth on 2013-02-08:
Building OpenNI Version 1.5.4.0 from jspricke/debian-openni doesn't work either, No devices connected.

$\endgroup$

3 Answers 3

0
$\begingroup$

Rosanswers logo

I am using Carmine with ROS. It does not work out of the box, you need to install the drivers after installing ROS openni stuff.

Primesense updated their openni webpages and software, it is quite hard to find the old drivers that you need to install. Here is the link:

http://www.openni.org/openni-sdk/openni-sdk-history-2/

Choose the OpenNI-Compliant Sensor Driver v5.1.2.1 for your OS. Compile, and install. ROS openni should work perfectly.

The only problem is that like asus Xtion, Carmine doesn't report its serial number. In a multiple camera setup, I can't choose which camera to use.


Originally posted by Akin with karma: 186 on 2013-02-08

This answer was ACCEPTED on the original site

Post score: 3


Original comments

Comment by dbworth on 2013-02-08:
Thanks @akin I will try that. Here is something you can test: try plugging your sensors into different USB ports. You should find that when you run openni_launch it reports that the device is connected to a different USB bus. Normally you will find the ports are on at least 2 different buses....

Comment by dbworth on 2013-02-08:
You can tell openni_launch device_id=bus@0 to load the first device on the specified bus. Let me know if it works? . There are potentially other tricks at the OS level, or you could parse 'lsusb' to get the info, but if 2 devices look identical in there, you're out of luck.

Comment by AHornung on 2013-02-12:
What is the sensor range you get out of the Carmine in practice, are the 0.25m-1.4m realistic? And how is the accuracy at close ranges? Sorry if this is too OT...

Comment by dbworth on 2013-02-13:
Hi @ahornung, sorry I don't know yet...

Comment by fergs on 2013-02-21:
In testing, I've seen data in the 0.25-5m range, although the error seems to be pretty high after 2-3m (very ugly point cloud in RVIZ).

Comment by liborw on 2013-02-24:
I have installed the OpenNI-Compliant Sensor Driver v5.1.2.1 Linux-x64 (there is nothing to compile just install) and I was able to start the PrimeSence device just once, then it stopped working again. It is recognised but there is no output.

Comment by tianb03 on 2013-02-27:
Thanks Akin! My problem is that I have kinect working properly, an old version of Xtion works fine also. A new Xtion got same problem as yours! After install the related openni drivers in software center I still cannot get it work. After install the 5.1.2.1 driver it works! Thx very much !

Comment by paulbovbel on 2013-05-28:
@liborw, I'm having the same problem as you for the new Xtion sensors (only works once), did you have any luck solving that issue?

Comment by liborw on 2013-05-28:
@agentx3r I have found that the sometimes dies, so have changed openni_driver from nodelett to node and add respam parameter in launch file. And it somehow works but some times there is no out either.

Comment by bona on 2013-07-02:
Well, @Akin I did exactly what you suggested, however even kinect fails to work after installing the driver. Really took me a while to recover, by reinstalling openni_launch & openni_camera. What version of ROS and Ubuntu were you using? Mine: 12.10+Groovy

$\endgroup$
0
$\begingroup$

Rosanswers logo

We recently had this issue with a new ASUS Xtion Pro Live we received recently. Since it shows the same serial number (idVendor 0x1d27, idProduct 0x0601), I believe they are the same devices.

Starting with the guess, that it's just a matter of the old OpenNI not providing the right driver for this new device, I was happy to find out that work on ROS support for OpenNI2 is already on its way: https://github.com/ros-drivers/openni2_camera

With (ROS) OpenNI2 compiled from source, I was able to get our device working out of the box. Hence I suggest, you give it a try as well!

Good luck!

PS: @Akin @dbworth There is new feature addition to OpenNI camera currently being tested, which makes the Xtions output a serial number. Have a look here: https://github.com/ros-drivers/openni_camera/pull/16

PPS: OpenNI2 camera has already been released with Hydro. I guess openni2_launch will follow soon (https://github.com/ros-drivers/openni2_launch/issues/5).


Originally posted by bit-pirate with karma: 2062 on 2013-07-02

This answer was NOT ACCEPTED on the original site

Post score: 1


Original comments

Comment by bit-pirate on 2013-09-09:
@dbworth If this issue has been solved, please mark your favourite answer to close this question. Thanks.

$\endgroup$
0
$\begingroup$

Rosanswers logo

Either compiling and installing OpenNI and Primesense Sensor from source, or installin ros-hydro-openni2-launch via apt-get resolved this problem for me.

The source-solution overrides the system driver for all other packages, so you can run ros-independend pcl_openni-stuff or the openni-apps that are linked against those drivers/libs. With the apt-get solution only openni2_launch works. Other apps, including openni_launch still have this problem as the old driver remains (openni2_launch comes with openni2_camera, which has its own new driver/lib, not overriding the previos one (old: libopenni-sensor-primesense-dev; new: libopenni2-dev)).

Apparently this "new" Asus device does something different then the predecessor, or it's just the new product id that is not listet in the driver... ? We'll never know :)


Originally posted by stfn with karma: 287 on 2013-12-05

This answer was NOT ACCEPTED on the original site

Post score: 1

$\endgroup$

Your Answer

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