Блок Transform Sensor предусматривает самую широкую обнаруживающую движение возможность в моделях Simscape™ Multibody™. Используя этот блок, можно обнаружить переменные движения между любыми двумя системами координат в модели. Эти переменные могут включать поступательное и вращательное положение, скорость и ускорение.
В этом примере вы используете блок Transform Sensor, чтобы обнаружить более низкую ссылку поступательное положение относительно лабораторной системы координат. Вы выводите координаты положения непосредственно к рабочему пространству модели, и затем строите эти координаты с помощью MATLAB® команды. Путем варьирования положений шарниров можно анализировать движение более низкой ссылки при квазипериодических и хаотических условиях.
В этом примере вы используете силу тяжести, чтобы заставить двойной маятник перемещаться. Вы перемещаете ссылки от равновесия и затем позволяете силе тяжести действовать на них. Чтобы переместить ссылки в начальный момент времени, вы используете раздел State Targets диалогового окна блока Revolute Joint. Можно задать положение или скорость. Когда вы готовы, вы симулируете модель, чтобы анализировать ее движение.
Чтобы обнаружить движение, вы используете блок Transform Sensor. Во-первых, вы соединяете основу и порты системы координат последователя к лабораторной системе координат и более низким блокам подсистемы ссылки. Путем соединения портов с этими блоками можно обнаружить движение в более низкой ссылке относительно лабораторной системы координат. Затем вы выбираете параметры перевода, чтобы распознаться. Путем выбора Y и Z, можно обнаружить перевод вдоль Y и осей Z, соответственно. Можно построить эти координаты друг относительно друга и анализировать движение, что они показывают.
В командной строке MATLAB введите smdoc_double_pendulum
. Двойная модель маятника открывается. Для получения инструкций по тому, как создать эту модель, см. Модель Разомкнутый контур Кинематическая Цепь.
Перетащите эти блоки в модель, чтобы обнаружить движение.
Библиотека | Блок | Количество |
---|---|---|
Simscape> Multibody> Frames and Transforms | Transform Sensor | 1 |
Simscape> Multibody> Frames and Transforms | World Frame | 1 |
Simscape> Utilities | PS-Simulink Converter | 2 |
Simulink> Sinks | To Workspace | 2 |
В диалоговом окне блока Датчика Преобразования выберите Translation> Y и Translation> Z. Блок отсоединяет два выходных порта физического сигнала, пометил y и z.
В блоках PS-Simulink Converter задайте модули cm
.
В С блоками Рабочей области, введите имена переменных y_link
и z_link
.
Соедините блоки с моделью как показано на рисунке. Необходимо соединить порт базовой системы координат блока Transform Sensor с блоком World Frame. Новые блоки заштрихованы серые.
Задайте начальное состояние каждого соединения. Позже, можно изменить это состояние, чтобы исследовать различные типы движения. Для первой итерации вращайте только главную ссылку маленьким углом.
В диалоговом окне блока Revolute Joint выберите State Targets> Specify Position Target.
Установите Value на 10 deg
.
Во Вращательном диалоговом окне блока 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
. Вы снова используете эту модель в последующем примере, Предписываете Совместное движение в Плоской Модели Манипулятора.