Улучшание производительности

Предупреждение

Это содержимое характерно для программного обеспечения Simscape™ Multibody™ First Generation. Функции первого поколения намечают, чтобы быть удержанными от использования и нужно избежать.

Оптимизация механических и математических настроек

Программное обеспечение Simscape Multibody является механическим средством моделирования общего назначения. С ним можно смоделировать и моделировать много типов машин с совсем другими поведениями. В некоторых случаях настройки, которые вы используете для машин “хорошего поведения”, не оптимальны для более трудного, чтобы моделировать системы. Simulink® и программное обеспечение Simscape Multibody дают вам большую свободу изменить механические и математические настройки, используемые в ваших симуляциях. Используйте эту гибкость, чтобы избежать ошибок симуляции и оптимизировать производительность согласно основному компромиссу между скоростью и точностью. Этот раздел объясняет методы для достижения этих целей.

Смотрите также:

Упрощение степеней свободы

В целом, чем больше степеней свободы (DoFs) вы добавляете к своей модели, тем медленнее симуляция.

Устранение ненужных степеней свободы

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

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

Замораживание “быстро” и “медленные” степени свободы

Связанное различие может быть сделано между DoFs, которые изменяются быстро и те, которые медленно изменяются. Такие системы “жестки” (буквально, в случае жесткой пружины, которая колеблется в очень высокой частоте) и часто трудно моделировать точно в соответствующее время.

Один подход к улучшению скорости должен выборочно заморозить определенный DoFs.

  1. Заморозьте или устраните “быстрый” DoFs и моделируйте только “медленный” DoFs.

  2. Заморозьте “медленный” DoFs в некоторой представительной настройке и моделируйте движение только “быстрого” DoFs.

Такая симуляция разделения между “быстрым” и “медленным” DoFs может изолировать важные функции поведения системы при игнорировании неважных функций.

Внимание

Разделение DoFs между “быстрыми” и “медленными” наборами и симуляция двух наборов отдельно забыли связываться между двумя наборами DoFs. Только полная симуляция может получить такую связь.

Смотрите Решающие Жесткие Системы для другого подхода к несоответствиям коэффициента оборачиваемости среди DoFs.

Удаление приводов прилипания

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

Симуляция в двух измерениях

Если ваша машина перемещается только в две размерности, не три, она имеет право на Simscape Multibody двумерная опция симуляции. Путем сокращения линейных и вращательных направлений с три до два и три одному, соответственно, эта опция может заметно улучшать производительность симуляции.

Смотрите выбор размерности вашей машины.

Корректировка допусков ограничения

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

Чтобы просмотреть и изменить эти настройки в вашей машине, смотрите Ограничения Поддержания и ссылку блока Machine Environment.

Сглаживание особенностей движения

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

Точные особенности являются восстанавливаемыми, если они формируют изолированные настройки, которых можно избежать путем беспокойства начального состояния или “переступания” через них во время симуляции. В этом случае окружение точной особенности квазисингулярно и подходит для устойчивой обработки особенности. Если машина имеет целое окружение постоянно связанных сингулярных настроек, движение в том окружении не может быть моделировано. Для примеров типичных особенностей смотрите Ошибки Несоответствия и Особенности Движения.

Предотвращение сингулярных начальных настроек

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

  • Машина может переместиться в два или три измерения, но запускается точно в одной или двух размерностях, соответственно.

  • Два или больше идентичных тела пространственно совпадают в положении и ориентации.

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

Узел Simscape Multibody 1G диалогового окна Параметров конфигурации позволяет вам включать предупреждения симуляции для возможных сингулярных начальных настроек. Смотрите Отказы Симуляции Предотвращения.

Изменение решателя Simulink и допусков

Решатель Dormand-принца (ode45), что использование Simulink по умолчанию работает хорошо на многие механические системы. Но если ваша симуляция, кажется, является медленной, и/или неточными необходимо рассмотреть изменение решателя и/или корректировку относительных и абсолютных допусков решателя. Хаотические и очень нелинейные системы особенно требуют, чтобы экспериментирование с другими решателями и допусками получило оптимальные результаты.

Консультируйтесь с документацией Simulink для больше о выборе решателей Simulink и допусков.

Решение жестких систем

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

См. документацию Simulink относительно выбора решателя (Simulink) для больше о жестких решателях.

Детали движения симуляции и игнорирования в реальном времени с решателями Фиксированного Шага

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

Используя фиксированный шаг решатель может быть выгодным в некоторых случаях, однако:

  • Если вы хотите проигнорировать неважные детали движения. Игнорирование их может ускорить вашу симуляцию, специально для большего временного шага.

  • Если вы моделируете в режиме реального времени со сгенерированным кодом. Решатели фиксированного шага обычно, но не исключительно, норма для симуляции в реальном времени.

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

Большинство решателей фиксированного шага Simulink является явным. Для жестких систем и больших временных шагов, неявный решатель, таких как решатель фиксированного шага ode14x может превосходить явный решатель в скорости и точности.

Корректировка временного шага в режиме реального времени симуляция

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

Чтобы удовлетворить этому условию, вам придется увеличить временной шаг или уменьшить время вычисления. Увеличение временного шага часто требует удаления “быстрого” DoFs модели. Уменьшение времени вычисления требует упрощения вашей модели. Можно сделать это наиболее легко путем удаления DoFs и/или ограничений. Смотрите Упрощение Степеней свободы.