В этом примере вы предписываете изменяющиеся во времени координаты траектории плоской системы координат концов манипулятора относительно мировой системы координат с помощью блока 6-DOF Joint. Этот блок обеспечивает необходимые степени свободы между двумя системами координат, но он не представляет действительное физическое соединение между ними. Соединение, которое это представляет, как говорят, является виртуальным.
Изменяющиеся во времени координаты прослеживают квадратный шаблон, достигнутый автоматически вычисляемыми и применяющимися крутящими моментами приведения в действие в различных соединениях манипулятора. В процессе моделирования можно вывести автоматически вычисленные крутящие моменты и построить их использующий Simulink® блоки или MATLAB® команды, e.g. в аналитических целях.
В командной строке 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 | Simulink-PS Converter | 2 |
Simulink> Sources | Signal Builder | 2 |
Блоки Signal Builder обеспечивают входные параметры движения как Сигналы Simulink. Блоки Simulink-PS Converter преобразуют Сигналы Simulink в физические сигналы Simscape™, совместимые с блоками Simscape Multibody™.
Соедините блоки как показано на рисунке.
Откройте диалоговое окно блока Signal Builder, соединенного с портом py блока 6-DOF Joint. Задайте этот сигнал, изменяющуюся во времени координату Y квадратной траектории, за которой должна следовать система координат концов манипулятора.
Откройте диалоговое окно блока Signal Builder, соединенного с портом pz блока 6-DOF Joint. Задайте этот сигнал, изменяющуюся во времени координату Z квадратной траектории, за которой должна следовать система координат концов манипулятора.
В диалоговых окнах блоков Simulink-PS Converter задайте модули входного сигнала и настройки фильтрации. 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 секунд является хорошим выбором. В этом примере достаточно это значение.
В диалоговых окнах двух блоков Revolute Joint, набор следующее приведение в действие и распознающиеся параметры.
Параметр | Установка |
---|---|
Actuation> Torque | Automatically Computed |
Sensing> Actuation Torque | Выбранный |
Simscape Multibody требует, чтобы количество объединенных примитивных степеней свободы с входными параметрами движения равнялось номеру с автоматически вычисленными объединенными силами приводов и крутящими моментами. Если модель не удовлетворяет этому условию, сбоям симуляции с ошибкой.
Перетащите эти блоки в модель.
Библиотека | Блок | Количество |
---|---|---|
Simscape> Utilities | PS-Simulink Converter | 2 |
Simulink> Sinks | To Workspace | 2 |
Блоки PS-Simulink Converter преобразуют физический сигнал выходные параметры в Сигналы Simulink, совместимые с другими блоками Simulink.
В двух диалоговых окнах блока To Workspace введите имена переменных t1
и t2
.
Соедините блоки как показано на рисунке.
Попытайтесь запустить симуляцию. Симуляция перестала работать с ошибкой, являющейся результатом закрытой кинематической замкнутой цепи, существующей в модели. 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;