Azure Kinect ROS driver "Failed to open K4A device at index 0"

asked 2019-07-30 12:14:21 -0500

PeteMakesThings gravatar image

updated 2019-07-30 13:45:03 -0500

I've gotten the kinect azure driver to build. I'm a bit new to ROS, so let me know if this is the wrong way to start the driver. But I went to the folder with the launch files and used the command roslaunch driver.launch

~/catkin_ws/src/Azure_Kinect_ROS_Driver/launch$ roslaunch driver.launch

these errors occur

libusb: error [_get_usbfs_fd] libusb couldn't open USB device /dev/bus/usb/011/022: Permission denied
libusb: error [_get_usbfs_fd] libusb requires write access to USB device nodes.

then it gives this error

[ERROR] [1564506111.686955539]: Failed to open K4A device at index 0
[ERROR] [1564506111.687012324]: Failed to open a K4A device. Cannot continue.

followed by this

[node-4] process has died [pid 13824, exit code -6, cmd /home/username/catkin_ws/devel/lib/azure_kinect_ros_driver/node __name:=node __log:=/home/username/.ros/log/b8ede8f0-b2eb-11e9-b319-4ccc6ace1192/node-4.log].
log file: /home/username/.ros/log/b8ede8f0-b2eb-11e9-b319-4ccc6ace1192/node-4*.log

I do have the Kinect Azure plugged in, as well as the extra power cable for it

When I use lsusb several Microsoft devices that are not listed when the Kinect is not plugged in show up, so I think it's detected

Bus 011 Device 022: ID 045e:097c Microsoft Corp.
Bus 011 Device 023: ID 045e:097d Microsoft Corp. 
Bus 011 Device 021: ID 045e:097a Microsoft Corp. 
[...]
Bus 010 Device 016: ID 045e:097e Microsoft Corp. 
Bus 010 Device 015: ID 045e:097b Microsoft Corp.

I can see that it is failing to open the device and that it doesn't have permission. I know sudo doesn't work on roslaunch. There must be some other way to allow it permission to use this device.

Update

I tried going into /etc/udev/rules.d and added a file named Microsoft.rules and putting these lines in it

SUBSYSTEM=="usb", ATTRS{idVendor}=="045e", MODE="0666"
SUBSYSTEM=="usb_device", ATTRS{idVendor}=="045e", MODE="0666"

With 045e being the vendor ID for microsoft, which is what shoes up when I use lsusb on the Azure kinect

So I restarted the terminal for those rules to take effect but now when I got to the launch folder and type roslaunch driver.launch it can't find the kinect azure driver at all.

edit retag flag offensive close merge delete