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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Скорость в X

Скорость в Y

 
Датчик

X координат

Y координата

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    2. Добавьте блок Subtract от библиотеки Math Operations и соедините выходные параметры компонентов 2D колеса. Добавьте блок 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)Фиксированный

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

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

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте