DAR

Комплексное программно-аппаратное решение для дистанционного управления специалистами

О клиенте

Наш клиент — руководитель компании, сфокусированной на Research and Development в области естественных и технических наук. Свою жизнь связал с изобретениями, инновациями и рационализацией.

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

Спойлер: клиент впоследствии дважды получил финансирование от Фонда Содействия Инновациям благодаря совместной работе с командой «Иностудио».

Задача заказчика

Задача клиента — создать решение, которое позволит специалистам проводить консультации из любой точки мира в режиме реального времени.

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

constituents

проектирование и разработку шлема

constituents

подбор оптимальных компонентов

constituents

проверку гипотез — разработку мобильного и веб-решения

Рабочий прототип шлема

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

Микрокомпьютеры, смартфоны и стереокамеры

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

По итогу оказалось, что верных вариантов не было вовсе. Микрокомпьютеры — дорого, а смартфоны, даже «самые-самые», не позволяли передавать стереоизображение, что крайне важно для корректного взаимодействия с демонстрируемыми объектами.

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

  • смартфон в качестве микрокомпьютера для передачи и получения сигналов;
  • мобильное приложение на Android для синергии консультанта и специалиста;
  • внешняя камера для передачи изображения консультанту на веб-клиент;
  • веб-приложение на WebRTC для синергии консультанта и специалиста.

Мобильное приложение на Android

Для работы с оборудованием нашей команде подошла одна единственная открытая платформа — смартфон с операционной системой Android. И чтобы производить отладку на самом низком уровне, взаимодействовать с драйверами, мы выбрали нативную разработку на Android OS.

Веб-клиент для дистанционной консультации

Другая сторона комплексного программно-аппаратного решения DAR — веб-клиент, который получает изображение со стереокамеры специалиста. При работе веб-клиента и шлема в тандеме инженер-консультант сможет:

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

Клиенту важно было реализовать программное решение, которое смогло бы оказывать любую помощь дистанционно вне зависимости от специфики бизнеса или его сложности.

Решение задач

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

01. Мобильное решение

Мы составили список гипотез, проверили их, отбросили излишние требования и сконцентрировались на главном — разработке приложения, которое позволит:

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

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

02. Серверное решение

Разработка веб-клиента началась с выбора протоколов, был необходим баланс между качеством, безопасностью и распространённостью. Мы остановились на WebRTC — одной из самых популярных технологий, которая описывает передачу потоковых аудиоданных, видеоданных и контента здесь и сейчас.

Как итог, мы разработали алгоритм органичного соединения камеры, приложения и веб-клиента. То есть модуль камеры получает и транслирует изображение, операционная система смартфона выполняет всё остальное. Весь результат работы алгоритма передаётся инженеру-консультанту на веб-клиент.

Взаимодействие

Двухлетнее взаимодействие с клиентом — пример равных партнёрских взаимоотношений. В моменты всемирного кризиса и пандемии произошла коллаборация усилий — все стороны были заинтересованы в развитии продукта DAR, в решении сложных технических задач стартапа.

Каждый принимал активное участие в проекте. Заказчик, например, взял на себя всю работу по конструированию и разработке прототипа шлема, оптимизации соединительных узлов. Также наш клиент тестировал продукт и формировал вектор развития DAR.

Мы же помимо разработки веб- и мобильных решений сконцентрировались на переборе гипотез, чтобы обеспечить быстроту реализации в направлении Research and Development.

Трудности и особенности

Разработка ИТ-решений сопровождается различными трудностями, сложность и количество которых зависит от специфики бизнеса. В данном случае наша команда столкнулась не с классической ситуацией «есть задача — есть решение», а с экспериментальным подходом. Мы постоянно искали, пробовали и тестировали, будто первооткрыватели. Комплексный программно-аппаратный продукт DAR интересен тем, что требовалось «подружить» код с «noname-железом». Поэтому весь путь был тернист и наполнен «забавными» нюансами.

01 Неподдерживаемое программное обеспечение камеры

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

02 Обрыв соединения

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

03 Громоздкий сценарий запуска трансляции, WebRTC

Чтобы обеспечить конфиденциальность данных, мы добавили авторизацию для входа в комнату (для веб-клиента). Работало это так: запускалась трансляция в приложении смартфона, копировалась ссылка для входа в комнату и происходила авторизация. Конечно, это не самый оптимальный сценарий соединения, но зато безопасный.

04 Сложная среда при тестировании

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

05 Непривычная отладка приложений

Чтобы подключить камеру к телефону, требуется единственный USB-порт, который в обычной ситуации занят, потому что используется программистами для отладки приложений. В связи с этим мы освоили отладку приложений через Wi-Fi.

Результат

Главный показатель успешной работы клиента и Иностудио над продуктом DAR — получение финансирования на первый и второй этапы. Дополнительно мы приобрели уникальный опыт работы в сфере Research and Development и повысили компетенции в работе над WebRTC-проектами.

Интеграции

В проекте провели интеграцию с шлемом дополнительной реальности, который спаяли в конструкторском отделе заказчика. Реализовали подключение по USB кабелю стереокамеры для передачи видеосигнала на экран смартфона, который вставлялся в шлем в качестве дисплея.

Технологии

Kotlin(android)WebRTCWebSocketNode.js ExpressVue.jsGitlab CICoturn DockerAndroid Jetpack

Оставьте заявку

Расскажите о проекте — мы его реализуем

Мы свяжемся с вами в течение 4 рабочих часов: обсудим цели проекта, требования к нему и составим план сотрудничества

* – поля обязательные для заполнения