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

Каждый тип движения начинается из состояния покоя, то есть и вращательная, и линейная скорости равны нулю. С учетом этих допущений компоненты линейного и вращательного движения могут моделироваться отдельно.
Перед проектированием модели необходимо рассмотреть цели и требования. Цели диктуют как структуру, так и уровень детализации модели. Если цель состоит просто в том, чтобы выяснить, насколько быстро робот может двигаться, достаточно моделирования только для линейного движения. Если цель состоит в том, чтобы разработать набор входных данных для устройства, идущего по заданному пути, то используется вращательный компонент. Если целью является предотвращение препятствий, то системе необходим датчик. В этом учебном пособии создается модель с целью проектирования параметров датчика, чтобы робот вовремя останавливался при обнаружении препятствия на своем пути. Для достижения этой цели модель должна:
Определение скорости остановки робота при остановке двигателей
Предоставление ряда команд для линейного и вращательного движения, позволяющих роботу перемещаться в двумерном пространстве
Первый объект моделирования позволяет анализировать движение для проектирования датчика. Вторая цель позволяет протестировать конструкцию.
После понимания требований к моделированию можно приступить к определению компонентов системы. Определение отдельных компонентов и их взаимосвязей в структуре верхнего уровня помогает систематически создавать потенциально сложную модель. Эти шаги выполняются вне Simulink перед началом построения модели.
Эта задача включает ответы на следующие вопросы:
Каковы структурные и функциональные компоненты системы? Когда формат отражает физическую и функциональную структуру, он помогает понять, построить, связать и протестировать систему. Это становится более важным, когда части системы должны быть реализованы на различных этапах процесса проектирования.
Каковы входные и выходные данные для каждого компонента? Нарисуйте рисунок, показывающий соединения между компонентами. Это изображение помогает визуализировать поток сигналов в модели, идентифицировать источник и приемник каждого сигнала и определить, существуют ли все необходимые компоненты.
Какой уровень детализации необходим? Включите основные системные параметры в схему. Создание рисунка системы поможет определить и смоделировать детали, которые необходимы для поведения, которое необходимо наблюдать. Каждый компонент и параметр, которые вносят вклад в цель моделирования, должны иметь представление в модели, но существует компромисс между сложностью и читаемостью. Моделирование может быть итеративным процессом. Вы можете начать с модели высокого уровня с небольшим количеством деталей, а затем постепенно увеличивать сложность там, где это необходимо.
Часто полезно учитывать следующее:
Какие части системы нуждаются в тестировании?
Каковы тестовые данные и критерии успеха?
Какие результаты необходимы для выполнения задач анализа и проектирования?
Система в данном учебном пособии определяет робота, который перемещается с двумя электрическими колесами в двух измерениях. Он включает в себя:
Характеристики линейного движения
Характеристики вращательного движения
Преобразования для определения расположения системы в двух измерениях
Датчик для измерения расстояния робота от препятствия

Модель для этой системы включает в себя два одинаковых колеса, входные силы, приложенные к колесам, динамику вращения, преобразование координат и датчик. Модель использует подсистему для представления каждого компонента:
Откройте новую модель Simulink. См. раздел Открытие новой модели.
Откройте обозреватель библиотек. См. раздел Открытие обозревателя библиотеки Simulink.
Добавление блоков подсистемы. Перетащите пять блоков подсистемы из библиотеки «Порты и подсистемы» в новую модель.
Щелкните подсистему. На вкладке Формат (Format) щелкните раскрывающийся список Автоименование (Auto name). Снимите флажок «Скрыть имена автоматических блоков».

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

Определение входных и выходных соединений между подсистемами. Входные и выходные значения изменяются динамически во время моделирования. Линии, соединяющие блоки, представляют собой передачу данных. В этой таблице показаны входы и выходы для каждого компонента.
| Блок | Вход | Продукция | Связанная информация |
|---|---|---|---|
| Исходные данные | Ничего | Усилие к правому колесу Усилие к левому колесу | Неприменимо |
| Правое колесо | Усилие к правому колесу | Скорость правого колеса | Направленное, отрицательное означает обратное направление |
| Левое колесо | Усилие к левому колесу | Скорость левого колеса | Направленное, отрицательное означает обратное направление |
| Вращение | Разность скоростей между правым и левым колесами | Угол поворота | Измерено против часовой стрелки |
| Преобразование координат | Нормальная скорость Угол поворота | Скорость в X Скорость в Y | Неприменимо |
| Датчик | Координата X Координата Y | Ничего | Отсутствие блока, необходимого для моделирования |
Некоторые входы блоков не совсем совпадают с выходами блоков. Поэтому, помимо динамики отдельных компонентов, модель должна вычислять следующее:
Ввод в расчет вращения - вычитание скоростей двух колес и деление на два.
Вход в преобразование координат - среднее значение скоростей двух колес.
Вход в датчик - интегрирование выходных сигналов преобразования координат.
Скорости колес всегда равны по величине, и вычисления являются точными в пределах этого предположения.
Добавьте необходимые компоненты и завершите соединения:
Добавьте необходимые порты ввода и вывода в каждую подсистему. Дважды щелкните на блоке «Подсистема».
![]()
Каждый новый блок подсистемы содержит один блок Inport (In1) и один блок Outport (Out1). Эти блоки определяют сигнальный интерфейс со следующим более высоким уровнем в иерархии модели.
Каждый блок Inport создает входной порт в блоке Subsystem, а каждый блок Outport создает выходной порт. Модель отражает имена этих блоков в качестве имен портов ввода/вывода. Добавьте дополнительные блоки для дополнительных входных и выходных сигналов. На панели инструментов Simulink Editor нажмите кнопку «Перейти вверх к родительскому элементу
», чтобы вернуться на верхний уровень.
Для каждого блока добавьте и переименуйте блоки Inport и Outport.

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

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

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

Определите параметры, являющиеся частью модели, и их значения. Используйте цели моделирования, чтобы определить, всегда ли эти значения фиксированы или изменяются от моделирования к моделированию. Параметры, способствующие достижению цели моделирования, требуют явного представления в модели. Эта таблица помогает определить уровень детализации при моделировании каждого компонента.
| Параметр | Блок | Символ | Стоимость | Напечатать |
|---|---|---|---|---|
| Масса | Левое колесо Правое колесо | m | 2,5 кг | Переменная |
| Сопротивление качению | Левое колесо Правое колесо | k_drag | 30 Ns2/m | Переменная |
| Радиус робота | Вращение | r | 0,15 м | Переменная |
| Начальный угол | Вращение | Ничего | 0 рад | Фиксированный |
| Начальные скорости | Левое колесо Правое колесо | Ничего | 0 м/с 0 м/с | Фиксированный |
| Начальные координаты (X, Y) | Интеграторы | Ничего | (0, 0) м | Фиксированный |
Simulink использует рабочую область MATLAB ® для оценки параметров. В окне команд MATLAB установите следующие параметры:
m = 2.5; k_drag = 30; r = 0.15;