Robotics StackExchange | Archived questions

Asus Xtion not supported in Hydro using openni2?

I'm having trouble with the Asus Xtion and openni2 in Hydro. I'm getting this error: [ERROR] [140934478.275581907]: Unsupported color video mode - Resolution: 640x480 30Hz Format:RGB888
basically what this guy is seeing: http://answers.ros.org/question/191498/

I will be trying to calibrate, as suggested in that thread, once I am able to get a hold of a camera calibration grid.

Has a solution been found anywhere? Other than upgrading to Indigo I mean.

Thank you.

J

EDIT:

I've attempted to calibrate following these instructions: http://wiki.ros.org/camera_calibration

I set the --no-service-check option to default=False as suggested here: http://answers.ros.org/question/223530/intel-realsense-r200-camera-calibration/
I did this because I was getting this message: ('Waiting for service', '//set_camera_info', '...') Service not found when running rosrun camera_calibration cameracalibrator. --size 5x8 --square 0.03 image:=/camera/image camera:=/ (I'm currently using a 5x8 30mm calibration grid)

Notes:
No window showing a video feed/ capture pops up at any point.
rosmake camera_calibration ran without error
This is on Ubuntu 12.04 ROS Hydro using an Asus Xtion
Still receiving the above Unsupported color video mode error

EDIT2:
I've upgraded to Ubuntu 14.04 and Indigo. I receive this error:

[ERROR] [1455146167.444460553]: Unsupported color video mode - Resolution: 640x480@30Hz Format: RGB888

Here's the output from lsusb -v:

Bus 001 Device 004: ID 1d27:0600 ASUS 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x1d27 ASUS
  idProduct          0x0600 
  bcdDevice            0.01
  iManufacturer           2 PrimeSense
  iProduct                1 PrimeSense Device
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           69
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0b70  2x 880 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x135c  3x 860 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x1040  3x 64 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)

So, it seems to be detecting the Asus Xtion

EDIT3:
Ok. This is interesting. I'm not sure that the problem is actually with the Asus now...
I was playing around with the turtlebot simulator in rviz and Gazebo. When trying to view the "video" from the simulated Asus Xtion on the turtlebot using this command roslaunch turtlebot_bringup 3dsensor.launch... I got this error:

process[depthimage_to_laserscan-15]: started with pid [27430]
[ INFO] [1455209239.662860866]: Initializing nodelet with 4 worker threads.
[ INFO] [1455209240.960930597, 537.700000000]: Device "1d27/0600@1/4" found.
Warning: USB events thread - failed to set priority. This might cause loss of data...
[ERROR] [1455209241.185416940, 537.930000000]: Unsupported color video mode - Resolution: 640x480@30Hz Format: RGB888
[ INFO] [1455209241.781195783, 538.520000000]: Starting depth stream.
[ INFO] [1455209242.204071388, 538.950000000]: using default calibration URL
[ INFO] [1455209242.204147528, 538.950000000]: camera calibration URL: file:///home/developer-admin/.ros/camera_info/rgb_PS1080_PrimeSense.yaml
[ INFO] [1455209242.204234412, 538.950000000]: Unable to open camera calibration file [/home/developer-admin/.ros/camera_info/rgb_PS1080_PrimeSense.yaml]
[ WARN] [1455209242.204268646, 538.950000000]: Camera calibration file /home/developer-admin/.ros/camera_info/rgb_PS1080_PrimeSense.yaml not found.
[depthimage_to_laserscan-15] process has finished cleanly
log file: /home/developer-admin/.ros/log/2792ea80-d04b-11e5-a19a-d850e6c4e2f6/depthimage_to_laserscan-15*.log
[FATAL] [1455209248.308692029, 545.050000000]: Service call failed!
[FATAL] [1455209248.308739353, 545.050000000]: Service call failed!
[camera/camera_nodelet_manager-1] process has died [pid 27323, exit code -11, cmd /opt/ros/indigo/lib/nodelet/nodelet manager __name:=camera_nodelet_manager __log:=/home/developer-admin/.ros/log/2792ea80-d04b-11e5-a19a-d850e6c4e2f6/camera-camera_nodelet_manager-1.log].
log file: /home/developer-admin/.ros/log/2792ea80-d04b-11e5-a19a-d850e6c4e2f6/camera-camera_nodelet_manager-1*.log
[camera/depth_registered_metric-12] process has died [pid 27401, exit code 255, cmd /opt/ros/indigo/lib/nodelet/nodelet load depth_image_proc/convert_metric camera_nodelet_manager --no-bond image_raw:=depth_registered/image_raw image:=depth_registered/image __name:=depth_registered_metric __log:=/home/developer-admin/.ros/log/2792ea80-d04b-11e5-a19a-d850e6c4e2f6/camera-depth_registered_metric-12.log].
log file: /home/developer-admin/.ros/log/2792ea80-d04b-11e5-a19a-d850e6c4e2f6/camera-depth_registered_metric-12*.log
[camera/disparity_depth-13] process has died [pid 27412, exit code 255, cmd /opt/ros/indigo/lib/nodelet/nodelet load depth_image_proc/disparity camera_nodelet_manager --no-bond left/image_rect:=depth/image_rect_raw right:=projector left/disparity:=depth/disparity __name:=disparity_depth __log:=/home/developer-admin/.ros/log/2792ea80-d04b-11e5-a19a-d850e6c4e2f6/camera-disparity_depth-13.log].
log file: /home/developer-admin/.ros/log/2792ea80-d04b-11e5-a19a-d850e6c4e2f6/camera-disparity_depth-13*.log

