Определение и размещение системы

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

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

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

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

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

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

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

  • Определите, как быстро робот останавливается, когда двигатели останавливаются

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

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

Идентифицируйте системные компоненты и интерфейсы

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

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

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

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

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

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

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

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

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

Идентифицируйте компоненты движения робота

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

  • Линейные характеристики движения

  • Вращательные характеристики движения

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

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

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

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

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

  3. Добавьте Subsystem блоки. Перетащите пять Subsystem блоков из библиотеки Ports & Subsystems в новую модель.

  4. Щелкните подсистему. На вкладке Format щелкните раскрывающийся список имен Auto. Снимите флажок Hide Automatic Block Names.

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

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

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

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

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

Сила к левому колесу

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

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

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

Скорость в X

Скорость в Y

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

Координата X

Координата Y

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

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

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

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

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

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

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

  1. Добавьте необходимые входные и выходные порты к каждой подсистеме. Дважды кликните блок Subsystem.

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

    Каждый блок Inport создает порт входа на блоке Subsystem, и каждый блок Outport создает порт выхода. Модель отражает имена этих блоков как имена входного/выходного портов. Добавьте больше блоков для дополнительных входных и выходных сигналов. На панели редакторов нажмите кнопку Navigate Up To Parent, чтобы вернуться на верхний уровень.

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

    При копировании блока Inport для создания нового используйте опцию Paste (Ctrl + V).

  2. Вычислите необходимые входы подсистемы Coordinate Transform и Rotation от скорости левого колеса и правого колеса.

    1. Вычислите вход Линейной скорости в подсистему Coordinate Transform. Добавьте блок Add из библиотеки Математические операции и соедините выходы двухколесных компонентов. Добавьте блок Gain и установите параметр gain на 1/2. Соедините выход блока Add с этим блоком Gain.

    2. Вычислите Разность оборотов входа к подсистеме Rotation. Добавьте блок Subtract из библиотеки Математические операции. Подключите скорость правого колеса к входу +, а скорость левого колеса к входу -. Соедините выходы двух компонентов колеса. Добавьте блок Gain и установите параметр gain на 1/2. Соедините выход блока Subtract с этим блоком Gain.

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

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

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

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

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

Левое колесо

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

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

Левое колесо

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

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

Левое колесо

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

Ничего

0 м/с

0 м/с

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

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

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

Похожие темы