Анализируйте движение в различных значениях параметров

Образцовый обзор

В этом примере вы создаете простой скрипт MATLAB®, чтобы моделировать модель с четырьмя панелями в различных длинах разветвителя. Скрипт использует координаты движения разветвителя, полученное использование блока Transform Sensor, чтобы построить получившуюся кривую разветвителя в каждом значении длины разветвителя. Для получения информации о том, как создать модель с четырьмя панелями, используемую в этом примере, см. Модель Кинематическая Цепочка С обратной связью.

Создайте модель

  1. В подсказке команды MATLAB введите smdoc_four_bar. Модель с четырьмя панелями открывается. Для получения инструкций по тому, как создать эту модель, см. Модель Кинематическая Цепочка С обратной связью.

  2. Под маской блока Binary Link B соедините третий блок Outport как показано в фигуре. Можно добавить блок Outport путем копирования и вставки Conn1 или Conn2. Новый блок идентифицирует кадр, траекторию которого вы строите в этом примере.

  3. Добавьте следующие блоки в модель. Во время симуляции блок Transform Sensor вычисляет и выводит траекторию разветвителя относительно мирового кадра.

    БиблиотекаБлокКоличество
    Кадры и преобразованияМировой кадр1
    Кадры и преобразованияПреобразуйте датчик1
    Утилиты Simscape™Конвертер Simulink PS2
    Simulink® SinksВыходной порт2

  4. В диалоговом окне блока Transform Sensor выберите эти переменные:

    • Translation> Y

    • Translation> Z

    Блок представляет порты кадра y и z, через который он выводит координаты траектории разветвителя.

  5. Соедините блоки как показано в фигуре. Обязательно инвертируйте блок Transform Sensor так, чтобы его порт опорной рамы, маркировал B, подключения к блоку World Frame.

Задайте параметры блоков

  1. В Блоке Configuration Механизма измените Uniform Gravity на None.

  2. В блоке Base-Crank Revolute Joint задайте следующие скоростные цели состояния. Цели обеспечивают соответствующий источник движения в целях этого примера.

    • Выберите State Targets> Specify Velocity.

    • В State Targets> Specify Velocity> Value, введите 2 rev/s.

    • Отмените выбор State Target> Specify Position.

  3. Задайте длины следующей ссылки. Длина ссылки разветвителя параметризована с точки зрения переменной MATLAB, LCoupler, разрешение вас изменяет свое значение итеративно с помощью простого скрипта MATLAB.

    БлокПараметрЗначение
    Бинарная ссылка BДлинаLCoupler
    Бинарная ссылка A1Длина25

  4. Сохраните модель в удобной папке, назвав его smdoc_four_bar_msensing.

Создайте скрипт симуляции

Создайте скрипт MATLAB, чтобы итеративно запустить симуляцию в различных длинах ссылки разветвителя:

  1. На панели инструментов MATLAB нажмите New Script.

  2. В скрипте введите следующий код:

    % Run simulation nine times, each time
    % increasing coupler length by 1 cm.
    % The original coupler length is 20 cm.
    for i = (0:8);
        LCoupler = 20+i;
        
        % Simulate model at the current coupler link length (LCoupler),
        % saving the Outport block data into variables y and z.
        [~, ~, y, z] = sim('smdoc_four_bar_msensing');
        
        % Plot the [y, z] coordinates of each coupler curve 
        % on the x = i plane. i corresponds to the simulation run number.
        x = zeros(size(y)) + i; 
        plot3(x, y, z, 'Color', [1 0.8-0.1*i 0.8-0.1*i]); 
        view(30, 60); hold on;
     end
    Код запускает симуляцию в девяти различных длинах ссылки разветвителя. Это затем строит координаты траектории кадра центра ссылки разветвителя относительно мирового кадра. Длины ссылки разветвителя колеблются от 20 см до 28 см.

  3. Сохраните скрипт как sim_four_bar в папке, содержащей модель с четырьмя панелями.

Запустите скрипт симуляции

Запустите sim_four_bar скрипт. В панели инструментов редактора MATLAB нажмите кнопку Run или, с активным редактором, нажмите F5. Mechanics Explorer открывается динамическим 3-D представлением модели с четырьмя панелями.

Simscape Multibody™ итеративно запускает каждую симуляцию, добавляя получившуюся кривую ссылки разветвителя в активный график. Данные показывают итоговый график.

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