• Регистрация
Денис Жегалин
Денис Жегалин +1341.97
н/д
  • Написать
  • Подписаться

Что такое Hardware-in-the-Loop или HIL?

13.09.2019

Hardware-in-the-Loop (HIL) или на инженерном жаргоне “хил” - это способ сократить время и деньги на испытаниях встраиваемых систем. Делается это с помощью специализированных стендов, на которых математическая модель объекта управления работает в реальном времени, а испытываемый блок управления (Device Under Test или DUT) подключается к этому стенду и управляет моделью объекта. Объектом интереса является сам контроллер или блок управления.

 
 
С технической точки зрения:
  1. HIL стенд представляет собой надежный ПК, на котором работает операционная система реального времени для которой ключевым приоритетом является счет вашей математической модели в реальном времени. Это значит, что просчет вашей модели точно уложится в отведенное ей время, и никакой процесс не помешает счету.
  2. Стенд общается с испытываемым контроллером по реальным промышленным интерфейсам, потому контроллер “думает”, что работает с реальным объектом управления. Сбор данных и передача в модель также происходят в реальном времени.
  3. Вычисление модели происходит как на центральном процессоре, так и на высокопроизводительных ПЛИС, которые позволяют запускать модели с временем дискретизации до десятков микросекунд. 
  4. Стенд изготавливается “под ключ”, то есть ваш контроллер подключается по принципу PLUG&PLAY.
  5. Стенды предназначены для бесшовной работы с моделями Simulink. С минимальной настройкой модель запускается на таком стенде.
 
Какая польза? Ее очень много!
  1. Такой стенд позволяет выловить огромное количество ошибок в лабораторных условиях. То есть, не нужно проводить “киломесяцы" в полях, пытаясь понять, что не так с вашей системой.
  2. Вносим любые типы ошибок и не ломаем при этом реальный объект, но смотрим как справляется наш контроллер с этой неисправностью. Можем внести короткое замыкание или разрыв, или же подать неверные данные.
  3. В случае если идет несколько проектов параллельно, то такой стенд можно переконфигурировать крайне быстро и подключить другой контроллер для испытаний.
  4. Стенд позволяет воспроизвести некорректное поведение системы и выявить, что привело к сбою. На уровне стенда можно воссоздать любые внешние условия и подать захваченные во время сбоя реальной системы сигналы.
 
По нашему опыту, в Европе такие стенды поставляются сотнями в неделю для самых разных производственных компаний от гигантов в авиа- и авто-строении до небольших компаний в области промышленной автоматики. Моделируют всевозможные системы: подвеску, коробки передач, электрические двигатели, энергосети, системы кондиционирования, насосы, движение транспортных средств, батареи, ДВС и т.д. То есть все, чем можно управлять, моделируют в реальном времени для испытания контроллеров. 
 
Мы поставляем стенды реального времени как отечественного, так и зарубежного производства, чтобы полностью удовлетворить требованиям ваших проектов. Даже готовы дать попробовать, чтобы запустить ваши модели и убедиться, что модель хорошо работает. 
 
Я 4 года проработал своими руками проводя тестирование на таких стендах в одном немецком автоконцерне, потому могу в деталях рассказать об организации тестирования в реальном времени.
 
С радостью отвечу на ваши вопросы об этой технологии.
 

Теги

  • wiki
  • HIL
  • функциональное тестирование
  • реальное время
  • стенд
    13.09.2019

    Комментарии

    • abrukov
      abrukov0.00
      17.09.2019 20:08

      Вопрос: как испытываются с помощью HIL нейросетевые системы управления? Есть примеры?

      • Денис Жегалин
        Денис Жегалин +1341.97
        18.09.2019 06:51

        Нейросетевые алгоритмы управления тестируются точно также как и другие алгоритмы.

        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 уже есть:

        1.  https://www.mathworks.com/videos/reinforcement-learning-part-1-what-is-reinforcement-learning-1551974943006.html
        2. Здесь электронная книга по обучению с подкреплением. https://www.mathworks.com/campaigns/offers/reinforcement-learning-with-matlab-intro-ebook.html
        3. Примеры доступны в документации https://docs.exponenta.ru/reinforcement-learning/examples.html

         

      • abrukov
        abrukov0.00
        23.09.2019 16:30

        Большое спасибо!