solve

Запустите кинематический анализ для объекта KinematicsSolver

Описание

[outputs,statusFlag,targetFlags,targets] = solve(ks,targets,initialGuesses) решает, или пытается решить, кинематическую задачу, поставленную в KinematicsSolver ks объекта. Неизвестными являются переменные, назначенные в качестве выходов в ks. Их решение зависит от ограничений начального положения модели и от целей положения объекта. Когда существует несколько решений, положение угадывает смещение решателя к одному над другими.

Входные параметры

свернуть все

A KinematicsSolver объект является представлением модели Simscape Multibody, используемой для кинематического анализа.

Пример: ks = simscape.multibody.KinematicsSolver ('sm _ double _ mendulum')

Типы данных: KinematicsSolver object

Желаемые значения целевых переменных ks. Задайте значения в порядке переменных, как показано на targetVariables таблица. Значения интерпретируются в модулях, перечисленных в таблице. Если целевых переменных нет, введите пустой вектор. Если ни целевые, ни начальные переменные не существуют, вводите пустой вектор или вообще опускайте аргумент.

Пример: '[0 45 30]'

Типы данных: double

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

Пример: '[10 25]'

Типы данных: double

Выходные аргументы

свернуть все

Вычисленные значения выходных переменных. Переменные показывают в порядке своего рейтинга в outputVariables таблица. Каждый из них находится в перечисленных там модулях.

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

Типы данных: double

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

  • 1 - Все ограничения модели и целевые переменные удовлетворены.

  • 2 - Все ограничения модели и целевые переменные удовлетворены, но механизм находится в сингулярном строении.

  • -1 - Все ограничения модели удовлетворены, но одна или несколько целевых переменных не удовлетворены.

  • -2 - Все ограничения модели удовлетворены, но одна или несколько целевых переменных не удовлетворены, и механизм находится в сингулярном строении.

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

  • -4 - Решение недопустимо, поскольку механизм находится в сингулярном строении. Для выходных переменных задано значение NaN.

Примечание

В сингулярном строении движение механизма ограничено, и определенные скорости не могут быть вычислены. Наиболее распространенный тип кинематической особенности обусловлен карданной блокировкой в Bearing Joint, Bushing Joint или Gimbal Joint. В сложение механизмы с Constant Velocity Joint или ремнем сетью могут также иметь кинематические особенности.

Типы данных: double

Логические флаги со статусом каждой целевой переменной. Логический 1 указывает, что целевой объект выполнен. Логический 0 указывает, что он был пропущен. Флаги отображаются в порядке, указанном в targetVariables таблица объекта. Вектор пуст в кинематических задачах без целевых переменных.

Типы данных: double

Вычисленные значения целевых переменных ks. Это те же целевые переменные, что и в входные параметры. Переменные показывают в порядке своего рейтинга в targetVariables таблица. Каждый из них находится в перечисленных там модулях.

Типы данных: double

См. также

Введенный в R2019a