ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Asus Xtion Pro through VirtualBox

asked 2018-10-16 09:49:19 -0600

sterlingm gravatar image

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.

edit retag flag offensive close merge delete


Note: I have tried reinstalling the drivers on the VM as this answer suggests:

sterlingm gravatar image sterlingm  ( 2018-10-16 09:54:46 -0600 )edit

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.

gvdhoorn gravatar image gvdhoorn  ( 2018-10-16 12:18:46 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2019-09-26 16:58:32 -0600

peci1 gravatar image

At least for Intel Realsense cameras, the installation manual says:

Note: Due to the USB 3.0 translation layer between native hardware and virtual machine, the librealsense team does not support installation in a VM. If you do choose to try it, we recommend using VMware Workstation Player, and not Oracle VirtualBox for proper emulation of the USB3 controller.

I experienced this myself with the realsense camera. In Virtualbox, it had just no chance. In VMWare Player, it worked at least a bit.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2018-10-16 09:49:19 -0600

Seen: 506 times

Last updated: Sep 26 '19