Пользователь
0,0
рейтинг
22 июля 2014 в 17:36

Как мы строим авиатренажер: проекционный экран

Привет!

Чтобы не повторять собственных ошибок, я решил написать, как мы строим авиатренажер. Потом, когда все уже будет завершено, времени разгребать фотографии и видео не будет, многое будет забыто, да и вообще — лень.

Мы почти закончили НИОКР с новой визуальной системой для тренажера, который появится в Питере в этом году, и я расскажу, как в процессе работы получился самостоятельный продукт.

Картинка для привлечения внимания:



Поехали (осторожно, трафик)

В общих чертах


Когда мы получили заказ на постройку развлекательного тренажера Boeing-737 для питерского заказчика, первым делом мы решили не наступать на уже опробованные грабли.
Одна из этих граблей называется «X-Plane и цилиндрическая проекция».
Суть проблемы в том, что встроенный в симулятор функционал не обладает достаточной гибкостью, чтобы качественно свести изображение от трёх проекторов на геометрически не идеальном цилиндрическом экране.
Более того, в процессе весьма эмоционального общения с автором X-Plane выяснилось, что он все тесты этой функции производил на сегментосферическом экране, и не до конца понимает, чего мы, собственно, от него хотим.

Помимо этого аспекта, мы осознали, что LCD-проекторы для нашего применения не очень подходят — со временем «ходят» цвета и яркость, и это значит, что картинку все время надо будет сводить по яркости и цветности.

Также мы приняли решение изменить силовую структуру тренажера, и спрятать несущие конструкции прямо в обшивку, следовательно «колхоз» с натяжным экраном был бы невозможен, и экран надо с самого начала проектировать в составе единой силовой схемы тренажера.

И тогда мы решили, что не грех попробовать сферический экран, сделанный из стеклопластика.

Поскольку правило «не более 10% новшеств» явно не для нас, но мы сумашедшие, а не идиоты, было принято решение изготовить один экран на стационарных опорах, дабы обыграть все возможные косяки и костыли «на земле».

Изготовитель стеклопластиковых панелей обшивки сделал нам комплект панелей и наземную силовую конструкцию, которая прибыла в Москву и была собрана в ангаре. Получилось вот так:


Экран


Экран состоит из трёх стеклопластиковых панелей, установленных на стальных опорах с колёсиками. В тренажере экран будет крепиться прямо на несущие конструкции в обшивке.
Рабочая поверхность окрашена специальной краской для проекционных поверхностей. В краске этой содержатся какие-то магические добавки, который слегка повышают контраст изображения и снижают «зацепление» взгляда за поверхность.
Одним из опасений были стыки панелей, но производителю удалось сделать края панелей очень качественными и ровными, так что стыков практически не видно.

Собирается и разбирается все часа за два-три, что просто прекрасно по сравнению с нашими прошлыми экранами.
Из ТТХ: диаметр около 6 метров, угол обзора — 220 градусов по горизонтали и 40 градусов по вертикали.

Проекторы




Три проектора Benq W1080ST. Обычные бытовые DLP-проекторы, без изысков. Единственное отличие от совсем уж бытовых моделей — Short throw, то есть — короткий фокус.
Разница между LCD и DLP видна сразу — прямо из коробки все три проектора светят почти одинаково, размер пикселя — гораздо меньше, чем у LCD. Разрешение — 1920x1080.

Проекторы направлены так, чтобы обеспечивать перекрытие проекций от соседних проекторов около 200 пикселей, или 10% картинки. Зачем это нужно — будет ясно дальше.

Чтобы не тянуть дорогущие, тяжелые и неудобные HDMI-кабели, были применены удлинители HDMI over UTP. В A320 мы использовали удлинители Hama, но они внезапно исчезли из продажи в РФ, поэтому было куплено что-то похожее. Поначалу была проблема с одним из удлинителей, поэтому я использовал Hama из запасов, так он и остался.


Искривители пространства


Это и песня, и стон.

При проекции на искривленную поверхность, картинку необходимо корректировать.
Кроме геометрической коррекции, необходимо «сшить» изображение, ведь в зоне перехлеста два проектора светят на одну и ту же поверхность


