Системное определение и размещение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Какие части системного тестирования потребности?

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

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

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

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

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

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

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

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

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

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

  2. Из Меню отображения снимите флажок Hide Automatic Names.

  3. Откройте браузер библиотеки: открытый браузер библиотеки Simulink

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

    Расположите и переименуйте блоки Подсистемы как показано. Дважды кликните имя блока и введите новое имя.

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

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

БлокВходной параметрВывод Примечания
Вводы'none'

Обеспечьте к правильному колесу

Обеспечьте к левому колесу

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

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

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

Скорость в X

Скорость в Y

 
Датчик

X координат

Y координата

'none'Никакой блок, необходимый для моделирования. Динамика датчика является частью задачи дизайна.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ПараметрБлокСимволЗначение/МодульПримечания
МассаСлева/справа колесоm2,5 кг Переменная
Сопротивление качениюСлева/справа колесоk_drag30 Ns2/mПеременная
Радиус роботаВычисление вращенияr0,15 мПеременная
Начальный уголВычисление вращения'none'.0Фиксированный
Начальные скоростиСлева/справа колесо'none'.(0,0)Фиксированный
Начальные координатыИнтеграторы'none'(0,0)Фиксированный

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

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

Похожие темы

Была ли эта тема полезной?