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

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

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

  • Linear — Оба поворота колес в том же направлении с той же скоростью и роботом перемещаются линейно.

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

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

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

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

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

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

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

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

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

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

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

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

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

Это часто выгодно, чтобы рассмотреть следующее:

  • Какие части системы необходимо тестировать?

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

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

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

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

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

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

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

  • Датчик, чтобы измерить расстояние робота от препятствия

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

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

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

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

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

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

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

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

БлокВходной параметрВывод Сопутствующая информация
Входные параметры'none'

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

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

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

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

Вращательный угол

Скорость в X

Скорость в Y

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

X координат

Y координата

'none'Никакой блок, необходимый для моделирования

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

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

  • Введите к координатному преобразованию — Составляют в среднем скорости этих двух колес.

  • Введите к датчику — Интегрируют выходные параметры координатного преобразования.

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

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

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

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

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

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

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

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

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

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

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

  4. Завершите связи для системы.

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

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

ПараметрБлокСимволЗначениеВвод
Масса

Оставленное колесо

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

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

Оставленное колесо

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

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

Оставленное колесо

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

'none'

0 м/с

0 м/с

Фиксированный
Начальная буква (X, Y) координатыИнтеграторы'none'(0, 0) mФиксированный

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

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

Похожие темы