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