В самом начале мы рассматривали три варианта:
1. Программные решения, работающие на уровне видеокарты. Таких софтов — множество, среди популярных и на слуху — Sol7 и Immersive Display.
2. Аппаратные средства для сшивки.
3. Ну и, как совсем запасной вариант, мы мысленно были готовы вернуться к решению с тремя X-Plane и его куцыми возможностями для сшивки.

Pro и contra есть у обоих решений.
В случае с софтом мы привязываемся к платформе — вменяемых кросс-платформенных решений я не нашел, поэтому только Windows. Кроме этого, часть ресурсов компьютера будут отданы на задачу сшивки. Плюс программного решения — стоимость, и возможность автоматизировать процесс коррекции.

Аппаратное решение — дороже, и сильно дороже. Кроме этого, комьюнити этого решения не велика, в основном это компании, которые реализуют многопроекторные системы для презентационных целей.

К сожалению, мы обратились к «специалистам», которые не имея опыта подобных проектов, впарили нам аппаратные сшиватели тайваньской фирмы VNS. Называются они Geobox G-104, выглядят вот так:


Что делает G-104:
1. Искривление картинки по точкам;
2. Цветокоррекцию;
3. Сшивку градиентным уменьшением яркости.

Проблема лишь одна — эта железка не решала нашу задачу.

Чтобы она смогла работать, нужно было либо пропустить видеопотоки для всех трёх проекторов через одну железку (а таких железок нам «специалисты» не предложили), либо необходимо на уровне видеокарты сделать перехлест изображения. Существующие же технологии Eyefinity от AMD и 3D Vision Surround для обычных игровых видеокарт такого не делают.

После того, как стал очевидным провал с железным решением, «специалисты» все-таки нашли выход: предложили нам купить и использовать профессиональную карту AMD Quadro K5000 — в драйверах к ней возможно сделать перехлест. Но к моменту осознания ошибки, мы уже две недели смотрели на бесплодные попытки «специалистов», и решили отказаться от их услуг. Кроме этого, производительность K5000 не внушала доверия на таких приложениях, как X-Plane. В общем, сейчас мы ищем покупателей на два комплекта G-104. «Не пригодилась».

В итоге, мы переключились на программное решение, и, после анализа, остановились на Immersive Display Pro.

Я не буду описывать тут процедуру сведения изображения при помощи этого софта и веб-камеры, она довольно очевидна. Если кто-то столкнется с затруднениями, с удовольствием отвечу в личке или комментариях.

Основные моменты при использовании этого софта:
1. Работает только под Windows;
2. Требует для работы Aero;
3. Совсем без ручного труда с лазерным нивелиром обойтись не получится — изображение будет кривовато, хотя на восприятие картинки мозжечком это влияет не сильно.


В результате получилось то, что на КДПВ. В качестве первого запущенного приложения, я попробовал Google Street View


Конфигурация и архитектура


Итак, в качестве генератора картинки, у нас выступает обычный игровой компьютер на i7 с AMD R9 290X.
К видеокарте подключены три преобразователя HDMI<->UTP<->HDMI.
На уровне драйверов видеокарты собран виртуальный дисплей с разрешением 5760x1080


Поверх всего запущен Immersive Display Pro, который производит искривление и сшивку изображения:


Для настройки всего использовался тул Immersive Calibration Pro, который при помощи внешней веб-камеры почти автоматически делает искривление и коррекцию (и результирующий файл которого подсовывается в Display Pro). По ходу настройки на экране образуются вот такие смешные картинки


Осталось попробовать найти видео с разрешением 5760x1080. До сих пор я только находил ролики из игр на Ютубе, но наш интернет с трудом пропускает такое разрешение, так что пять секунд смотрим — 25 ждем, когда докачается.

Что с этим делать дальше


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

Намедни возникла идея попробовать запустить 3D на экран. Беглый просмотр интернетов показал, что задача, вообще говоря, решается, но на NVidia, а с AMD у народа не получилось, но мы попробуем. Банальный анаглиф не хочется, мы хотим сразу затворные очки.