I am however able to see the PointCloud data and DepthCloud data in rviz on the simulated device.

EDIT 4:
Well, this is disappointing. It looks like my specific model of Asus Xtion doesn't play nice with ROS.
I've tried a different Asus Xtion (the Pro Live ... I think it's the Q6670 Second Edition) and it works out of the box. The only difference I can tell is that this one is specifically marked on the box as "RGB and Depth Sensor" and has "3 different camera looking things" on the front... the RGB, and depth sensors... as opposed to the two that the Asus Xtion Pro has.

Asked by joe.s on 2016-02-05 10:12:41 UTC

Comments

Running the calibration without any video input isn't going to work. Could you provide some more information on your specific Xtion? Exact model nr, firmware version, how connected (usb2/usb3), etc. I'm not an expert, but perhaps that information can help others help you.

Asked by gvdhoorn on 2016-02-10 02:20:47 UTC

the Xtion is connected via USB... I'm assuming USB2 although not sure how to tell.
The Xtion itself, it has a single RGB camera and one depth camera... I wasn't able to tell the model number from the cameras, it looks like a ASUS Xtion (not Pro or Pro-live).
How would I check firmware version?

Asked by joe.s on 2016-02-10 11:04:02 UTC

it looks like a ASUS Xtion (not Pro or Pro-live)

The non-pro(-live) only supports depth, so that would explain the error message. But from your lsusb output I'm pretty sure this is an rgbd device.

Asked by gvdhoorn on 2016-02-11 04:00:30 UTC

but if it's only depth, I should be able to get a pointcloud (or something) in rviz, right?

Asked by joe.s on 2016-02-11 10:38:04 UTC

Exactly same problem and no solution...

Asked by Rastafouille on 2016-02-26 09:41:12 UTC

I would actually say this seems more like an issue with openni itself & your camera than something specific to ROS.

Asked by gvdhoorn on 2016-02-26 10:47:05 UTC

yeah... it's starting to seem that way.
I can get an Asus Xtion Pro Live working, no problem. It's this particular model Asus Xtion that's not working right, it seems.

Asked by joe.s on 2016-02-26 11:04:01 UTC

Mine is Asus Xtion Pro one. I will try with an other one.

Asked by Rastafouille on 2016-02-27 07:40:22 UTC

Answers