Осмыслите движение, используя блок датчика преобразования

Обзор модели

Блок Transform Sensor обеспечивает самую широкую способность измерения движения в Simscape™ Multibody™ моделях. Используя этот блок, можно почувствовать переменные движения между любыми двумя системами координат в модели. Эти переменные могут включать поступательное и вращательное положение, скорость и ускорение.

В этом примере вы используете блок Transform Sensor, чтобы почувствовать нижнее поступательное положение ссылки относительно лабораторной системы координат. Вы выводите координаты положения непосредственно в рабочее пространство модели, а затем строите график этих координат с помощью MATLAB® команды. Изменяя положения шарниров, можно проанализировать движение нижнего звена в квазипериодических и хаотических условиях.

Методы моделирования

В этом примере вы полагаетесь на силу тяжести, чтобы заставить двойной маятник двигаться. Вы смещаете ссылки из равновесия, а затем позволяете гравитации воздействовать на них. Чтобы перенести ссылки в начальный момент времени, вы используете State Targets раздел Диалоговое окно блока Revolute Joint. Можно задать положение или скорость. Когда вы готовы, вы моделируете модель, чтобы проанализировать ее движение.

Чтобы почувствовать движение, вы используете блок Transform Sensor. Во-первых, вы соединяете базовый и последующий порты системы координат с блоками лабораторной системы координат и подсистемы нижней ссылки. Соединяя порты с этими блоками, можно почувствовать движение в нижней ссылке относительно лабораторной системы координат. Затем вы выбираете параметры перевода для восприятия. Выбирая Y и Z, можно почувствовать перемещение вдоль осей Y и Z, соответственно. Можно построить график этих координат относительно друг друга и проанализировать движение, которое они раскрывают.

Построение модели

  1. В командной строке MATLAB введите smdoc_double_pendulum. Откроется модель двойного маятника. Для получения инструкций о том, как создать эту модель, смотрите Модель Разомкнутого контура Кинематическая Цепь.

  2. Перетащите эти блоки в модель, чтобы почувствовать движение.

    БиблиотекаБлокКоличество
    Simscape> Multibody> Frames and TransformsTransform Sensor1
    Simscape> Multibody> Frames and TransformsWorld Frame1
    Simscape> UtilitiesPS-Simulink Converter2
    Simulink> SinksTo Workspace2

  3. В Преобразование Sensor диалогового окна блока выберите Translation > Y и Translation > Z. Блок предоставляет два выходных порта физического сигнала, маркированные y и z.

  4. В блоках PS-Simulink Converter задайте модули cm.

  5. В блоках To Workspace введите имена переменных y_link и z_link.

  6. Соедините блоки с моделью как показано на рисунке. Вы должны подключить порт базовой системы координат блока Transform Sensor к блоку лабораторной системы координат. Новые блоки заштрихованы серым цветом.

Направляющая сборка блока

Задайте начальное состояние каждого соединения. Позже можно изменить это состояние, чтобы исследовать различные типы движения. Для первой итерации поверните только верхнюю ссылку на небольшой угол.

  1. В Диалоговое окно блока Revolute Joint выберите State Targets > Specify Position Target.

  2. Установите Value значение 10 deg.

  3. В диалоговое окно блока Revolute Joint1 проверьте, что State Targets > Specify Position Target удалено.

Моделируйте модель

Запустите симуляцию. Mechanics Explorer воспроизводит основанную на физике анимацию сборки двойного маятника.

Теперь можно построить график координат положения нижней ссылки. Для этого в командной строке MATLAB введите:

figure; 
plot(y_link.data, z_link.data, 'color', [60 100 175]/255);
xlabel('Y Coordinate (cm)'); 
ylabel('Z Coordinate (cm)'); 
grid on;

Рисунок показывает график, который откроется. Этот график показывает, что нижний путь изменяется только немного с каждым колебанием. Такое поведение характерно для квазипериодических систем.

Симулируйте хаотическое движение

Регулируя положения шарниров вращения, можно симулировать модель в хаотических условиях. Один из способов получить хаотическое движение - повернуть верхнее шарнирное соединение на большой угол. Для этого в диалоговом окне Revolute Joint измените значение State Targets > Position > Value на 90 и нажмите OK.

Симулируйте модель с новой целью состояния соединения. Чтобы построить график координат положения нижнего маятника ссылки относительно лабораторной системы координат, в командной строке MATLAB введите этот код:

figure; 
plot(y_link.data, z_link.data, 'color', [60 100 175]/255);
xlabel('Y Coordinate (cm)'); 
ylabel('Z Coordinate (cm)'); 
grid on;

Рисунок показывает график, который откроется.

Сохраните модель

Сохраните модель в удобной папке под именем double_pendulum_sensing. Вы повторно используете эту модель в следующем руководстве, «Предписать движение соединения в планарной модели манипулятора».