Kinect startup error in Ubuntu Oneiric (virtual machine) with openni_launch
Hi there! I am trying to get the MS Kinect up and working on my Ubuntu 11.10. A few details regarding the software are: 1) Ubuntu 11.10 32-bit as a Virtual Machine guest 2) Windows 7 32-bit host 3) VMware Player as virtual machine support
Step 1. I did this as given in the tutorials which is
sudo apt-get install ros-electric-openni-kinect
Step 2. I connected the Kinect to the laptop, and did
~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 004: ID 0e0f:0008 VMware, Inc.
Bus 001 Device 012: ID 045e:02ae Microsoft Corp. Xbox NUI Camera
In the last line, it shows that the virtual machine has detected the Kinect Camera.
Step 3. Finally, I ran the following command, again as said in the tutorial
roslaunch openni_launch openni.launch
I then did this
rosrun image_view image_view image:=/camera/rgb/image_color
And the image viewer window opens up, but nothing is displayed. The topics also 'echo' no information/messages. When I close the image viewer in frustration, I get a 'Segmentation fault' message in the image_view terminal window. Also, I get this in the terminal in which openni.launch is running
terminate called after throwing an instance of 'openni_wrapper::OpenNIException' what(): virtual void openni_wrapper::OpenNIDevice::startImageStream() @ /tmp/buildd/ros-electric-openni-kinect-0.3.4/debian/ros-electric-openni-kinect/opt/ros/electric/stacks/openni_kinect/openni_camera/src/openni_device.cpp @ 224 : starting image stream failed. Reason: Xiron OS got an event timeout!
[camera_nodelet_manager-1] process has died [pid 9185, exit code -6]. log files: /home/nishantabb/.ros/log/15bae0e6-af0d-11e1-b5a1-000c29746745/camera_nodelet_manager-1*.log
What do I do? Is there any fix for this? I have spent an entire day on this error, and it is really getting on my nerves. Solutions which I have seen till now by extensively searching on the net are (they were not of much help really)
a) Wait for the node to get up and running for about 5-10 seconds. You may be trying to start viewing too fast.
b) There is a problem with the drivers of XnSensorServer with Ubuntu Oneiric. Many suggested to see if this process was running, kill it, and then start the openni_launch node again. I don't know how to do this, any help here please?
c) The USB port might be a problem. It seems to work fine with USB 2.0 for some users while it gives same problems with USB 3.0.
Pardon me for being so elaborate, but I just think I have been spending too much time on this and so need help urgently. I am new to using kinect with ROS and so are all the related errors/bugs.
Thanks very much!
Nishant.
Running on metal with the kinect connected, lsusb lists 3 Microsoft devices, not just 1, so maybe try editing the VM prefs? Also, for b), you can type 'killall XnSensorServer' in the terminal or you can go to System Monitor and end the process.
Also, that error is one of the ones I get sporadically as documented in my question. Lubosz says it might have been fixed in various unstable branch of openni, but I haven't tried it myself.
Hi tbh,
I tried doing 'killall XnSensorServer' but that didn't help. I will try Lubosz's solution of starting XnSensorServer and killing it forcibly with Ctrl+C today. Where can I find the unstable branch of openni?
Oh, and about the listing of devices, you are right. It lists three devices in the VMWare Connect Devices tab. But I said "Connect (and disconnect from host)" only to the Microsoft NUI Camera. I dont need the NUI Motor and NUI Audio right now, so I left those as they are.