exponenta event banner

Определение и компоновка системы

Структура системы верхнего уровня модели Simulink ® является общим контекстом, который могут использовать многие инженерные группы, и является основой для многих задач парадигмы конструирования на основе модели: анализа, проектирования, тестирования и реализации. Система определяется на верхнем уровне путем идентификации структуры и отдельных компонентов. Затем модель организуется иерархическим образом, соответствующим компонентам. Затем определяются интерфейсы для каждого компонента и соединения между компонентами .

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

  • Линейный - оба колеса поворачиваются в одном направлении с одинаковой скоростью, и робот движется линейно.

  • Вращение - колеса поворачиваются в противоположных направлениях с той же скоростью, и робот вращается на месте.

Каждый тип движения начинается из состояния покоя, то есть и вращательная, и линейная скорости равны нулю. С учетом этих допущений компоненты линейного и вращательного движения могут моделироваться отдельно.

Определение целей моделирования

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

  • Определение скорости остановки робота при остановке двигателей

  • Предоставление ряда команд для линейного и вращательного движения, позволяющих роботу перемещаться в двумерном пространстве

Первый объект моделирования позволяет анализировать движение для проектирования датчика. Вторая цель позволяет протестировать конструкцию.

Определение системных компонентов и интерфейсов

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

Эта задача включает ответы на следующие вопросы:

  • Каковы структурные и функциональные компоненты системы? Когда формат отражает физическую и функциональную структуру, он помогает понять, построить, связать и протестировать систему. Это становится более важным, когда части системы должны быть реализованы на различных этапах процесса проектирования.

  • Каковы входные и выходные данные для каждого компонента? Нарисуйте рисунок, показывающий соединения между компонентами. Это изображение помогает визуализировать поток сигналов в модели, идентифицировать источник и приемник каждого сигнала и определить, существуют ли все необходимые компоненты.

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

Часто полезно учитывать следующее:

  • Какие части системы нуждаются в тестировании?

  • Каковы тестовые данные и критерии успеха?

  • Какие результаты необходимы для выполнения задач анализа и проектирования?

Определение компонентов движения робота

Система в данном учебном пособии определяет робота, который перемещается с двумя электрическими колесами в двух измерениях. Он включает в себя:

  • Характеристики линейного движения

  • Характеристики вращательного движения

  • Преобразования для определения расположения системы в двух измерениях

  • Датчик для измерения расстояния робота от препятствия

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

  1. Откройте новую модель Simulink. См. раздел Открытие новой модели.

  2. Откройте обозреватель библиотек. См. раздел Открытие обозревателя библиотеки Simulink.

  3. Добавление блоков подсистемы. Перетащите пять блоков подсистемы из библиотеки «Порты и подсистемы» в новую модель.

  4. Щелкните подсистему. На вкладке Формат (Format) щелкните раскрывающийся список Автоименование (Auto name). Снимите флажок «Скрыть имена автоматических блоков».

  5. Упорядочьте и переименуйте блоки подсистемы, как показано на рисунке. Чтобы изменить имена блоков, дважды щелкните имя блока и отредактируйте текст.

Определение интерфейсов между компонентами

Определение входных и выходных соединений между подсистемами. Входные и выходные значения изменяются динамически во время моделирования. Линии, соединяющие блоки, представляют собой передачу данных. В этой таблице показаны входы и выходы для каждого компонента.

БлокВходПродукцияСвязанная информация
Исходные данныеНичего

Усилие к правому колесу

Усилие к левому колесу

Неприменимо
Правое колесоУсилие к правому колесуСкорость правого колесаНаправленное, отрицательное означает обратное направление
Левое колесоУсилие к левому колесуСкорость левого колесаНаправленное, отрицательное означает обратное направление
Вращение Разность скоростей между правым и левым колесамиУгол поворотаИзмерено против часовой стрелки
Преобразование координат

Нормальная скорость

Угол поворота

Скорость в X

Скорость в Y

Неприменимо
Датчик

Координата X

Координата Y

НичегоОтсутствие блока, необходимого для моделирования

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

  • Ввод в расчет вращения - вычитание скоростей двух колес и деление на два.

  • Вход в преобразование координат - среднее значение скоростей двух колес.

  • Вход в датчик - интегрирование выходных сигналов преобразования координат.

Скорости колес всегда равны по величине, и вычисления являются точными в пределах этого предположения.

Добавьте необходимые компоненты и завершите соединения:

  1. Добавьте необходимые порты ввода и вывода в каждую подсистему. Дважды щелкните на блоке «Подсистема».

    Каждый новый блок подсистемы содержит один блок Inport (In1) и один блок Outport (Out1). Эти блоки определяют сигнальный интерфейс со следующим более высоким уровнем в иерархии модели.

    Каждый блок Inport создает входной порт в блоке Subsystem, а каждый блок Outport создает выходной порт. Модель отражает имена этих блоков в качестве имен портов ввода/вывода. Добавьте дополнительные блоки для дополнительных входных и выходных сигналов. На панели инструментов Simulink Editor нажмите кнопку «Перейти вверх к родительскому элементу», чтобы вернуться на верхний уровень.

    Для каждого блока добавьте и переименуйте блоки Inport и Outport.

    При копировании блока ввода для создания нового блока используйте параметр «Вставить» (Ctrl + V).

  2. Вычислите требуемые входные данные для подсистем координатного преобразования и вращения из скоростей левого и правого колес.

    1. Вычислите линейную скорость, введенную в подсистему преобразования координат. Добавьте блок Добавить (Add) из библиотеки Математические операции (Math Operations) и подключите выходы компонентов с двумя колесами. Добавьте блок усиления и задайте для параметра усиления значение 1/2. Подключите выход блока добавления к этому блоку усиления.

    2. Вычислите разность скоростей, введенную в подсистему вращения. Добавьте блок вычитания из библиотеки математических операций. Подключите скорость правого колеса к + входу, а скорость левого колеса к - входу. Подключите выходы двух компонентов колеса. Добавьте блок усиления и задайте для параметра усиления значение 1/2. Подключите выход блока вычитания к этому блоку усиления.

  3. Вычислите координаты X и Y по скоростям X и Y. Добавьте два блока интегратора из библиотеки Continuous и подключите выходы блока Coordinate Transform. Оставьте начальные условия блоков интегратора равными 0.

  4. Завершите подключение к системе.

Параметры и данные

Определите параметры, являющиеся частью модели, и их значения. Используйте цели моделирования, чтобы определить, всегда ли эти значения фиксированы или изменяются от моделирования к моделированию. Параметры, способствующие достижению цели моделирования, требуют явного представления в модели. Эта таблица помогает определить уровень детализации при моделировании каждого компонента.

ПараметрБлокСимволСтоимостьНапечатать
Масса

Левое колесо

Правое колесо

m2,5 кг Переменная
Сопротивление качению

Левое колесо

Правое колесо

k_drag30 Ns2/mПеременная
Радиус роботаВращениеr0,15 мПеременная
Начальный уголВращениеНичего0 радФиксированный
Начальные скорости

Левое колесо

Правое колесо

Ничего

0 м/с

0 м/с

Фиксированный
Начальные координаты (X, Y)ИнтеграторыНичего(0, 0) мФиксированный

Simulink использует рабочую область MATLAB ® для оценки параметров. В окне команд MATLAB установите следующие параметры:

m = 2.5;
k_drag = 30;
r = 0.15;

Связанные темы