Кинект на ПК Windows – окно в будущее (опыт использования на ПК). Kinect: разбираемся с новым девайсом и учимся писать для него приложения Игры для kinect windows

Песочница

Наташа 7 марта 2011 в 02:49

Установка Kinect в Windows 7

  • Чулан *
Введение
Данная статья родилась в процессе создания простенькой программы на C#, которая получает изображение с обычной USB камеры и сохраняет картинку раз в 5 секунд на жесткий диск. Так получилось, что у меня есть только встроенная камера моего ноутбука, а для решения поставленной задачи камера должна смотреть через окно на улицу, покупать новую совсем не хотелось, поэтому мой взгляд обратился к стоящему на телевизоре Kinect`у. Соответственно первоочередная задача - подключить устройство к компьютеру, с ней и будем сейчас разбираться.

Забегая вперед скажу, что использовать Kinect вместо камеры я еще не пробовал, т.к. нашлась обычная usb веб-камера, но эту затею я не оставлю, т.к. обертки kinect`а для c# уже есть.

Необходимые условия
Сразу хочу оговориться, что все операции проводились в Windows 7 Ultimate, установленной на MacBook через BootCamp, уверен на 99.9% что это значения не имеет, но упомянуть будет не лишним.

Итак, что же нам понадобится:

Подготовительный этап
Возможно, готовые драйверы для работы Kinect можно найти где-то на просторах интернета, но согласитесь, что созданное своими руками приятнее, понятнее и за ошибки ругать кроме себя некого. Поэтому мы начнем с загрузки всех необходимых программ и библиотек.

Для удобства я создам папку C:\OpenKinect, в которой будут происходить все работы.

libusb-win32
Это порт библиотеки libusb, которая позволяет получать доступ к различным USB устройствам из клиентских приложений.
Скачиваем файл с именем вида libusb-win32-bin-x.x.x.x.zip из последнего билда, в моем случае это был билд с номером 1.2.2.0 и распаковываем его в C:\OpenKinect\Libusb-win32 (имя папки не принципиально, я назвал для удобства, это верно для всех папок, которые мы будем создавать).

pthreads-win32
Pthreads является набором библиотек, реализующих простую работу с потоками по стандарту POSIX. Проект очень древний, обновлений не было с 2006 года, поэтому даю прямую ссылку на необходимый файл, который необходимо будет разархивировать в папку C:\OpenKinect\Pthreads-win32.

Также необходимо будет скопировать файл C:\OpenKinect\Pthreads-win32\Pre-built.2\lib\phtreadVC2.dll в папку \Windows\System32\

Glut
Это библиотека для работы с OpenGL. Еще один старый проект, и еще одна просто ссылка на файл, который необходимо распаковать в папку C:\OpenKinect\Glut
glut-3.7.6-bin.zip

Копируем файл C:\OpenKinect\Glut\glut32.dll в \Windows\System либо в любую папку, которая упомянута у нас в переменных среды (PATH)
Кроме этого необходимо скопировать файл C:\OpenKinect\Glut\glut.h в папку VC\include\GL вашей VS2010, если папки GL нет, то нужно ее создать. Файл C:\OpenKinect\Glut\glut32.lib в папку VC\lib. В моем случае пути выглядят следующим образом:

  • C:\Program Files\Microsoft Visual Studio 10.0\VC\include\GL
  • C:\Program Files\Microsoft Visual Studio 10.0\VC\lib
Сборка проекта
Git
Естественно мы не сможем обойтись без исходных файлов проекта libfreenect, поэтому качаем Git, устанавливаем его, во время установки выбираем опции «Run Git from the Windows Command Promt» и «Check-out Windows-style, commit Unix-style line endings» .
Git-1.7.4-preview20110204.exe

Следующим шагом открываем командную строку и последовательно вводим следующее (парсер преобразует адрес в ссылку, поэтому я добавил лишний пробел между https:// и github.com, его нужно убрать):
cd c:\OpenKinect
git clone https:// github.com/OpenKinect/libfreenect.git
cd libfreenect
git branch --track unstable origin/unstable
git checkout master
git pull
В результате мы получим папку с исходниками C:\OpenKinect\libfreenect

CMake
Утилита, которая поможет нам собрать все наши библиотеки в один проект. Загружаем программу с сайта, на данный момент последняя версия 2.8.4, устанавливаем, во время установки выбираем опцию «Add CMake to the system PATH for all users»

После установки запускаем файл cmake-gui.exe. В первой строке выбираем путь к папке с исходниками, у нас это C:/OpenKinect/libfreenect, вторая строка - папка, где будет собранный проект C:/OpenKinect/Drivers. Ставим галочки на Grouped и Advanced, нажимаем кнопку Configure, в открывшемся окне выбираем Visual Studio 10 и нажимаем кнопку Finish. Программа отработает с ошибкой, т.к. не указаны пути к нашим библиотекам, укажем так, как показано на скриншоте и дважды нажмем кнопку Configure.

Теперь у нас не должно быть ошибок и можно смело нажимать кнопку Generate, в результате в папке C:\OpenKinect\Drivers у нас окажется проект, который нам необходимо будет построить в VS2010.

Visual Studio 2010
Открываем в VS2010 наш свежеиспеченный проект из папки C:\OpenKinect\Drivers (файл libfreenect.sln) и построим его (у меня почему-то проект строился только со второго раза). Если все прошло без ошибок, то мы должны получить папки C:\OpenKinect\Drivers\lib\Debug и C:\OpenKinect\Drivers\bin\Debug, первую из которых нужно добавить в PATH.

На этом этап сборки завершен и переходим непосредственно к подключению Kinect`a

