Pull to refresh

Опыт создания multitouch стола

Reading time3 min
Views34K
Добрый день,
хотел поделится опытом создания своего multitouch стола. Идея не нова, но вот это чудо —

image

— стоит около 10,000$ и это без доставки к нам.
Под катом можно узнать как это работает и как такой стол сделать дома (осторожно, много картинок).

Для начала нужно сказать, какие задачи такой стол должен уметь исполнять:
1) Одновременный трекинг большого количества касаний.
2) Высокая скорость реакций.
3) Отсутвие влияния системы распознавания касаний на выводимое изображение.
4) Достаточно простое взаимодействие с пользовательской системой=, желательно совместимость со встроенным в Win7 мультитачем.

Основным вопросом стало, каким образом отслеживать точки касания. Существуют, конечно, usb-экраны, поддерживаищие multitouch, но их цена высока, а таких размеров, чтобы его можно было использовать как поверхность стола нет вообще. Потому было решено использовать оптическую систему распознавания, основанную на ИК-съемке, во избежание интерференции с выводимым изображением.

Далее о том, как же это должно работать:

image

Поверхность, изображенная на картинке, представляет собой акриловое стекло, толщиной в 2 см., поверхность которого покрыта диффузирующей пленкой.
Для чего это нужно? Мы пользуемся эффектом полного внутреннего отражения, при этом, в случае касания поверхности, ИК лучи будут проходить у раздела поверхности под углом большим критического (42.51 градуса для акрила). Действие эффекта полного внутреннего отражения прервётся, и ИК лучи пройдут через нижнюю границу поверхности, после чего их сможет зарегистрировать установленная ниже камера. Мы пользуемся эффектом, подобным тому, как мы наблюдаем лица людей из освещённой комнаты за окном ночью: если лицо приблизится, его хорошо видно в окне, а вдали быстро скрывается в темноте. Диффундирующая плёнка усиливает этот эффект рассеяния слабого света и играет решающую роль. Хорошо освещены предметы, близко подведённые к плёнке, из-за простого отражения света назад, в стол. © spmbt

image

Для регистрации касаний необходима ИК камера. Промышленные ИК камеры очень дороги, чтобы превратить обычную веб камеру в инфракрасную, необходимо убрать из неё ИК фильтр. И добавить пороговый фильтр, пропускающий только ИК свет, его можно сделать из негатива.

image

Нужно сказать что обыная веб-камера плохо подойдет, т.к. она даст низкий fps, я использовал Sony PS Eye, которая с кастомными дровами может дать до 120 fps.

Для ИК подсветки были куплены 4 ИК прожектора, в оригинале используются в системах ночного видео наблюдения.

image

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

Что касается ПО:

1. Кастомный драйвер для камеры.
2. CCV от nuigroup.com для анализа видео потока.
3. Разные библиотечки для прикручивания к Win7.

Вот как выглядит результат работы CCV

image

В CCV можно добавлять свои фильтры или настраивать уже существующие под Ваше освещение

image

CCV может генерировать события TUIO для работы с которыми есть библиотека на С#

Вот что использовалось для реализации системы:

1. Проектор Tochiba tdp ex20 с широким углом проецирования, с установленным на него “hot mirror” стеклом, блокирующим ИК излучение, для предотвращения интерференции с системой распознавания (расстояние 0.72m, размер картинки 75x100cm, масштаб 4:3, диагональ 125‘).
2. Камера Sony PlayStation Eye с установленным ИК фильтром для предотвращения интерференции с видимым проецируем излучением, выбор камеры обусловлен очень высоким fps (до 120 при низком разрешении)
3. 2-4 ИК панели для подсветки акрила на поверхности стола, частота 850нм.
4. Зеркало для правильного отображения картинки на обратной стороне проекционной плоскости.
5. Блок питания для ИК панелей, ПК для работы камеры, вывода изображения и работы МТ приложений.
6. Алюминевый каркас, обтянутый плотными обоями.
7. nuigroup.com — огромнеёший кладезь информации по теме.

Вот как выглядит мой стол:

image

Если кто захочет собрать такое дома — пишите посоветую где прикупить детали.

P.S.: в заголовке MS Surface. Пример использования такого стола (видео вдохновившее меня). nuigroup.com/forums/viewthread/4401
Tags:
Hubs:
Total votes 124: ↑117 and ↓7+110
Comments71

Articles