Решение задач кинематики для многофюзеляжной модели
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 объект игнорирует любые контакты и несколько параметров блоков соединения, например «Цели состояния», «Пределы», «Приведение в действие» и «Конфигурация режима». Например, во время анализа два тела могут проникать друг в друга, даже если существует блок пространственной контактной силы, который соединяет их. Параметры блока имеют значение 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