Подключение Kinect
Здесь достаточно все просто. Подключаем Kinect, система его определит как Xbox NUI Motor и не сможет найти драйверы, поможем ей в этом. Через диспетчер устройств находим нашего страдальца, выбираем опцию «Обновить драйвер» и указываем папку C:\OpenKinect\libfreenect\platform\windows\inf, система запросит подтверждение на установку неподписанного драйвера, даем свое согласие, после этого на Kinect`е должен замигать зеленый диод и в списке устройств должны появится еще два неопознанных устройства «Xbox NUI Camera» и «Xbox NUI Audio» , устанавливаем для них драйвера из папки C:\OpenKinect\libfreenect\platform\windows\inf.

На этом все наши работы закончены, осталось только проверить как все работает.

Тестирование
Для проверки дееспособности Kinect мы воспользуемся тремя утилитами из папки
  • C:\OpenKinect\Drivers\bin\Debug:
  • glpclview.exe - Показывает возможности 3D камеры Kinect
  • glview.exe - Показывает работу обычной камеры
  • tiltdemo.exe - Задействует моторы Kinect
Вот и результат:

P.S. Если вы захотите написать свою программу для работы с Kinect, то в папке C:\OpenKinect\libfreenect\wrappers есть обертки под множество языков.

При написании статьи использовалась информация с сайта

Про Кинект уже написано немало разнообразных обзоров. Поэтому, мой обзор будет несколько сумбурный. Не стремлюсь описать все потаенные стороны этого девайса. Остановлюсь на практической составляющей и краткой истории.
А экскурс в историю начну я, пожалуй, с обзора игровых приставок.
Существует некая большая троица производителей на рынке игровых консолей.
Nintendo – консоль
Sony – PlayStation 3
Microsoft –

В 2006 году мир сотрясла новость о появлении нового поколения игровых контроллеров, Nintendo опередив время выпустила на рынок . Продажи приставки, благодаря концепции нового контроллера резко пошли вверх. Конкуренты не желая пасти задних, решили не оставаться в стороне и стали готовить свои решения.
В 2010 свой контроллер представила Sony. Контроллер имел более высокую точность распознавания чем свой прямой конкурент. Правда, для нас с Вами этот контроллер не представляет никакого интереса, потому как Sony пожадничала и не оставила возможность подключать Move непосредственно к ПК.
И вот спустя месяц после презентации Sony на сцену триумфально выходит Microsoft со своим революционным контроллером Kinect. Инженеры софтверного гиганта откинули все стереотипы и создали принципиально новый тип контроллера.
Кинект имеет целый ряд преимуществ по сравнению с другими конкурирующими продуктами:

  • не требует дополнительных устройств,
  • оставляет свободными руки,
  • распознает движения всего тела, а не только рук,
  • распознает движения до 5 человек одновременно,
  • распознает голос,
  • не требует зарядки или замены батареек,
  • умеет определять движения и жесты любой сложности.

Фактически, Кинект – это контроллер без контроллера, это устройство способное распознавать обычные движения человека и передавать их компьютеру для обработки.
Итак, не будем вдаваться в подробности работы устройства, остановим свое внимание лишь на том, что контроллер подключается к приставке по средством несколько модифицированного порта USB. Этот факт заметили еще первые пользователи кинекта, поэтому сразу после выхода устройства началась настоящая охота. Сильные миры сего объявили тысячедоллоровые премии хакерам, которые смогут заставить кинект работать на ПК.
Спустя несколько дней были написаны , а через пару месяцев официальные комплекты драйверов презентовали разработчики чипсета и сам Микрософт.
Год спустя, опустив неудачные попытки разработчиков, стоит остановить свое внимание на двух основных комплектах драйверов и наборов для разработчиков под Kinect.
1) PrimeSense OpenNI/NITE Framework от создателей центрального чипа. .
и
2) Microsoft’s Kinect SDK .
PrimeSense первыми создали и открыли свой SDK для ПК программистов.
Поэтому все первые программы для Кинект работают именно под управлением этих драйверов.
Наблюдая за тем как программисты со всего света создают и модернизируют программную среду для работы с контроллером, Микрософт решила пересмотреть свою политику. Они отказались от идеи эксклюзивности Кинекта для консоли XBOX. Контроллеру был дан зеленый свет для выхода на ПК арену.
На данном этапе Микрософт запрещает создавать коммерческое программное обеспечение для своего контроллера. Правда, такая ситуация продлится не долго. Уже 01.02.2012 нам обещан выход финальной версии набора для разработчиков + старт лицензирование коммерческого ПО. Более того, Микрософт всячески способствует разработке ПО для своего контроллера, назначая высокие денежные гранты командам разработчиков. Добавим к этому тот факт что Микрософт обязал всех разработчиков игр выпускать новые игры для XBOX исключительно с поддержкой Кинект. (Ремарка: Подавляющее большинство современных игр вначале разрабатываются под XBOX, а затем портируется на ПК.) Все это позволяет предположить что в ближайшие месяцы мы увидим появление целого комплекса программ, которые будут ориентированы на управление жестами рук и голосом.
Правда, самые нетерпеливые, могут оценить преимущества кинект уже сейчас.
Существует ряд толковых программ, воспользоваться которыми можно и сегодня:
Для этого нам сначала понадобится установить комплект ПО PrimeSense OpenNI/NITE и Microsoft’s Kinect SDK.

После этого, Вам придется в ручную переключать драйвера в диспетчере задач в зависимости от того, какое программное обеспечение Вы выберете:
1) – набор жестов для управление мышкой и различными программами. Использует . Анонсирован переход на Microsoft’s Kinect SDK в ближайшем будущем.
P.S. Проект имеет высокое юзабилити. Ждем новых версий от разработчика.
2) kinvi – полноценный виртуальный интерфейс для работы с ПК при помощи кинекта. Очень мощная и прогрессивная разработка, поддерживает оба типа SDK.
P.S. К сожалению мне не удалось запустить его на русской винде. Программа выпадает с ошибкой открытия конфиг файла.
3) Kinect Mouse Cursor – простоая, но очень полезная в хозяйстве программа, необходимая для эмуляции хвостатого контроллера. Работает на драйверах Microsoft’s Kinect SDK
4) FAAST – оболочка для эмуляции клавиатуры и мышки при помощи кинекта. Отлично подходит для создания конфигов под игры, в которых не задумана поддержка контроллера. Использует PrimeSense Framework. Анонсирован переход на Microsoft’s Kinect SDK в ближайшем будущем.
P.S. Низкое юзабилити. Простота в настройке. Недавно вышла версия 0.10 которая имеет целый ряд доработок.
5) GlovePIE / FreePIE (новая реинкарнация) – огромный инструментарий для захвата движений при помощи кинекта и преобразование их в команды любых других контроллеров. Поддерживает Microsoft’s Kinect SDK и является лучшим на данный момент проектом для использования контроллера с ПК под управлением Windows.
P.S. Проект бесплатный. Разработчик не богатый человек. Без внешней поддержки ему будет тяжело тянуть на себе такую махину.
6) Win&I , kinclick и другие. Существует еще масса старых проектов от разных разработчиков. Как правило эти проекты имеют ограниченный функционал и на данный момент заморожены.
P.S. Win-and-I – продукт платный. Но настойчивые всегда смогут найти лекарство от жадности. 😉 Не смотря на именитого разработчика, мне продукт не понравился. Слишком много косяков в Wibdows 7.

Скачать файлы можно во вложениях или на сайте производителя.

Итак, что ожидает обычных пользователей в ближайшее время?
Во первых мы можем ожидать активного роста приложений с поддержкой распознавания движений, во вторых, в конце февраля выйдет бета версия windows 8, которая должна иметь глубокую интеграцию с кинект технологиями (распознавание лица, скроулинг и перемещение при помощи движений рук, голосовое управление).
Опираясь на вышеперечисленный анализ можно быть уверенным, что Микрософт готовит нечто огромное. Они готовят революцию в мире контроллеров. Однажды Микрософту удалось изменить ход истории, выпустив на свет OS Windows 3.1

Итак, как же приучить Кинект работать с ПК?
1) для начала купите кинект.
Его стоимость будет колебаться от 100 (за б.у. девайс в штатах) до 300-400 за свеженький вариант девайса, который адаптирован для работы с ПК.
Если вы приобрели вариант кинекта для XBOX, то Вам еще понадобится переходник со стандартного разъема кинект на USB.
Переходник можно легко купить в магазине или сделать самому. Фактически стандартный разъем кинекта – это те же 4 контакта USB + 1 контакт 12 вольт для работы двигателя камеры. 12 вольт можно взять с блока питания Вашего компьютера (любой желтый провод).
2) нужен телевизор. Конечно, монитор тоже подходит, но для полноты эффекта лучше использовать именно ТВ. К тому же, версия кинекта для XBOX имеет слепую зону: 50 см, а значит находиться желательно на расстоянии не менее чем метр от устройства.
3) правильно разместите кинект. Желательно, по середине ТВ, на 15 см ниже или выше кромки экрана. По опыту, даже если Вы разместите его “сикось на кось” и под углом 90 градусов, работать девайс будет, но лучше все же соблюсти рекомендации разработчика. Для правильного размещения необходимо установить контроллер на специальную подставку – , если у Вас его нет, то Вы всегда можете .
4) определитесь с комплектом драйверов. Я бы посоветовал избрать Microsoft kinect SDK. Он перспективней. Рискну предположить, что если Микрософт не наломает дров (уже начал ломать ), то все конкурентные комплекты драйверов в ближайшие 6 месяцев уйдут в тень и поддержка их софта будет бессмысленна.
К тому же лучшее ПО уже сейчас работает именно на драйверах Микрософта. Хотя, и тут зарыта одна собака. Я бы посоветовал использовать последнюю версию. На данный момент прошло всего 11 дней с моменту выхода финальной версии SDK, а это значит, что все существующие программы пока еще адаптированные под версию Бета 2 и не совместимы с финальной версией. Кстати, одним из преимуществ оригинального СДК является то, что в комплекте идет специальное ПО, которое позволяет использовать ваш контроллер как высококачественный 3D сканер. Вы сможете сканировать объекты, а затем легко и просто отсылать их на ваш для печати.

Это все, теперь Вы можете полноценно использовать кинект на Вашем компьютере .
Попробуем воспользоваться им на практике.
Методы применения кинекта в повседневной жизни таковы:
1) Самый простой способ. – Это использовать кинект как высококачественную камеру и микрофон.
Как это сделать?
– Микрофон будет работать сразу после установки Microsoft SDK и дополнительных манипуляций не требует.
– С камерой все немного сложнее.
Для начала необходимо скачать файл
Затем зарегистрировать его в системе примерно такой строчкой “c:windowssystem32regsvr32.exe KinectCam.ax
Так же, может оказаться что у Вас на компьютере не хватает определенных библиотек. В этом случае Вам необходимо докачать их и переписать в папку с файлом
Скачать все необходимые файлы можно во вложении.
После всех этих манипуляций Skype и другие программы начнут видеть Ваш кинект как обычную камеру.
Теперь, проверьте работу камеры с помощью Скайпа, а затем пройди по адресу C: Users AppData Local KinectCam config.ini
В этом файле можно установить угол наклона камеры, а также другие настройки

2) Для управления всевозможным ПО . По причине того, что Микрософт запрещала выпускать коммерческое ПО до выхода финального SDK, стоящих программ для кинекта сейчас не так уж и много.
Могу посоветовать пару программ для управления курсором и windows в целом: или Win&I . Эти программы староваты, зато имеют готовые предустановки для нескольких плееров,браузеров и других программ. У меня они работать нормально не захотели, вероятная причина: новые дрова или новая ОСь.
Использовать их можно, но с рядом существенных оговорок.
Так же, можно использовать программу-конструктор GlovePIE или его новую версию FreePIE, функционал огромный, но для нее готовых скриптов нет, необходимо переделывать под свои нужды чужие скрипты.

3) Третий способ самый правильный. Кинект создавался именно для игр. Только в играх можно раскрыть весь потенциал этого устройства.
Я бы условно поделил все игры на три группы:
3.1) Игры специально созданные для кинекта .

Это самый правильный способ получить удовольствие от игры. За Вас уже все продумали разработчики. Они придумали жесты, адаптировали под них геймплей. Как раз такие игры выходят под XBOX и именно их нам так не хватает на ПК.
Я встречал всего 4 подобные игры, и все они обычные демки, которые позволяют лишь оценить возможности контроллера:
– SkiRanger
– Shape Game Demo
– MotherNature
– ZombieHoldout
3.2) Простенькие игры для ПК.

Такие как Тетрис, Марио и т.д.
Эти программы имеют простейшее управление, а главное, в них можно играть не используя мышь.
Для управления подобными играми подойдет простейший скрипт. Например .

3.3) Высококачественные 3D игры , разработчики которых никогда и не подумывали о совместимости с kinect’ом

Такие как: Skyrim, GTA 5, Mass Effect 3, Batman: Arkham City , да впринципе любая другая игра, в которую Вы бы хотели поиграть
Скрипты для них сложны и многогранны. Игры от первого и третьего лица просто рождены для этого контроллера, только в них Вы можете руками сотворить заклинание или укрыться от пламени дракона воздушным щитом
Приведу в пример .

За разработку этого скрипта приношу огромное спасибо господину Mpoor.
Скрипт хороший, но требует калибровки. Вы должы стоять перед кинектом на таком расстоянии, чтобы в отладочной строке по оси X и Z высвечивались нули. Для того чтобы идти вперед шагните вперед, ну и так далее. Описание более сложных функций можно найти в комментариях скрипта.
А вот схожий .

Скрипт намного проще предыдущего и работает не так эффективно.

P.S. Играя в ПК Windows игры на kinect не стоит забывать о том, что разработчики не задумывали игру для такого способа управления. Динамика игры, обзоры камеры, скорость перемещения и реакции персонажа, все это задумано под ТТХ , клавиатуры или мышки. При помощи кинекта можно сымитировать любой манипулятор, но кинект не в состоянии изменить саму игру, заставить вашу руки не дрожать, тело не качаться, а голову извечно держаться прямо. Все этого приводит к уменьшению динамики игрового процесса, к ошибочным нажатиям и неточным выстрелам из вымышленного оружия =)
Стоит осознать тот факт, что в неадаптированных играх кинект не сможет помочь Вам играть лучше или эффективней, зато, он может наполнить игровой процесс совершенно новыми ощущениями, ну или на худой конец поможет сжечь пару лишних калорий. 😉

Новый виток интереса к самому уникальному контроллеру на планеты вызвало повсеместное засилье Виртуальной реальности. Смартфоны с экранами 2К и более в паре с Google Carfboard сорвали джекпот позволив миллионам людей буквально за гроши погрузится в интересный и красочный мир . Для полноты погружения недостаточно создать 3D картинку и качественный звук, важно так же оцифровать движения человека максимально точно перенеся их в виртуальный мир. Кинект справляется с этой задачей на ура, максимально глубоко погружая своего обладателя в мир компьютерной 3D реальности:

В 2010 году компания PrimeSense , занимающаяся в проекте 3D визуализацией, выпустила собственные драйвера и фреймворк для Kinect под названием OpenNI . Вскоре после этого, она объявила о партнерстве с ASUS в производстве нового Kinect -подобного устройства Xtion .

В 2011 году Microsoft выпустила некоммерческий комплект разработчика ПО под названием Kinect SDK . В феврале 2012 года свет увидела коммерческая версия, сопровождающая сенсор Kinect в версии для Windows .

В ноябре 2013 года Apple приобрела израильскую компанию PrimeSense .

Устройство Kinect

Kinect оснащен RGB -камерой, дальномером, состоящим из инфракрасного лазерного проектора и инфракрасного CMOS-датчика и специализированного микрофона, обеспечивающего локализацию источника звука и подавление окружающего шума. Kinect также содержит светодиод, трехосный акселерометр, и небольшой сервопривод для управления наклоном устройства.

Инфракрасный CMOS -датчик (complementary metal-oxide semiconductor , комплементарная структура металл-оксид-полупроводник ) представляет собой интегральную схему, содержащую матрицу фотодетекторов, действующую как инфракрасный датчик изображения. Это устройство также в разных литературных источниках называют ИК-камерой, ИК-датчиком, CMOS глубины изображения, или CMOS -датчиком.

RGB -камера представляет из себя VGA -камеру (640 х 480 пикселей) с 8-битным разрешением. Это звучит не впечатляюще, но дело в том, что волшебство происходит в датчике удаленности, который полностью независим от RGB -камеры.

Два элемента датчика удаленности, ИК-проектор и ИК-камера, расположены на передней панели Kinect . Они работают совместно, используя чип от PrimeSense для воссоздания 3D -захвата движения. Для этого используется метод, называемый 3D-сканирование со структурированным светом . ИК-камера также имеет разрешение VGA (640 х 480 пикселей) с глубиной цвета 11-бит, обеспечивая 2048 уровней чувствительности.

Слева-направо: ИК-камера, RGB-камера, светодиод и ИК-проектор

Практический диапазон работы Kinect составляет от 1,2 м до 3,5 м. Если объекты находятся слишком близко к датчику, они не будут отсканированы и будут просто появляться в виде черных пятен. Если же они находятся слишком далеко, то точность сканирования будет слишком низкой, что делает их выглядящими как плоские предметы. Для версии Kinect под ОС Windows , диапазон камеры составляет от 40 см до 3 м.

Различия между версиями сенсора Kinect

Kinect можно приобрести тремя различными способами:

  • Kinect для Windows - отдельное устройство, поставляемое с драйверами под ОС Windows (стоимость порядка 11 тыс рублей)
  • Kinect для Xbox 360 в виде отдельного перифирийного устройства для использования с Xbox 360 (цена гораздо ниже первого варианта, около 5 тыс. рублей)
  • Kinect для Xbox 360 в комплекте с Xbox 360 (цены на комплект начинаются примерно с 9 тыс.рублей) . Для игроманов — это лучший вариант покупки.

В настоящий момент в продаже начинают появляться приставки в комплекте которых идет уже вторая версия сенсора — Kinect 2. Он обладает бóльшим разрешением, и, конечно это более продвинутое устройство. Но в виде отдельного устройства в продаже его пока нет, а цена новых приставок со вторым Kinect это уже минимум 20 тыс. рублей. К тому же, я планирую использовать этот сенсор совместно с , а на уровне драйверов в ней поддерживатеся пока только первая версия сенсора. Так что для разработчиков — первый Kinect для Xbox 360 является оптимальным выбором на сегодняшний день.

Есть один очень важный момент, который необходимо учитывать при приобретении устройства.

Если вы покупаете Kinect в версии для Windows , или Kinect для Xbox 360 в качестве автономного периферийного устройства, то в этом случае у вас будет все необходимое для подключения к компьютеру.

Но, возможно, у вас уже имеется Kinect , который вы используете с игровой консолью Xbox 360 или же вы планируете купить его вместе с приставкой, то в этом случае, вам потребуется отдельно специальный адаптер с блоком питания, который достаточно проблематично найти.

В последних версиях Xbox 360 , консоль использует специальный USB -порт, обеспечивающий достаточный ток для питания сенсора и для таких приставок не требуется дополнительный блок питания. Плюс ко всему, USB -разъем сенсора отличается от стандартного USB . Проблемы дополнительного питания и совместимости со стандартным раъемом USB как раз и решаются использованием специального адаптера.

Модель Kinect

Чтобы выяснить какая именно модель сенсора Kinect находится у вас в руках, вам необходимо взглянуть на основание подставки. У меня модель 1414.

Возможности Kinect

Так что же мы можем получить от Kinect"а и всех этих высокотехнологичных вещей, скрытых внутри него? После того, как Kinect правильно установлен и подключен к компьютеру, мы можем получить доступ к потоку сырых данных и других возможностей, предоставляемых конкретным промежуточным ПО. Мы можем воспользоваться драйверами OpenNI и NITE в качестве промежуточного ПО, а также использовать этот сенсор совместно с ROS .

RGB-изображение

Мы можем использовать Kinect в качестве веб-камеры с разрешением 640×480 пикселей. Получить доступ к RGB -изображению можно при помощи библиотеки OpenNI .

ИК-изображение

Kinect имеет инфракрасный CMOS , и мы опять же можем получить доступ к инфракрасному CMOS -изображению с разрешением 640×480 точек, воспользовавшись OpenNI .

Карта глубины

Карта глубины является результатом операций, выполняемых чипом PS1080 компании PrimeSense над ИК-изображением, полученным Kinect с ИК-CMOS . Это VGA -изображение имеет 11-битное разрешение. Это 2048 различных значений, представленных графически уровней серого цвета от белого (2048) до черного (0).

Есть одна деталь, которую нужно учитывать: измереное датчиком глубины сцены имеет логарифмический масштаб, а не линейный.

Отслеживание рук и скелета

После того, как карта глубины сформирована, мы можем использовать ее непосредственно в своих приложениях или запустить его через промежуточное ПО для извлечения более сложной информации из сырой карты глубины.

Недавно я купил xbox 360 kinect, чтобы поиграться с построением карт местности у робота. Купить, то купил, только вот разъём меня разочаровал, оказывается для PC есть специальная версия с переходником, и она дороже, но инженера не проведёшь, если она как-то работает в x-box, с usb интерфейсом, то и на компьютере должно всё работать. Почитав форумы, всё стало понятно через пару минут — достаточно порезать кабель и к нужным проводам подать 12В, остальные кинуть на обычный USB. Резать было жалко, но ждать переходник с ALI Долго, покупать в Ростове — нецелесообразно, а приставка у меня плейстешн, и подключить это чудо всё равно некуда. Вообще распиновка специального разъёма такая.Понятно, что все эти контакты не содержат отдельных проводов, и разрезав кабель я увидел такую картину. Итого у нас 5 проводов — 4 стандартные для USB, один для подачи 12В.
Припаиваем разъём FW типа «мама», как раз вы найдёте много блоков 12в, с таким разъёмом типа «папа», остальные разъёмы спаиваем согласно стандартным цветам USB.

Землю (чёрный провод) объединяем и с кабелем USB, который идёт к компьютеру, и с разъёмом для 12В. В результате получаем такую картину

Сначала я захотел проверить работоспособность с системой Windows, потратил много сил на установку родной SDK с сайта майкрософт, убедился что вроде бы работает, но что с этим всем делать ничего не придумал.

Потом перегрузился в Linux, и выяснил, что есть такой открытый проект — OpenKinect . Следуя всем инструкциям с github, установил его на компьютер. Моя цель была проверить работоспособность устройства и убедиться, что я порезал кабель правильно. Для этого я использовал утилиту RtabMAP

На странице подробно описано как её установить для всех типов unix систем. После всех этих мучений, наконец таки я увидел заветную картинку построения 3д модели моей комнаты

Проверил потом ещё и в офисе. Работает! После построения можно карту повращать — для человека, который это видит первый раз всё выглядит фантастически)