Подключаем Kinect v. 2.0 к плате UP-board.

Я долго ждал мобильное устройство, которое способно было бы получать от сенсора Kinect версии 2.0 (XBox One) данные. Для этого устройству необходим порт USB 3.0. Наконец, я нашёл такую плату. Ребята собрали денег на Kickstarter’е и начали продажу по предзаказам. Заказал я её в мае, получил в сентябре. Сначала поставки откладывались. Затем почтовая компания TNT заявила, что я должен лично заняться растаможкой и сертификацией устройства. Но после долгих переговоров выдала мне вердикт, что они вообще не могут ввезти товар в Россию, так как на него отсутствует нотификация. Дополнительным подарком была новость о том, что ребята из UP-shop’а отправили вообще не ту плату (с двумя Гб оперативки вместо четырёх). Так что, даже к лучшему, что я не получил её. Выслали замену FedEx’ом, и тут проблем не возникло. Теперь буду внимателен и откажусь от услуг TNT заранее.

Kinect 2.0 for Windows + UP Board
Kinect 2.0 for Windows + UP Board

Вместополноценного USB 3.0 выхода на плате присутствует только micro-usb B разъём (не знаю ,с чем это связано). Следовательно пришлось использовать переходник для подключения. Причём, RealSense отказался работать с ним в отличие от Kinect. Итак, приступим. Для корректной работы библиотеки в режиме CL нам необходимо скомпилировать свежую версию Beignet 1.2. Нам потребуется VA-API: LIBVA Video Acceleration API

Также потребуется Intel driver for LIBVA

К сожалению придётся скомпилировать виртуальную машину Low Level Virtual Machine (LLVM) — compiler front-end for the C family of languages (C, C++, Objective-C, and Objective-C++) which is built as part of the LLVM compiler infrastructure project. Компилировать его нужно в паре с соответствующим Clang. В документации Beignet указано, что необходим компилятор 3.6 — 3.8. Я честно попробовал их все. Но положительного результата добился только с версией 3.6. Поэтому настоятельно рекомендую остановиться на ней. Качаем с github Clang and LLVM:

LIBDRM — cross-driver middleware which allows user-space applications (such as Mesa and 2D drivers) to communicate with the Kernel by the means of the DRI protocol.

Поставим также CMRT — C for Media Runtime. Media GPU kernel manager for Intel G45 & HD Graphics family

Кроме того нужно установить следующие библиотеки из репозитария:

Теперь, наконец мы можем скомпилировать Beignet. Beignet 1.2 содержит код для компиляции OpenCL программ на Intel GPU.

Кроме того поставим для компиляции freenect libusb 1.0.20 — библиотеку для доступа к USB устройствам.

Нам потребуется библиотека GLFW для разработки приложений под OpenGL, OpenGL ES и Vulkan.

Наконец, можно приступить к установке LibFreenect2

По окончании пробуем запустить тестовое приложение Libfreenect.

Добавить комментарий