Asus Xtion Pro through VirtualBox
I am trying to interface with a Turtlebot 2 through a VirtualBox VM Ubuntu 16.04 with a Windows 10 host OS. The VM does not recognize the RGB-D camera however. No /dev/video0
file ever appears.
Windows 10 seems to recognize the device fine. In the VM USB settings, I enable the PrimeSense device. lsusb
lists the device as: Bus 001 Device 003: ID 1d27:0601 ASUS
.
dmesg
shows these warnings:
[ 233.879651] usb 1-2: New USB device found, idVendor=1d27, idProduct=0601
[ 233.879653] usb 1-2: New USB device strings: Mfr=5, Product=4, SerialNumber=0
[ 233.879655] usb 1-2: Product: PrimeSense Device
[ 233.879657] usb 1-2: Manufacturer: PrimeSense
[ 234.204681] usb 1-2: Warning! Unlikely big volume range (=4181), cval->res is probably wrong.
[ 234.204684] usb 1-2: [3] FU [Mic Capture Volume] ch = 2, val = 0/12544/3
[ 234.539573] usb 1-2: Warning! Unlikely big volume range (=4181), cval->res is probably wrong.
[ 234.539577] usb 1-2: [3] FU [Mic Capture Volume] ch = 1, val = 0/12544/3
When I try to run roslaunch turtlebot_bringup 3dsensor.launch
, I get an error saying:
[ INFO] [1539700651.244851646]: No matching device found.... waiting for devices. Reason: std::__cxx11::string openni2_wrapper::OpenNI2Driver::resolveDeviceURI(const string&) @ /tmp/binarydeb/ros-kinetic-openni2-camera-0.4.0/src/openni2_driver.cpp @ 737 : Invalid device number 1, there are 0 devices connected.
When I run freenect-regview
, I get:
Kinect camera test
Number of devices found: 0
The launch file openni2.launch
in package openni2_launch
returns this warning:
[ INFO] [1539700985.661042113]: Device "1d27/0601@1/4" found.
Warning: USB events thread - failed to set priority. This might cause loss of data...
[ WARN] [1539700987.395834911]: Reconnect has been enabled, only one camera should be plugged into each bus
I'm not sure why I would get that warning. I only have one camera plugged into my system.
I have no issues working with the mobile base through a VM. Has anyone been able to use the RGB-D camera of the Turtlebot 2 on a VM running Kinetic? Or have any ideas on what other things I can look into? I am trying to set up a VM environment for some robotics classes that use the Turtlebot 2 platform, so I would really appreciate any suggestions people have.
Note: I have tried reinstalling the drivers on the VM as this answer suggests: https://answers.ros.org/question/2262...
VMs have had difficulty with devices on USB buses that require large amounts of bw from that bus.
The mobile base is essentially a serial-to-usb device with a few tenths of KBit/s of traffic.
I would not be surprised if you can't get the Kinect to work reliably from a VM.