Ask Your Question
3

PrimeSense Carmine doesn't work, but ASUS Xtion does (OpenNI launch: devices connected, but not found)

asked 2013-02-08 02:55:56 -0600

dbworth gravatar image

updated 2013-02-12 02:48:06 -0600

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

.

edit retag flag offensive close merge delete

Comments

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!

dbworth gravatar imagedbworth ( 2013-02-08 03:36:36 -0600 )edit

Building OpenNI Version 1.5.4.0 from jspricke/debian-openni doesn't work either, No devices connected.

dbworth gravatar imagedbworth ( 2013-02-08 04:20:33 -0600 )edit

5 Answers

Sort by ยป oldest newest most voted
3

answered 2013-02-08 05:31:30 -0600

Akin gravatar image

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.

edit flag offensive delete link more

Comments

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

dbworth gravatar imagedbworth ( 2013-02-08 07:54:19 -0600 )edit

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.

dbworth gravatar imagedbworth ( 2013-02-08 07:56:53 -0600 )edit

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

AHornung gravatar imageAHornung ( 2013-02-12 03:38:46 -0600 )edit

Hi @AHornung, sorry I don't know yet...

dbworth gravatar imagedbworth ( 2013-02-13 12:09:44 -0600 )edit
1

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

fergs gravatar imagefergs ( 2013-02-21 12:33:17 -0600 )edit
1

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.

liborw gravatar imageliborw ( 2013-02-24 22:53:59 -0600 )edit

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 !

tianb03 gravatar imagetianb03 ( 2013-02-27 18:53:37 -0600 )edit

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

paulbovbel gravatar imagepaulbovbel ( 2013-05-28 07:09:48 -0600 )edit
1

answered 2013-07-02 13:46:53 -0600

bit-pirate gravatar image

updated 2013-09-09 23:48:49 -0600

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

edit flag offensive delete link more

Comments

@dbworth If this issue has been solved, please mark your favourite answer to close this question. Thanks.

bit-pirate gravatar imagebit-pirate ( 2013-09-09 23:45:55 -0600 )edit
1

answered 2013-12-05 01:39:47 -0600

stfn gravatar image

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 :)

edit flag offensive delete link more
0

answered 2015-11-01 01:51:23 -0600

peipei gravatar image

This problem happened on my ros too. I use primeSense carmin 1.09. And download the driver "SensorKinect093-Bin-Linux-x86-v5.1.2.1.tar.bz2" from https://github.com/avin2/SensorKinect... . Because openni website have been closed. But it dosen't work, it can't find the device. So, what's the problem?

edit flag offensive delete link more
0

answered 2016-02-22 03:07:10 -0600

MikeL gravatar image

It's 2016.2.22. i recently got the same problem. and i solve it as follow

  1. use the synaptic package manager to download the openni2 related package

  2. download the package as bit-pirate suggested https://github.com/ros-drivers/openni...

  3. follow the standard procedure to test

done.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

3 followers

Stats

Asked: 2013-02-08 02:55:56 -0600

Seen: 26,507 times

Last updated: Dec 05 '13