以下问题为我指明了正确的方向:http://answers.ros.org/question/77651/asus-xtion-on-usb-30-ros-Hydro-ubuntu-1210/?answer=143206#post-id-143206
在blizzardroi的答案(未选择的答案)中,他/她提到USBInterface应该为0。我推断,由于我的主机是Windows,我应该将UsbInterface设置为1,这确实解决了这个问题。
Solution
转到 /etc/openni2/ (从系统文件夹,而不是 Home)并使用管理员权限打开 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 驱动程序。如果上述方法不起作用,请尝试安装以下内容:
- (体感 SDK)https://www.microsoft.com/en-us/download/details.aspx?id=34808
- (OpenNI2 Windows)http://struct.io/openni
附注不要忘记您的 Ubuntu 驱动程序(将 Hydro 替换为您的 ROS 版本)
sudo apt-get install ros-hydro-openni*
重要的
它并没有解决下面的错误,但是rviz返回视频,这意味着我们可以读取Primesense设备发布的数据!
Warning: USB events thread - failed to set priority. This might cause loss of data...