Решите задачи кинематики для модели мультитела
KinematicsSolver
объекты позволяют пользователям формулировать и численно решать задачи кинематики для своих моделей Simscape™ Multibody™. Можно использовать объект решить стандарт вперед и задачи инверсной кинематики, а также более общие проблемы с кинематическими системами с обратной связью и несколькими целями.
Проблема кинематики формулируется с помощью кинематических переменных. Эти переменные имеют скалярные значения, которые задают отношения между системами координат в соответствующей модели Simscape Multibody. Существует два типа кинематических переменных: соединение и система координат. Объединенные переменные соответствуют объединенным состояниям положения и скорости и автоматически созданы, когда объект создается. Можно просмотреть объединенные переменные с помощью jointPositionVariables
и jointVelocityVariables
функции объекта. Структурируйте переменные, соответствуют отношениям положения и скорости между произвольными системами координат в модели и должен быть задан с помощью addFrameVariables
объектная функция. После того, как заданный, они могут быть просмотрены с помощью frameVariables
объектная функция.
Чтобы сформулировать проблему кинематики, необходимо присвоить роли для соответствующих кинематических переменных. Существует три роли: цели, исходные предположения и выходные параметры. Переменные присвоены этим ролям с помощью addTargetVariables
, addInitialGuessVariables
, и addOutputVariables
объектная функция. Чтобы решить задачу с присвоенными переменными, используйте solve
объектная функция. Начиная с начального состояния, решатель пытается найти конечное состояние системы сопоставимым со значениями целевых переменных. Начальное состояние синтезируется с помощью значений переменных исходного предположения. Начальные состояния, которые не заданы переменными исходного предположения, инициализируются, чтобы обнулить. Значения выходных переменных получены на конечное состояние, возвращенное решателем. Если решатель не может найти конечное состояние, которое удовлетворяет всем целям, он пытается, по крайней мере, возвратить состояние, которое кинематическим образом выполнимо.
создает ks
= simscape.multibody.KinematicsSolver(modelName)KinematicsSolver
объект для модели называют в mdl
. Объект содержит представление модели, подходящей для кинематического анализа. Представление является снимком состояния модели, как это - когда объект создается. Последующие изменения к модели не переносят на объект. Создайте новый объект, при необходимости чтобы получить те изменения.
Модель должна содержать сеть Simscape Multibody, и необходимо загрузить модель в память прежде, чем создать ее KinematicsSolver
объект. Если блоки модели имеют переменные MATLAB, необходимо численно задать те переменные в рабочем пространстве модели или рабочем пространстве MATLAB. KinematicsSolver
объект игнорирует любые контакты и несколько параметров блоков соединений, как State Targets, Limits, Actuation и Mode Configuration. Например, во время анализа, два тела могут проникнуть друг друга даже при том, что существует блок Spatial Contact Force, который соединяет их. Набор параметров блоков к Run-Time
оценены при создании объекта и не может быть изменен позже.
KinematicsSolver
объект является объектом указателя. Переменная, созданная из него, содержит не копию объекта, а ссылки на него. Переменная действует как указатель или указатель. Изменение указателя изменяет также объект и все его остающиеся указатели. Копирование объекта KinematicsSolver и добавление переменной системы координат к копии, например, добавляют, что переменная системы координат к объекту и так также к любым другим указателям может иметь.
создает ks
= simscape.multibody.KinematicsSolver(___,Name,Value)KinematicsSolver
объект с дополнительными опциями, заданными одним или несколькими Name,Value
парные аргументы.
frameVariables
| initialGuessVariables
| jointPositionVariables
| jointVelocityVariables
| outputVariables
| targetVariables
| addFrameVariables
| addInitialGuessVariables
| addOutputVariables
| addTargetVariables
| removeFrameVariables
| removeInitialGuessVariables
| removeOutputVariables
| removeTargetVariables
| clearFrameVariables
| clearInitialGuessVariables
| clearOutputVariables
| clearTargetVariables
| generateCode
| setVariableUnit
| solve
| viewSolution
| closeViewer