Что такое Hardware-in-the-Loop или HIL?
13.09.2019
Hardware-in-the-Loop (HIL) или на инженерном жаргоне “хил” - это способ сократить время и деньги на испытаниях встраиваемых систем. Делается это с помощью специализированных стендов, на которых математическая модель объекта управления работает в реальном времени, а испытываемый блок управления (Device Under Test или DUT) подключается к этому стенду и управляет моделью объекта. Объектом интереса является сам контроллер или блок управления.
С технической точки зрения:
-
HIL стенд представляет собой надежный ПК, на котором работает операционная система реального времени для которой ключевым приоритетом является счет вашей математической модели в реальном времени. Это значит, что просчет вашей модели точно уложится в отведенное ей время, и никакой процесс не помешает счету.
-
Стенд общается с испытываемым контроллером по реальным промышленным интерфейсам, потому контроллер “думает”, что работает с реальным объектом управления. Сбор данных и передача в модель также происходят в реальном времени.
-
Вычисление модели происходит как на центральном процессоре, так и на высокопроизводительных ПЛИС, которые позволяют запускать модели с временем дискретизации до десятков микросекунд.
-
Стенд изготавливается “под ключ”, то есть ваш контроллер подключается по принципу PLUG&PLAY.
-
Стенды предназначены для бесшовной работы с моделями Simulink. С минимальной настройкой модель запускается на таком стенде.
Какая польза? Ее очень много!
-
Такой стенд позволяет выловить огромное количество ошибок в лабораторных условиях. То есть, не нужно проводить “киломесяцы" в полях, пытаясь понять, что не так с вашей системой.
-
Вносим любые типы ошибок и не ломаем при этом реальный объект, но смотрим как справляется наш контроллер с этой неисправностью. Можем внести короткое замыкание или разрыв, или же подать неверные данные.
-
В случае если идет несколько проектов параллельно, то такой стенд можно переконфигурировать крайне быстро и подключить другой контроллер для испытаний.
-
Стенд позволяет воспроизвести некорректное поведение системы и выявить, что привело к сбою. На уровне стенда можно воссоздать любые внешние условия и подать захваченные во время сбоя реальной системы сигналы.
По нашему опыту, в Европе такие стенды поставляются сотнями в неделю для самых разных производственных компаний от гигантов в авиа- и авто-строении до небольших компаний в области промышленной автоматики. Моделируют всевозможные системы: подвеску, коробки передач, электрические двигатели, энергосети, системы кондиционирования, насосы, движение транспортных средств, батареи, ДВС и т.д. То есть все, чем можно управлять, моделируют в реальном времени для испытания контроллеров.
Мы поставляем стенды реального времени как отечественного, так и зарубежного производства, чтобы полностью удовлетворить требованиям ваших проектов. Даже готовы дать попробовать, чтобы запустить ваши модели и убедиться, что модель хорошо работает.
Я 4 года проработал своими руками проводя тестирование на таких стендах в одном немецком автоконцерне, потому могу в деталях рассказать об организации тестирования в реальном времени.
С радостью отвечу на ваши вопросы об этой технологии.
Комментарии
Вопрос: как испытываются с помощью HIL нейросетевые системы управления? Есть примеры?
Нейросетевые алгоритмы управления тестируются точно также как и другие алгоритмы.
1. В первую очередь необходимо отладить алгоритм упрвления на модели объекта управления в Simulink без какого-либо реального времени. Если на модели все заработает, то можно переходить к тестированию в реальном времени.
2. Саму нейросеть нужно перенести на целевую платформу (реальный вычислитель, где она будет работать и управлять). Из MATLAB нейросеть можно перенести на встраиваемые вычислители NVIDIA (например, Jetson) с помощью GPU Coder или на простые микропроцессоры с помощью Embedded Coder. В этих процессах мы можем провести вас за руку.
3. На HIL системе запускаем модель объекта управления, собранную в Simulink, и подключаем к нему вычислитель с обученной нейросетью. Мы с радостью поможем с переносом вашей модели объекта управления из Simulink в реальное время.
4. Пример в РФ пока не видно, однако уже есть публикации с тестирование reinforcement learning на HIL системах: https://ieeexplore.ieee.org/document/8665712
Я рекомендую обратить внимание на Reinforcement Learning Toolbox. Это обучение с подкрепление в основном используемое в системах управления и робототехнике. Аркадий Туревский презентовал на конференции эту технологию https://exponenta.ru/events/keynote-iskusstvennyj-intellekt.
На русском пока ролики не писали про reinforcement learning, однако у MathWorks уже есть:
Большое спасибо!