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 пикселя, что позволяет изучать микросаккады разной частоты и амплитуды. На стенде уже проводятся эксперименты студентами и научными работниками — например, по изучению прогнозирования траектории взгляда и высокочастотной стимуляции глаза различными изображениями.