Эта тема обращается к программному обеспечению Simscape™ Multibody™ First Generation. Библиотека первого поколения удерживается от использования. Чтобы избежать проблем совместимости, создайте любые новые модели и преобразуйте любые существующие модели с помощью блоков второго поколения — доступные путем ввода команды smlib
в командной строке MATLAB®.
Это тематическое исследование находит устойчивое состояние платформы Стюарта с режимом Simscape Multibody Kinematics. Вы задаете движения и определяете силы и крутящие моменты, чтобы произвести те движения (обратная проблема динамики). Если вы не знакомы с реализацией обратной динамики в среде Simscape Multibody, работаете через Силы Открытия от Движений прежде, чем делать попытку этого тематического исследования.
Используйте режимы Inverse Dynamics и Kinematics в обратном динамическом анализе открытых - и системы закрытой топологии, соответственно. Платформа Стюарта имеет закрытую топологию и таким образом требует режима Kinematics. Если у вас есть рабочая точка, можно линеаризовать движение.
Чтобы завершить это тематическое исследование, необходимо использовать дополнительный продукт, Control System Toolbox .
Обрезка системы означает определять местоположение настройки своих состояний с определенными предшествующими условиями, наложенными на состояния и возможно их производные. В механическом контексте это означает внушительные условия на определенных положениях и скоростях, затем определяя остающиеся положения и скорости, таким образом, что целое состояние машины сопоставимо. Побочный продукт механической обрезки является определением сил/крутящих моментов, необходимых, чтобы произвести заданное движение. Эти состояния движения составляют или рабочую точку для обрезки. Обрезка проблем может иметь одно решение, больше чем один или ни один.
Чистая обратная динамика налагает предшествующие движения на все степени свободы. Затем все состояния определяются. (Непротиворечивость движений не гарантируется, но должна проверяться.) Только силы/крутящие моменты остаются, чтобы быть найденными.
Найти рабочую точку или устойчивое состояние для модели Simscape Multibody,
Используйте trim
команда в Simulink®. См. Обрезающие Механические Модели.
Используйте более мощные методы, обеспеченные Control System Toolbox™ и Simulink Control Design™. Займитесь Контроллерами и Объектами.
Используйте режимы динамики инверсии Simscape Multibody. Можно управлять механическими состояниями модели непосредственно с приведением в действие движения, а не управлять ими через Simulink.
Вот файлы, необходимые для этого тематического исследования. Модели также вызывают скрипт инициализации и функцию. Откройте первую модель.
Файл | Цель |
---|---|
mech_stewart_control_equil | Модель Kinematics для определения платформы Стюарта обеспечивает равновесие |
mech_stewart_control_equil_leg | Модель Library участка платформы Стюарта для кинематического анализа |
mech_stewart_control_plant | Передайте модель динамики для линеаризации платформы Стюарта |
mech_stewartplatform_leg | Модель Library участка платформы Стюарта для прямого динамического анализа |
mech_stewart_control_equil модель имеет некоторую предварительную установку настройки не по умолчанию.
Параметры конфигурации
Установка | Значение |
---|---|
Solver> Simulation time> Stop time | 0.005 секунды |
Data Import/Export | Time и States, выбранный> tout и xout |
Simscape Multibody 1G> Diagnostics | Mark automatically cut joints выбран |
Simscape Multibody 1G> Visualization | Display machines after updating diagram и Show animation during simulation выбран |
Среда машины
Установка | Значение |
---|---|
Parameters> Analysis mode | Kinematics |
Parameters> Machine Dimensionality | 3D Only |
Constraints> Constraint solver type | Machine Precision |
Constraints> Use robust singularity handling | Выбранный |
Шесть участков платформы Стюарта являются экземплярами основного участка, сохраненного в mech_stewart_control_equil_leg
библиотека. Это берет в качестве входных параметров сигналы приведения в действие движения, которые задают положение и скорость как функция времени. Сигналы положения задают движение платформы относительно начальной геометрической настройки.
В mech_stewart_control_equil подсистема Движения задает движение как тривиальное: обнуляет для всех шести положений участка и скоростей. Таким образом, модель содержит платформу все еще в ее начальном состоянии.
Каждые выходные параметры участка платформы Стюарта вычисленная сила участка должны были обеспечить движение, заданное приведением в действие движения. Эти шесть измеренных сил направлены к вашему рабочему пространству MATLAB блоком To Workspace.
Откройтесь К диалоговому окну Рабочей области.
Выходные силы хранятся в векторной переменной Forces
. Блок сохраняет вектор силы только от последнего временного шага.
Закройтесь К диалоговому окну Рабочей области.
Теперь запустите mech_stewart_control_equil.
Нажмите Start и ожидайте симуляции, чтобы закончиться.
В вашей рабочей области найдите tout
и xout
. Это временные шаги и соответствующие значения состояния, соответственно.
В режиме Inverse Dynamics существует 40 механических состояний, считаемых Simulink, сопоставленным с механическими ограничениями. Консультируйтесь с Идентификацией Simulink и Механических состояний Платформы Стюарта.
Найдите Forces
в рабочей области. Это шесть значений силы вдоль каждого участка, чтобы содержать платформу все еще против падения силой тяжести. Значения положительны (расширяемый) вдоль участков.
Знание установившихся сил должно было сохранить платформу все еще, вы теперь линеаризуете другую версию модели, mech_stewart_control_plant. Это имеет настройки, похожие на mech_stewart_control_equil, за исключением того, что:
Analysis mode установлен в Forward Dynamics
.
Время симуляции составляет 10 секунд.
Time и Output, tout
и yout
, соответственно, сохранены в рабочую область.
Откройте mech_stewart_control_plant
модель.
Эти шесть участков являются экземплярами mech_stewartplatform_leg библиотеки. Этот участок берет силу в качестве входа и выходного положения и скорости, в качестве подходящей для прямой динамики.
Стандартной входной переменной модели является u
. Сигнал вектора силы является входом модели.
Сигналами радиус-вектора и вектора скорости являются выходные параметры модели. Выходной переменной Data Import/Export является yout
и появится в вашей рабочей области, присвоенной с данными после того, как вы симулируете.
Закройте модель.
Можно симулировать mech_stewart_control_plant модель, не открывая его.
В командной строке войти
nomForces = Forces'; % Transpose the force vector
Линеаризуйте модель путем ввода
[A,B,C,D] = ... linmod('mech_stewart_control_plant',[],nomForces);
Аргументы в порядке,
Имя модели
Вектор состояния модели (не используемый)
Входной вектор модели u = nomForces
Эти (неуменьшаемые) выходные матрицы являются стандартным представлением пространства состояний линеаризовавшей модели. Пробел задан x, u, и y, состоянием, входом и выходными векторами, соответственно.
Существует 52 состояния, 6 входных параметров и 12 выходных параметров. Таким образом A, B, C, D имеет размерности 52 52, 52 6, 12 52, и 12 6, соответственно. Не все эти матричные записи независимы.
Этот шаг требует Control System Toolbox.
Из 52 механических состояний платформа Стюарта имеет только 12 независимых государств, соответствуя шести степеням свободы (число степеней свободы). Каждая степень свободы соответствует одному положению и одной скорости.
Чтобы устранить избыточные состояния, войти
[a,b,c,d] = ... minreal(A,B,C,D); 40 states removed.
в командной строке. a, b, c, матрицы d уменьшаются в размере до 12 12, 12 6, 12 12, 12 6, соответственно.
Смотрите Линеаризацию Открытой Топологии: Двойной Маятник и документация Simulink.
Обрезка в Режиме Кинематики и Линеаризация Платформы Стюарта в Рабочей точке представляют самый простой сценарий обрезки:
Все шесть степеней свободы (число степеней свободы) определяются предшествующей спецификацией положений и скоростей. Это входные параметры к проблеме. Выходные параметры являются силами, необходимыми, чтобы обеспечить заданное движение. Симуляция решает чистую обратную задачу динамики.
Фактические сигналы приведения в действие движения требуют, чтобы платформа содержала все еще относительно ее начальной геометрической настройки.
В более типичной проблеме обрезки вы задаете часть числа степеней свободы приведением в действие движения и оставляете другие свободными ответить силам/крутящим моментам. Такой сценарий является смешанной проблемой динамики. В среде Simscape Multibody можно решить такие задачи в
Передайте режим Dynamics, где дерево утверждает (число степеней свободы, соответствующее неразрезанным Соединениям), механические состояния
Режим Kinematics (закрытая топология), где сокращающие ограничения, которые заменяют Соединения сокращения, составляют механические состояния
Обратная Динамика (открывают топологию), где нет никаких механических состояний
Взаимозависимость инверсии и прямой динамики
Приведите в движение степень свободы с... | Распознайтесь на степени свободы... |
---|---|
Силы/крутящие моменты | Движения |
Движения | Силы/крутящие моменты |
Если вы хотите решить такую задачу для платформы Стюарта, вы должны
Используйте участок библиотеки с
Вход Force
Motion выход
для каждого участка, симулированного в прямой динамике. Вы приводите в движение его с силой и измеряете ее движение. Используйте mech_stewartplatform_leg библиотеку блоков.
Используйте участок библиотеки с
Вход Motion
Force выход
для каждого участка, симулированного в обратной динамике. Вы приводите в движение его с движением и измеряете соответствующую силу. Используйте mech_stewart_control_equil_leg библиотеку блоков.
Установившиеся выходные параметры являются в свою очередь входными параметрами для линеаризации.
Взаимозависимость обрезки и линеаризации
Обрезка Выхода становится... | ... Вход линеаризации |
---|---|
Измеренные движения становятся... | ... Сигналы приведения в действие движения |
Измеренные силы/крутящие моменты становятся... | ... Обеспечьте/закрутите сигналы приведения в действие |
Выполнить линеаризацию вашей системы,
Создайте различную модель в режиме Forward Dynamics, который берет
Установившиеся силы как входное приведение в действие силы линеаризации
Установившиеся движения как линеаризация вводят приведение в действие движения
Линеаризуйте с linmod
.
linmod('forward_dynamics_model_to_linearize', state, input)
Эта команда может подать входные параметры модели в линеаризовавшую симуляцию как аргумент команды. Дополнительную информацию см. в ссылке команды.