Улучшение скорости и точности

Почему скорость и вопрос точности для симуляции в реальном времени

Скорость и точность являются определяющими факторами для того, чтобы сделать вашу модель в реальном времени способный. Ваша модель в реальном времени способный, если оба из этих условий удовлетворяет, когда вы моделируете его на своем конкретном целевом компьютере:

  • Нет никаких переполнений.

  • Результаты симуляции соответствуют вашим критериям для точности.

Скорость объективна. Часы реального времени определяют, достаточно ли ваша модель быстра для симуляции в реальном времени. Для каждого шага, который делает ваш решатель, ваша аппаратная система в реальном времени отслеживает время, когда это берет, чтобы выполнить эти задачи обработки:

  • Выполните симуляцию.

  • Ввод и вывод процесса.

  • Выполните общие компьютерные задачи.

Переполнение происходит, когда для любого временного шага время, когда это берет вашу систему, чтобы выполнить задачи обработки, превышает предел в реальном времени для задач. Если ваша целевая машина сообщает о каких-либо переполнениях, когда вы используете ее, чтобы моделировать вашу модель, ваша модель не достаточно быстра для симуляции в реальном времени.

Ваша модель Simscape™ точна, если она приводит к результатам, которые соглашаются с эмпирическими и теоретическими данными, которые являются основанием для вашей модели. Точность более субъективна, когда основа и данные моделирования подобны, но не находятся в абсолютном соглашении. Чтобы определить, достаточно ли ваша модель точна для симуляции в реальном времени, когда данные не соответствуют отлично, рассматривают эти вопросы:

  • Модель представляет явления, которые вы хотите, чтобы она измерила?

  • Это представляет те явления правильно?

  • Если вы планируете использовать свою модель, чтобы протестировать ваше проектирование контроллера, действительно ли модель достаточно точна, чтобы привести к результатам, на которые можно полагаться для системной проверки?

Единственный способ протестировать, является ли ваша модель в реальном времени способный, состоит в том, чтобы запустить ее на вашем фактическом целевом компьютере в реальном времени с помощью фиксированного шага, решателей фиксированных затрат. Можно, однако, оценить, и ли модель быстра и достаточно точна для симуляции в реальном времени путем анализа результатов настольной симуляции. Чтобы оценить, является ли ваша модель в реальном времени способный, смотрите, Определяют Затраты на Вычисление Размера и Оценки Шага.

Если анализ от настольной симуляции указывает, что ваша модель, вероятно, не в реальном времени способный, скорость модели увеличения или точность прежде, чем развернуть вашу модель на вашей машине реального времени. Увеличение скорости вашей симуляции имеет тенденцию уменьшать точность и с другой стороны увеличивающуюся скорость уменьшений точности. Чтобы сделать вашу модель в реальном времени способный, сохраните равновесие между скоростью и точностью.

Балансировка скорости и точности

Скорость симуляции и точность коррелируют к вашему выбору для:

  • Точность модели и осциллограф

  • Аппаратная вычислительная мощность в реальном времени

  • Шаг расчета решателя (размер шага) и количество итераций

Пытаться увеличить скорость симуляции, потенциально за счет точности:

  • Уменьшите точность модели или осциллограф.

  • Увеличьте шаг расчета.

  • Сократите число итераций решателя.

Пытаться увеличить точность симуляции, потенциально за счет скорости:

  • Увеличьте точность модели или осциллограф.

  • Уменьшите шаг расчета.

  • Увеличьте число итераций решателя.

Пытаться увеличить и точность и скорость или любую, не жертвуя другим, вычислительной мощностью увеличения. Чтобы увеличить вычислительную мощность, используйте более быстрый процессор в реальном времени или вычислите параллельно.

Тип решателя, который вы задаете также, влияет на скорость симуляции и точность. Для симуляции фиксированного шага Simscape локальные решатели быстрее и так же точны как глобальные решатели Simulink®. Неявные решатели быстрее, но менее точны, чем явные решатели. Однако числовая жесткость сети является также детерминантом для решения, использовать ли неявный решатель или явный решатель. Явные решатели приводят к более точным результатам для численно жестких сетей.

Для получения дополнительной информации о том, как сложность модели влияет на скорость и точность, смотрите Эффекты Устранения, Которые Требуют Интенсивного Вычисления. Для получения дополнительной информации, о том, как настройки решателя влияют на скорость и точность, смотрите Оптимизирующие Локальные и Глобальные Настройки Решателя.

Возможно, что нет никакой комбинации сложности модели и настроек решателя, которые могут сделать вашу модель в реальном времени способный. Если симуляция не запускается в режиме реального времени на целевой машине, или если точность недопустима, рассмотрите эти возможности для увеличения скорости и точности:

Устранение производит, которые требуют интенсивного вычисления

Если ваш настольный анализ методом моделирования указывает, что ваша модель, вероятно, не достаточно быстра для симуляции в реальном времени, устраните эффекты, которые требуют интенсивного вычисления. Идентифицируйте элементы в своей модели, которые вызывают дорогостоящие эффекты, такие как разрывы и быстрые изменения, которые имеют тенденцию замедлять симуляции.

Элементы, которые вызывают разрывы, включают:

  • Жесткие остановки или обратная реакция

  • Трение промаха палки

  • Переключатели или муфты

Элементы с небольшими временными константами, которые вызывают быстрые изменения, включают:

  • Маленькие массы, присоединенные к жестким пружинам с минимальным затуханием

  • Электрические схемы с низкой емкостью, индуктивностью и сопротивлением

  • Гидросхемы с маленькими сжимаемыми объемами

Чтобы устранить или изменить элементы, которые ответственны за эффекты, которые замедляют вашу симуляцию, используйте эти подходы:

  • Замените нелинейные компоненты на линеаризовавшие версии.

  • Замените комплексные уравнения на интерполяционные таблицы для их решения.

  • Замените сложные компоненты на упрощенные модели.

  • Сглаженные разрывные функции (ступенчатые изменения) с фильтрами, задержками и другими методами.

Оптимизация локальных и глобальных настроек решателя

Можно также влиять на скорость и точность симуляции посредством спецификаций решателя. Уровень точности, которую обеспечивает ваша машина реального времени, не обязательно коррелирует к определенному размеру шага через все сети в одной модели. Машина реального времени может дать точные результаты для простой сети в вашей модели, но неточные результаты для более комплексной сети. Используйте в своих интересах способность задать настройки другого решателя для каждой сети в вашей модели Simscape. Чтобы помочь сделать вашу модель в реальном времени способный, сконфигурируйте свой глобальный решатель фиксированного шага и каждый локальный решатель индивидуально.

Для получения информации об опциях решателя и определении решателей, которые помогают сделать вашу модель Simscape в реальном времени способный, смотрите Решатели для Симуляции В реальном времени.

Обновление целевого компьютера

Различные цели дают переменные уровни точности при использовании того же размера шага, чтобы моделировать ту же модель. Можно убыстриться или увеличить точность симуляции в реальном времени при помощи более быстрого целевого компьютера в реальном времени.

Симуляция частей системы параллельно

Другой подход для увеличения скорости при поддержании точности должен сконфигурировать модель, чтобы оценить несколько физических сетей параллельно. Можно разделить модель, если сети не зависят друг от друга. Работа с и эксперимент с вашей моделью, сгенерированным кодом и машиной реального времени, чтобы использовать этот подход.

Связанные примеры

Больше о