В этом руководстве вы предписываете изменяющиеся во времени координаты траектории плоской системы координат концов манипулятора относительно мировой системы координат с помощью 6-DOF Блоков соединений. Этот блок обеспечивает необходимые степени свободы между двумя системами координат, но он не представляет реальное физическое соединение между ними. Соединение, которое оно представляет, называется виртуальным.
Изменяющиеся во времени координаты прослеживают квадратный шаблон, достигаемый путем автоматического вычисления и применения приводных крутящих моментов в различных соединениях манипулятора. Во время симуляции можно вывести автоматически вычисленные крутящие моменты и построить их график с помощью Simulink® блоки или MATLAB® команды, например, в целях анализа.
В командной строке MATLAB введите smdoc_double_pendulum
. Откроется модель двойного маятника, которую в этом руководстве вы адаптируете как простую планарную модель манипулятора. Для получения инструкций о том, как создать эту модель, смотрите Модель Разомкнутого контура Кинематическая Цепь
От Simscape> Multibody> Joints библиотека, тянитесь 6-DOF Joint, блокируют и соединяют его как показано в рисунке. Этот блок представляет виртуальное соединение, которое вы используете, чтобы задать систему координат концов манипулятора относительно лабораторной системы координат.
Примечание
Проверяйте, что система координат базового порта (B) соединяется с лабораторной системой координат. Кадр базового порта функционирует как опорная система координат для любого входа движения соединений, который вы предоставляете. Переключение базовой и последующей систем координат порта заставляет блок интерпретировать любой вход движения относительно другого кадра, возможно, изменяя траекторию системы координат концов манипулятора.
В диалоговом окне 6-DOF Блока соединений задайте эти параметры настройки.
Параметр | Выбрать |
---|---|
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 Блока соединений. Задайте этот сигнал, изменяющуюся во времени координату Y квадратной траектории, которой должен следовать система координат концов манипулятора.
Откройте диалоговое окно блока Signal Builder, соединенного с портом pz 6-DOF Блока соединений. Задайте этот сигнал, изменяющуюся во времени координату 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 и соедините его с одной из двухкомпонентных подсистем Link A.
Добавление блока Weld Joint гарантирует, что цикл система содержит по меньшей мере один блок соединений без входов движения или вычисленных моментов приведения в действие.
Еще раз запустите симуляцию. В Mechanics Explorer откроется динамическое 3-D отображение двухзвенника редактирования.
Постройте график расчетных моментов приведения в действие, действующих на два шарнира вращения в редактировании. В командной строке 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;