Has anybody tried the new Kinect for Windows with ROS.
Hopefully it works with the standard ROS drivers.
So far, I tested the new driver changes for the "Kinect for Windows" from Drew Fisher (k4w-drivers).
And it does work fine with the "Kinect for Windows" included the modified libfreenect device drivers!
The old drivers are the same, the only changes are the driver parameters which have to be added for the K4W in into the source code.
So far, I done this steps to change the openni drivers:
First, I change the Product and Vendor IDs in XnDeviceSensorIO.cpp. Furthermore, I'm setting the USB alternative interface to enable the two isochronous endpoints. More informations to libusb (function: libusb_set_interface_alt_setting).
Second, I modified the access permissions rules for the primesense sensor usb (55-primesense-usb.rules).
- I recompiled the modified openni drivers.
Basicly now the driver is adjusted only for the K4W. The Kinect for Xbox can actually no longer be identified. But this is okey for my purpose until now.
answered 2012-04-23 18:51:27 -0500Patrick Mihelich
"Kinect for Windows" does not yet work in ROS. The official OpenNI software supports the ASUS Xtion and PrimeSense's own devices. We apply a patch (basically just adding the Kinect's USB ids) to OpenNI to support Kinect for Xbox. AFAIK no one has yet produced a similar patch for K4W.
I don't believe libfreenect officially supports K4W out-of-the-box yet either, but Drew Fisher did manage to identify the USB protocol differences (thread):
Now: it turns out the K4W device is (from a protocol level) practically identical. You have to set the K4W to use an alternate USB configuration, and the productIds are different, but other than that, all the rest of the code works as-is. The patch to get data streaming, registration and all, was about 50 lines. It was somewhat hackish, but for a proof of concept: very promising.
So, in case anyone feels like taking this on :), here's how you could go about getting K4W support in ROS (via OpenNI):
Finally, an entirely different approach if you're on Windows: there's an experimental module that uses Microsoft's Kinect SDK to communicate with the device, then relays the data through OpenNI.
I just tried it with the openni_camera driver (electric/.debs/Natty/64bit) and it keeps telling me:
[ INFO] [1330948479.141759180]: No devices connected.... waiting for devices to be connected [ INFO] [1330948482.157149616]: No devices connected.... waiting for devices to be connected
So for the moment, it seems like the Kinect for Windows does not work out of the box with openni_camera (and the system specs I posted above).
Since some days I can stream video data from the "Kinect for Windows" in ROS. It is working not optimal, but it works.
After launching the openni drivers (with roslaunch openni_launch openni.launch) I get this Warnings:
[ INFO] [1339081254.638412112]: Number devices connected: 1 [ INFO] [1339081254.638652716]: 1. device on bus 002:05 is a Microsoft Kinect Camera (2bf) from Microsoft (45e) with serial id '0000000000000000' [ INFO] [1339081254.639833104]: Searching for device with index = 1 [ INFO] [1339081254.697212118]: Opened 'Microsoft Kinect Camera' on bus 2:5 with serial number '0000000000000000' [ INFO] [1339081254.729447364]: rgb_frame_id = '/camera_rgb_optical_frame' [ INFO] [1339081254.729658424]: depth_frame_id = '/camera_depth_optical_frame' [ WARN] [1339081254.735901259]: Camera calibration file /home/test/.ros/camera_info/rgb_0000000000000000.yaml not found. [ WARN] [1339081254.736156947]: Using default parameters for RGB camera calibration. [ WARN] [1339081254.736304452]: Camera calibration file /home/test/.ros/camera_info/depth_0000000000000000.yaml not found. [ WARN] [1339081254.736458941]: Using default parameters for IR camera calibration.
What could I do to solve the warnings?
answered 2012-06-03 14:31:15 -0500Chong
I tried to use Kinect for Windows for weeks and always get "No device connected" error. Once I changed to Kinect for Xbox everything works... so my suggestion is just to get a Kinect for Xbox or wait until the driver comes out...
Asked: 2012-02-03 12:49:11 -0500
Seen: 2,423 times
Last updated: Feb 26