Блоки соединений обеспечивают два параметра приведения в действие. Эти параметры, Force/ Torque и Motion, управляют поведением соединения во время симуляции. В зависимости от настроек параметра, которые вы выбираете, блок соединений может принять параметр приведения в действие как входной параметр или автоматически вычислить его значение во время симуляции.
Дополнительная настройка (None
) позволяет вам установить силу приводов/крутящий момент непосредственно на нуль. Примитив соединения свободно перемещается во время симуляции, но он не имеет входов привода. Движение косвенно связано с силами и крутящими моментами, действующими в другом месте модели, или непосредственно с целями состояния скорости.
Как и все параметры блока соединений, вы выбираете настройки параметра приведения в действие для каждого примитива соединения отдельно. Различные примитивы соединений в том же блоке не должны иметь одинаковых настроек приведения в действие. Используя блок Pin Slot Joint, для примера можно предоставить вход движения и иметь приводной крутящий момент, автоматически вычисленный для Z Revolute Primitive (Rz), при этом движение автоматически вычисляется без силы приводов для X Prismatic Primitive (Px).
Путем объединения различных Force/ Torque и Motion настроек приведения в действие можно достичь различных режимов приведения в действие соединений. Динамика вперед и режимы обратной динамики являются двумя общими примерами. Вы приводите в действие примитив соединения в режиме прямой динамики, обеспечивая силу приводов/крутящий момент в качестве входного параметра при автоматическом вычислении движения. И наоборот, вы приводите в действие примитив соединения в режиме обратной динамики, обеспечивая движение как вход при автоматическом вычислении силы приводов/крутящего момента.
Другие режимы приведения в действие соединений, включая полностью вычисленные и полностью определенные режимы, возможны. Таблица суммирует различные режимы приведения в действие, которые можно получить, манипулируя настройками параметра приведения в действие.
Режимы приведения в действие соединений
В более общем плане мышление приведения в действие соединений с точки зрения заданных или вычисленных величин - то есть силы/крутящего момента и движения - обеспечивает более практичный подход моделирования. Вы можете не всегда знать подходящий режим для соединения, но, спланировав модель заранее, вы всегда должны знать ответы на два вопроса:
Примитив соединения механически приведен в действие?
Известна ли желаемая траектория примитива соединения?
Выбирая настройки приведения в действие соединений на основе ответов на эти вопросы, можно убедиться, что каждое соединение правильно задано для вашего приложения. Рисунок показывает правильные настройки в зависимости от ваших ответов.
Выбор настроек приведения в действие примитива соединения
Вход движения примитива соединения является объектом timeseries, задающим траекторию этого примитива. Для призматического примитива эта траектория является координатой положения вдоль примитивной оси, заданной как функция времени. Координата обеспечивает положение начала последующей системы координат относительно источника базовой системы координат. Примитивная ось разрешена в базовой системе координат.
Для вращательного примитива траектория является углом вокруг примитивной оси, заданным как функция времени. Этот угол обеспечивает поворот последующей системы координат относительно базовой системы координат вокруг оси примитива. Ось разрешена в базовой системе координат.
Примитивы сферических соединений не обеспечивают опций приведения в действие движения. Можно задать крутящий момент приведения в действие для этих примитивов, но вы не можете предписать их траектории. Эти траектории всегда автоматически вычисляются из динамики модели во время симуляции.
В отличие от Actuation > Force/Torque, параметр Actuation > Motion не обеспечивает нуль входа, соответствующую фиксированному примитиву соединения во время симуляции. Можно, однако, назначить нулевое движение так же, как вы предписываете все другие типы движения: с помощью Simscape™ и Simulink® блоки.
В Simscape Multibody™ входные сигналы движения являются ориентированными на положение. Вы задаете положение примитива соединения и, если фильтровать во второй порядок, блок Simulink-PS Converter сглаживает сигнал, предоставляя две производные по времени автоматически. Это поведение делает нулевое предписание движения прямолинейным: просто предоставьте постоянный сигнал на входной порт приведения в действие движения примитива соединения и симулируйте.
Рисунок показывает пример рецепта нулевого движения. Блок Simulink Constant обеспечивает постоянное значение положения. Блок Simulink-PS Converter преобразует этот сигнал Simulink в сигнал Simscape, совместимый с входным портом приведения в действие движения блока Base-Crank Revolute Joint. Если предположить, что сборка и симуляция успешны, это соединение будет поддерживать фиксированный угол в 30 степени, соответствующий значению, установленному в блоке Simulink Constant и модулях набору в блоке Simulink-PS Converter.
При назначении примитивной траектории соединения практично задавать один вход, положение и фильтровать этот вход с помощью блока Simulink-PS Converter. Этот фильтр, который должен быть второго порядка, автоматически предоставляет две производные по времени от входа движения. Поскольку он также сглаживает входной сигнал, фильтр может помочь предотвратить проблемы симуляции из-за внезапных изменений или разрывов, таких как те, которые присутствуют при использовании блока Step Simulink.
Фильтрация сглаживает входной сигнал в течение шкалы времени порядка временной константы входной фильтрации. Чем больше константа времени, тем больше сглаживание сигнала и тем более искаженный сигнал имеет тенденцию становиться. Чем меньше константа времени, тем ближе фильтрованный сигнал к входному сигналу, но также и тем больше жесткость модели - и, следовательно, тем медленнее симуляция.
Как руководство, временная константа входной фильтрации должна быть только такой маленькой, как наименьшая релевантная шкала времени в модели. По умолчанию его значение составляет 0,001 с. Хотя это значение подходит для многих моделей, часто это значение слишком мало для моделей Simscape Multibody. Для более быстрой симуляции начните со значением 0,01 с. Уменьшите это значение для большей точности.
Если вы знаете две производные по времени от входного сигнала движения, можно задать их непосредственно. Этот подход наиболее удобен для простых траекторий с простыми производными. Вы должны, однако, убедиться, что два производных сигнала совместимы с сигналом положения. Если они не являются, даже когда симуляция протекает, результаты могут быть неточными.
Simscape Multibody шарниры с входами движения начинают симуляцию (Ctrl + T) в исходном положении, диктуемом входным сигналом. Это начальное положение может отличаться от собранного состояния, которое управляется алгоритмом сборки, оптимизированным для достижения положений шарниров, если таковые имеются. Даже при отсутствии положений шарниров собранное состояние может отличаться от состояния в нулевом времени симуляции.
Примечание
Вы получаете собранное состояние каждый раз, когда вы обновляете блок, например, нажимая Ctrl + D. Вы получаете начальное состояние симуляции каждый раз, когда запускаете симуляцию, например, нажатием Ctrl + T и паузой в начальный момент времени.
Из-за расхождения между двумя состояниями, Model Report предоставляет точные исходные данные о состоянии только для моделей, не имеющих входов движения. Для моделей, обладающих входами движения, эти данные точны только, когда начальное положение, предписанное входным сигналом движения, в точности совпадает с начальным положением, предписанным в положения шарниров.
Точно так же Mechanics Explorer отображает начальные состояния соединений точно только для моделей, не имеющих входов движения. Когда он переходит от собранного состояния к начальному состоянию симуляции, Mechanics Explorer может показать внезапный переход, содержит ли модель входные параметры движения, которые несовместимы с положениями шарниров. Можно исключить внезапное изменение, сделав начальное положение, предписанное входами движения соединения, равным исходному положению, предписанному положениями шарниров.
Если фильтрация входного сигнала с помощью блока Simulink-PS Converter, вам нужно только предоставить сигнал положения. Блок автоматически вычисляет производные. Однако необходимо выбрать фильтрацию второго порядка в диалоговом окне блока:
Откройте диалоговое окно блока Simulink-PS Converter и нажмите Input Handling.
В Filtering and derivatives выберите Filter input
.
В Input filtering order выберите Second-order filtering
.
В Input filtering time constant (in seconds) введите характеристическое время, в течение которого фильтр сглаживает сигнал. Хорошее начальное значение 0.01
секунд.
Если входы производные предоставляются непосредственно, необходимо сначала вычислить эти производные. Затем, используя блок Simulink-PS Converter, можно предоставить их целевому блоку соединений. Чтобы задать входные производные непосредственно:
Откройте блок Simulink-PS Converter, принимающий входной сигнал, и щелкните вкладку Input Handling.
В Filtering and derivatives выберите Provide input derivative(s)
.
Чтобы задать обе производные, в Input derivatives, выберите Provide first and second derivatives
.
Блок отображает два дополнительных порта физического сигнала, по одному для каждой производной.