提问者:小点点

Kinect/Primesense(Xtion)通过虚拟机ROSUbuntu(威睿)


由于我花了相当长的时间来弄清楚如何让Xtion(Primesense)在威睿上工作,我想在这里与您分享。(使用Kinect,即使威睿已经成功连接,我也无法让ROS看到设备)。

roslaunch openni2_launch openni2.launch 

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

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

运行“rviz”和添加时,我要么得到单帧,要么没有帧——

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

  • Windows 7运行威睿10.0.4 build-2249910
  • Ubuntu 12.04.5精准威睿
  • ROS水电

共2个答案

匿名用户

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

在popzzardroi的答案(未选择答案)中,他/她提到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驱动程序。如果上述不起作用,请尝试安装以下内容:

  • (KinectSDK)https://www.microsoft.com/en-us/download/details.aspx?id=34808
  • (OpenNI2 Windows)http://structure.io/openni

附言:不要忘记你的Ubuntu驱动程序(用你的ROS版本替换水电)

sudo apt-get install ros-hydro-openni*

它不能解决下面的错误,但是rviz返回视频,这意味着我们可以读取Primesense设备发布的数据!

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

匿名用户

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

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