Задача верификатора имени Марселя Пруста
🔧 Этап верификации особенный. Планы, по которым следует работать, уже написаны, дописаны и переписаны ни один раз. Требования разработаны. Даже железка собрана и стоит в углу красивая с зашитым в нее ПО. И казалось бы, отправляй в машину или на самолет, что с ней будет?
Но конечно сначала надо доказать, что реализованный прибор работает именно так, как от него требовалось. И доказывается это в том числе испытаниями.
🧩 В одном из наших проектов мы столкнулись с типовой задачей: надо измерить время реакции прибора на изменение входного воздействия. А вот решать ее пришлось не типовыми способами.
💬 Интересно узнать, как бы такую задачу решили вы, пишите в комментариях!
А сейчас условия:
🔹 Есть задатчик входного воздействия. Он электронный, быстрый и красивый, но выдает значения нелинейно, ступеньками без фиксированного шага и периода, зато отображает текущее значение на собственном мониторчике.
🔹 Опытный прибор измеряет входное воздействие с задатчика и преобразует его в напряжение и выдает на вольтметр. Показания вольтметра записываются в испытательный компьютер.
🎯 Нам нужно измерить время реакции прибора, задержку между изменением входного воздействия, и изменением напряжения на выходе.
Казалось бы, есть и вход, и выход, чего тут мерить? Но нет общей точки отсчета времени.
И тогда мы по стопам Эйнштейна начали всерьез заниматься проблемой измерения времени. Не претендуем на Нобелевскую премию, но задачу релятивистски решили.
💡 Идея №1
Первая мысль: «а давайте просто заведем сигнал с задатчика в наш измерительный компьютер, который фиксирует вольтметр!». Компьютер узнает, когда задатчик выдал сигнал, засечет время, и мы вычтем задержку.
Проблема: стенд аттестован и поверен. Любое вмешательство в его конфигурацию ведет к необходимости проводить эту процедуру повторно. Хорошо, но все задачи должны быть решены вчера, поэтому не подходит.
📱 Идея №2
Раз стенд менять нельзя, значит, будем снимать показания глазами. Но глазами невозможно измерить миллисекунды. В ход пошла тяжелая артиллерия, камера смартфона.
План был красив: снимаем на видео экран задатчика (момент, когда входное значение начало расти) и одновременно показания вольтметра на выходе прибора. Разбиваем видео на кадры, вуаля, задержка вычислена с точностью до периода съемки.
И тут мы натыкаемся на стену. Камера телефона ведь тоже не аттестована! И пусть кадры будут красивые, но для заключения о соответствии требования не подойдут.
Если в нашем сообществе есть специалисты по аттестации камер смартфонов в качестве испытательного оборудования, свяжитесь с нами, пожалуйста.
📱📱Идея №3
С камерой разобрались, она измерит непонятно что и как. Верить нельзя. Но что, если одновременно снимать двумя телефонами?
Конечно мы знаем об общих ошибках, поэтому сразу появилось понимание, что камеры должны быть от разных производителей, на разных телефонах с разными операционными системами.
Логика железная: если оба телефона, снимающие одну и ту же сцену (экран задатчика и экран вольтметра), покажут одну и ту же задержку между изменением входа и напряжения, значит, погрешности камер взаимно исключаются. Плюс мы готовы были поставить рядом поверенный секундомер, чтобы привязаться к абсолютному времени. Казалось, гениальный план удался.
Да, не аттестовано, но ведь вероятность того, что при одинаковом результате будет допущена одинаковая ошибка стремится к нулю. Мы уже потирали руки, представляя, как пишем методику с «двумя независимыми видеофиксаторами».
⚠️ Но снова неудача, оказывается в паспорте задатчика не указана задержка его собственного экрана!
По результатам мы могли получить ситуацию, когда выход меняется быстрее входа, что нарушает обязательную причинно-следственную связь и еще несколько физических принципов.
Надежда рухнула. Мы уткнулись в механику и электронику самого задатчика, которые мы не контролируем.
💻 Идея №4
Оставался последний рубеж, измерить время реакции на уровне ПО самого прибора. На стенде интеграционного тестирования ПО такую возможность мы предусмотрели заранее.
Но и тут нас ждал подвох.
Post #296
338
- ❤ 2
- 🔥 1