solve

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

Описание

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

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

свернуть все

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

Пример: ks = simscape.multibody.KinematicsSolver ('sm_double_pendulum')

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

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

Пример0 45 30]'

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

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

Пример10 25]'

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

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

свернуть все

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

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

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

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

  • Удовлетворяют 1 ограничению модели - All и целевым переменным.

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

Введенный в R2019a