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

Обзор модели

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

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

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

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

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

    БиблиотекаБлокКоличество
    Системы координат и преобразованияWorld Frame1
    Системы координат и преобразованияTransform Sensor1
    Утилиты Simscape™PS-Simulink Converter2
    Simulink® SinksOutport2

  4. В диалоговом окне блока Датчика Преобразования выберите эти переменные:

    • 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, чтобы симулировать модель ползунка заводной рукоятки в различных длинах ссылки разветвителя, строящий для каждой симуляции запускают ограничительную силу, действующую на поршень.