Fraunhofer
Крупнейшее в Европе объединение институтов прикладных исследований
Время разработки:
6 месяцев
Команда:
4 человека
Технологии:
Цель
Для научно-исследовательского института Фраунхофер требовалось разработать экспериментальный стенд по изучению зрительной системы человека. Например, чтобы предсказывать траекторию движения взгляда на основе меняющихся изображений или имитировать микросаккады для стабилизации глаза. Основная проблема — высокая скорость движения человеческого глаза, которое необходимо отслеживать и фиксировать.
Предполагалось три основных элемента стенда:
- проектора с частотой обновления изображения до 1440 кадров в секунду;
- платы управления, построенной на базе FPGA и передающей изображение на проектор через DVI-DL видеоинтерфейс с частотой (pixel rate) 297 МГц;
- датчика движения глаза (eye tracker sensor), который направляется на сетчатку и отслеживает перемещение с частотой до 2 кГц.
В результате плата управления передавала бы на проектор любое изображение, а датчик — отслеживал реакцию человеческого глаза на это. До этого подобные стенды уже использовались для исследований, но из-за технических ограничений имели время реакции больше 16 мс. Это недостаточно быстро, поскольку реальный человеческий глаз «обновляет» изображение с частотой свыше 1000 Гц. Поэтому итоговое время реакции разрабатываемого стенда должно было быть существенно меньше, чем у аналогов.
Ограничения
Для такой уникальной задачи среди наших фриланс-команд не было специалистов, кто смог бы подобрать подобное оборудование, собрать стенд, сконфигурировать и все отладить.
Задача очень нестандартная и не связана с разработкой web приложений. Поэтому с нашей стороны нужно было проявить организаторские способности: найти узкопрофильных специалистов, которые бы уже имели опыт работы с FPGA и решали подобные задачи. После чего выстроить коммуникацию между заказчиком и исполнителями и проконтролировать этапы работы.
Дополнительным фактором были жесткие требования с точки зрения бюджета: например, выбирать дорогостоящее оборудование или чересчур высокооплачиваемых исполнителей.
В результате с нашей стороны требовалось:
- найти специалистов как по оборудованию (hardware), так и по его настройке и программированию (software);
- сформулировать техническое задание на написание программы, изготовление платы и стенда;
- проконтролировать все этапы работы: от заказа оборудования до сборки стенда и тестирования;
- уложиться в заданный бюджет.
Команда
Для проекта потребовалось 4 аутсорс сотрудника:
- hardware специалист: подбирал и заказывал все оборудование, а также занимался сборкой и отладкой стенда;
- software разработчик: конфигурировал FPGA плату на VHDL и реализовывал саму программу на языке C;
- CI/CD инженер: организовывал удаленное программирование стенда и следил за взаимодействием разработчиков;
- проджект-менеджер: следил за ходом выполнения проекта и организовывал коммуникацию с заказчиком.
Реализация
После того, как мы разобрались в технических требованиях к стенду и смогли найти специалистов, приступили к реализации. Чтобы уложиться в бюджет, выбрали FPGA процессор и компоненты платы от компании Xilinx — они полностью соответствовали требованиям, при этом стоимость была в несколько раз ниже аналогов.
Когда все оборудование приехало под заказ, hardware специалист собрал готовый стенд из датчика, проектора и платы непосредственно в Фраунхоферовском институте. А затем software разработчик удаленно настраивал оборудование и писал программу, параллельно с поэтапной отладкой стенда.
В ходе отладки боролись буквально за каждую миллисекунду, чтобы соответствовать техническим требованиям к стенду. Например, возникла проблема с влиянием электромагнитных помех на сигнал от датчика движения глаза — это увеличивало время реакции. Для решения реализовали дополнительную аналоговую схему для переключения уровня сигналов: устранили помехи, а вместе с ним и уменьшили время реакции.
Зафиксированное время отклика на движение человеческого глаза — менее 5 мс, что намного меньше аналогичных стендов. Перемещение глаза фиксируется с точностью 2 пикселя, что позволяет изучать микросаккады разной частоты и амплитуды. На стенде уже проводятся эксперименты студентами и научными работниками — например, по изучению прогнозирования траектории взгляда и высокочастотной стимуляции глаза различными изображениями.