Kinect / Primesense (Xtion) ROS Ubuntu 通过虚拟机 (VMware)

Kinect / Primesense (Xtion) ROS Ubuntu through Virtual Machine (VMware)

由于我花了很长时间才弄清楚如何让 Xtion (Primesense) 在 VMware 上工作,所以我想在这里与您分享。 (对于 Kinect,即使 VMware 已成功连接它,我也无法让 ROS 看到该设备)。

roslaunch openni2_launch openni2.launch 

运行 上面的命令给了我错误:

Warning: USB events thread - failed to set priority. This might cause loss of data...

当 运行 "rviz" 和添加 --> 图像 --> 图像主题 --> /camera/rgb/image_raw

时,我要么得到单帧,要么没有帧

那么如何在使用虚拟机 (VMware) 时从 Primesense 设备获取 视频帧 Ubuntu?

我的规格

以下问题为我指出了正确的方向:http://answers.ros.org/question/77651/asus-xtion-on-usb-30-ros-hydro-ubuntu-1210/?answer=143206#post-id-143206

在blizzardroi的回答中(未选择答案)he/she提到USBInterface应该是0。我的推理是因为我的主机器是Windows,我应该将UsbInterface设置为1,确实如此解决了。​​

解决方案

转到 /etc/openni2/(从系统文件夹,而不是主页)并使用管理员权限打开 PS1080.ini(例如 sudo gedit PS1080.ini)。搜索 UsbInterface,删除 ;并将值更改为 1。它应该如下所示:

; USB interface to be used. 0 - FW Default, 1 - ISO endpoints (default on Windows), 2 - BULK endpoints (default on Linux/Mac/Android machines)
UsbInterface=1

额外

根据以前的经验,您的 Windows 系统可能也需要 kinect 驱动程序。如果上述方法不起作用,请尝试安装以下内容:

p.s。不要忘记 Ubuntu 的驱动程序(用你的 ROS 版本替换 hydro)

sudo apt-get install ros-hydro-openni*

重要

没有解决下面的错误,但是rviz returnsvideo,也就是说我们可以读取Primesense设备发布的数据!

Warning: USB events thread - failed to set priority. This might cause loss of data...

从 opennni(由位于 Tools/PSLinkConsole 的二进制文件启动时发出)与另一个传感器收到相同的警告。

通过以 sudo 启动进程来解决 - 我的猜测:要为 USB 事件线程设置优先级,您需要 root 访问权限。 :)