В этом примере вы предписываете изменяющиеся во времени координаты траектории плоского кадра конца манипулятора относительно мирового кадра с помощью блока 6-DOF Joint. Этот блок обеспечивает необходимые степени свободы между двумя кадрами, но он не представляет действительное физическое соединение между ними. Соединение, которое это представляет, как говорят, является виртуальным.
Изменяющиеся во времени координаты прослеживают квадратный шаблон, достигнутый автоматически вычисляемыми и применяющимися крутящими моментами приведения в действие в различных соединениях манипулятора. Во время симуляции можно вывести автоматически вычисленные крутящие моменты и построить их использующий блоки Simulink® или команды MATLAB®, например, в аналитических целях.
В подсказке команды MATLAB введите smdoc_double_pendulum
. Двойная модель маятника, которую в этом примере вы адаптируете как простая плоская модель манипулятора, открывается. Для получения инструкций по тому, как создать эту модель, см. Модель Разомкнутый цикл Кинематическая Цепочка
От библиотеки Simscape> Multibody> Joints перетащите блок 6-DOF Joint и соедините ее как показано в фигуре. Этот блок представляет виртуальное соединение, которое вы используете, чтобы задать кадр конца манипулятора относительно мирового кадра.
Проверяйте, что основной кадр порта (B) соединяется с мировым кадром. Основной порт структурирует функции как ссылочный кадр для любого входа совместного движения, который вы обеспечиваете. Переключение основы и кадров порта последователя заставляют блок интерпретировать любой вход движения относительно различного кадра, возможно изменение траектории кадра конца манипулятора.
В диалоговом окне блока 6-DOF Joint задайте эти настройки параметров.
Параметр | Выбрать |
---|---|
Y Prismatic Primitive (Py)> Actuation> Motion | Provided by Input |
Z Prismatic Primitive (Pz)> Actuation> Motion | Provided by Input |
Блок представляет два порта физического сигнала, через которые можно обеспечить входные параметры совместного движения.
Перетащите эти блоки в модель.
Библиотека | Блок | Количество |
---|---|---|
Simscape> Utilities | Конвертер PS Simulink | 2 |
Simulink> Sources | Signal Builder | 2 |
Блоки Signal Builder обеспечивают входные параметры движения как Сигналы Simulink. Блоки Конвертера PS Simulink преобразовывают Сигналы Simulink в физические сигналы Simscape™, совместимые с блоками Simscape Multibody™.
Соедините блоки как показано в фигуре.
Откройте диалоговое окно блока Signal Builder, соединенного с портом py блока 6-DOF Joint. Задайте этот сигнал, изменяющуюся во времени координату Y квадратной траектории, за которой должен следовать кадр конца манипулятора.
Откройте диалоговое окно блока Signal Builder, соединенного с портом pz блока 6–DOF Joint. Задайте этот сигнал, изменяющуюся во времени координату Z квадратной траектории, за которой должен следовать кадр конца манипулятора.
В диалоговых окнах блоков Конвертера PS Simulink задайте модули входного сигнала и настройки фильтрации. Simscape Multibody требует, чтобы вы или задали фильтрацию второго порядка или обеспечили в первые два раза производные координат траектории.
Параметр | Значение |
---|---|
Units> Input signal unit | cm |
Input Handling> Filtering and derivatives | Filter input |
Input Handling> Input filtering order | Second-order filtering |
Input Handling> Input filtering time constant (in seconds) | 0.1 |
Маленькие константы фильтрации могут значительно замедлить симуляцию. Для большинства моделей Simscape Multibody значение 0,1 секунд является хорошим выбором. В этом примере достаточно это значение.
В диалоговых окнах двух блоков Шарнирного соединения, набор следующее приведение в действие и распознающиеся параметры.
Параметр | Установка |
---|---|
Actuation> Torque | Automatically Computed |
Sensing> Actuation Torque | Выбранный |
Simscape Multibody требует, чтобы количество объединенных примитивных степеней свободы с входными параметрами движения равнялось номеру с автоматически вычисленными объединенными силами приведения в действие и крутящими моментами. Если модель не удовлетворяет этому условию, сбоям симуляции с ошибкой.
Перетащите эти блоки в модель.
Библиотека | Блок | Количество |
---|---|---|
Simscape> Utilities | Конвертер Simulink PS | 2 |
Simulink> Sinks | К рабочей области | 2 |
Блоки Конвертера Simulink PS преобразовывают физический сигнал выходные параметры в Сигналы Simulink, совместимые с другими блоками Simulink.
В двух диалоговых окнах блока To Workspace введите имена переменных t1
и t2
.
Соедините блоки как показано в фигуре.
Попытайтесь запустить симуляцию. Можно сделать это в Редакторе Simulink панель меню путем выбора Simulation> Run. Симуляция перестала работать с ошибкой, являющейся результатом замкнутого кинематического круга, существующего в модели. Simscape Multibody требует, чтобы этот цикл содержал по крайней мере один объединенный блок без входных параметров движения или автоматически вычисленных сил приведения в действие или крутящих моментов.
От библиотеки Simscape> Multibody> Joints перетащите блок Weld Joint и соедините ее в одной из Бинарной Ссылки подсистемы.
Добавление блока Weld Joint гарантирует, что система теперь-замкнутого-цикла содержит по крайней мере один объединенный блок без входных параметров движения или вычисленных крутящих моментов приведения в действие.
Запустите симуляцию еще раз. Mechanics Explorer открывается динамическим 3-D отображением связи 2D панели.
Постройте вычисленные крутящие моменты приведения в действие, действующие в этих двух шарнирных соединениях в связи. В командной строке MATLAB введите этот код:
figure; hold on; plot(t1.time, t1.data, 'color', [60 100 175]/255); plot(t2.time, t2.data, 'color', [210 120 0]/255); xlabel('Time'); ylabel('Torque (N*m)'); grid on;