通过虚拟机(VMware)的Kinect/Primesense(Xtion)ROS Ubuntu [英] Kinect / Primesense (Xtion) ROS Ubuntu through Virtual Machine (VMware)
问题描述
由于花了我很多时间来弄清楚如何使Xtion(Primesense)在VMware上运行,所以我想在这里与您分享. (使用Kinect,即使VMware已成功连接ROS,我仍然有一个问题让ROS看到它).
Since it took me quite some time to figure out how to get Xtion (Primesense) to work on VMware I thought to share it here with you. (with Kinect I have a problem to let ROS see the device even though VMware has successfully connected it).
roslaunch openni2_launch openni2.launch
运行上面的命令给了我错误:
Running the above command gave me the error:
Warning: USB events thread - failed to set priority. This might cause loss of data...
运行"rviz"并添加->图片->图片主题->/camera/rgb/image_raw
I either got a single frame or no frame when running "rviz" and Add --> Image --> Image topic --> /camera/rgb/image_raw
那么在使用虚拟机(VMware)时如何从Primesense设备中获得视频帧?
So how do I get video frames in Ubuntu from a Primesense device while using a Virtual Machine (VMware)?
- 运行VMware 10.0.4 build-2249910的Windows 7
- Ubuntu 12.04.5在VMware中精确
- ROS Hydro
推荐答案
The following question pointed me in the right direction: 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,这确实可以解决它.
In the answer of blizzardroi (not selected answer) he/she mentions that USBInterface should be 0. I reasoned that since my main Machine is Windows, I should set UsbInterface to 1, which indeed solved it.
转到/etc/openni2/(从系统文件夹而不是Home),然后以管理员权限打开PS1080.ini(例如sudo gedit PS1080.ini).搜索UsbInterface,删除;并将其值更改为1.它应该如下所示:
Go to /etc/openni2/ (from system folder, not Home) and open PS1080.ini with administrator rights (e.g. sudo gedit PS1080.ini). Search for UsbInterface, remove the ; and change the value to 1. It should look like below:
; 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驱动程序也可能与此有关.如果上述方法不起作用,请尝试安装以下内容:
Additional
From previous experience it may also be related that your Windows system may need the kinect drivers as well. If the above not works, try to install the following:
- (Kinect SDK) https://www.microsoft.com. com/en-us/download/details.aspx?id = 34808
- (OpenNI2 Windows) http://structure.io/openni
- (Kinect SDK) https://www.microsoft.com/en-us/download/details.aspx?id=34808
- (OpenNI2 Windows) http://structure.io/openni
p.s.不要忘记您的Ubuntu驱动程序(将ROS版本替换为Hydro)
p.s. Don't forget your drivers for Ubuntu (replace hydro with your ROS version)
sudo apt-get install ros-hydro-openni*
重要
它不能解决以下错误,但是rviz返回视频,这意味着我们可以读取Primesense设备发布的数据!
Important
It doesn't solve the error below, but rviz returns video, which means that we can read the data the Primesense device publishes!
Warning: USB events thread - failed to set priority. This might cause loss of data...
这篇关于通过虚拟机(VMware)的Kinect/Primesense(Xtion)ROS Ubuntu的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!