Kinect / Primesense (Xtion) ROS Ubuntu через виртуальную машину (VMware)

Поскольку мне потребовалось довольно много времени, чтобы понять, как заставить Xtion (Primesense) работать на VMware, я решил поделиться этим здесь с вами. (С Kinect у меня проблема с тем, чтобы ROS увидел устройство, даже если VMware успешно подключил его).

roslaunch openni2_launch openni2.launch 

Выполнение вышеуказанной команды дало мне ошибку:

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

У меня либо один кадр, либо нет кадра при запуске "rviz" и "Добавить" -> "Изображение" -> "Тема изображения" -> /camera/rgb/image_raw

Так как же получить видеокадры в Ubuntu с устройства Primesense при использовании виртуальной машины (VMware)?

Мои характеристики

  • Windows 7 под управлением VMware 10.0.4 build-2249910
  • Ubuntu 12.04.5 Precise в VMware
  • РОС Гидро

2 ответа

Решение

Следующий вопрос указал мне правильное направление: http://answers.ros.org/question/77651/asus-xtion-on-usb-30-ros-hydro-ubuntu-1210/?answer=143206

В ответе Blizzardroi (не выбранный ответ) он / она упоминает, что USBInterface должен быть 0. Я рассуждал, что, поскольку моей основной машиной является Windows, я должен установить UsbInterface на 1, что действительно решило эту проблему.

Решение

Перейдите в /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. Если вышеперечисленное не работает, попробуйте установить следующее:

ps Не забудьте свои драйверы для 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...

Получил то же предупреждение от opennni (выдается при запуске двоичным файлом, расположенным в Tools/PSLinkConsole) с другим датчиком.

Решено, запустив процесс как sudo - мое предположение: чтобы установить приоритет для потоков событий USB, вам нужен root-доступ.:)

Другие вопросы по тегам