Ну а дальше, если получится с 3D, можно будет дополнить реальность и получить нечто похожее на первые 15 секунд ролика:



Кстати, поскольку эта затея коммерческой ценности не имеет, если у кого-то есть желание поиграться в дополненную реальность на таком экране — милости просим.

Спасибо за внимание, и буду рад ответить на вопросы!
@Kitsok
карма
36,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (21)

  • +1
    А чем обусловлен выбор именно X-Plane? Почему не Prepar 3D (бывший MSFS)? Интересуюсь как любитель авиасима (сам летаю в fsx) :)
    • +1
      автор писал об этом в первом своем посте
    • 0
      Софт для управления подвижной платформой есть под X-Plane. Под Prepar3D требуется доработка, которая стоит денег.
  • 0
    Сколько по деньгам получилось? И почему затея не имеет коммерческой ценности? Исходя из «развлекательного тренажера Boeing-737 для питерского заказчика» коммерческий интерес как раз был основным?
    • 0
      Коммерческой ценности не имеет затея с световым мечом. Сам экран, конечно, чисто коммерческий продукт.
      По деньгам — пока не могу сказать.
  • +1
    Несколько лет назад мы практически для тех же целей использовали Watchout Dataton. 1 проектор = 1 системный блок. Со сшивкой картинки проблем никаких не было, разве что проектора были не совсем бытовыми.
  • 0
    Почему бы не использовать oculus rift + kinect 2?
    • 0
      Из вашего комментария я узнал, кто oculus rift то оказывается уже продаётся! Как продукт для разработчиков, но тем не менее, блин! Опять всё проспал.
    • +4
      на табуретке с виртуальным штурвалом?
      • 0
        Да. Именно по этой причине нам нужен экран. Хотя идея с очками и дополненной реальностью витала.
    • 0
      Ни один шлем виртуальной реальности не даст настолько полного погружения, когда каждый тумблер, каждый винтик, и даже запах — настоящие:

  • +1
    Есть ещё вот такая штука для сшивания: www.equalizergraphics.com Кроссплатформенная.
    • 0
      Спасибо за наводку, интересная штука, но у нас стояла задача коррекции и сшивки, а этот софт, КМК, этим не занимается.
    • 0
      Equalizer'ом решать задачу сшивки — довольно странная идея, имхо. Кстати, если есть какой-нибудь интересный опыт с ним, пишите статью — это не самая известная здесь технология.
  • 0
    Подобное в каждую школу! *шутка-мечта*
    • 0
      Ваши бы устами да мёд пить. Это и наша мечта тоже.
  • +4
    Несколько лет занимался написанием софта, для такого сшивания с проекторов. Надо сказать это та еще песня.
    Для подстроения сетки я пускал горизонтальный и вертикальный лучи, анализировал через OpenCV и получал сетку. Оно конечно классно, и автоматически, но работает это когда у вас у экрана четкие границы, и калибровочная картинка попадает только на экран. У вас в скриншотах видно, что из за того, что экран толстый, и на него попала калибровочная картинка — правый и левый и нижние уголы выгнулись.
    И вам еще повезло, у вас простой случай, у вас 3 проектора, которые вы могли поставить как вам удобно. По 1 проектору на одно изображение. Да и разрешение небольшое.
    В общем как разработчик подобного софта, прошел кучу камней, связанных со сведением картинки. Может быть соберусь с духом и оформлю пост на хабре… а может быть лень победит. :)
    • +1
      Боритесь с ленью, очень интересно почитать.

      Разработка чего-то своего сразу была отринута по причине времени.

      Что касается калибровочной сетки — их две. Одна используется для собственно калибровки, а вторая — для коррекции геометрии, и первую можно использовать как вторую.
      Собственно, я брал первую сетку, накладывал на геометрию, включал нивелир и по точкам выводил.
  • –1
  • 0
    Добрый день!

    Хотим сделать такой же себе.

    Как с вами связаться?
  • 0
    AMD Quadro K5000, не знаю таких))

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.