Составьте модель архитектуры

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

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

Получите архитектуру манипулятора с помощью System Composer™. Манипулятор состоит из этих компонентов:

Создайте модель архитектуры

Введите systemcomposer в строке MATLAB®command, чтобы запустить System Composer. Это открывает начальную страницу Simulink®:

Начните сочинять путем нажатия на Architecture Model.

Можно идентифицировать модель архитектуры значком на левом нижнем углу, палитрой элементов на левой стороне и меню Architecture.

Поле в окне состава представляет мобильную архитектуру робота. Дважды кликните заголовок архитектуры и назовите его Robot:

Имя модели отражает имя архитектуры. Сохраните модель с помощью File > Save.

Чертите компоненты

Добавьте компонент путем перетаскивания Component от палитры.

Введите имя компонента, Sensors, в текстовом поле, которое становится активным. Также добавьте Motion и компонент Controller. Имена компонентов должны быть соответствующими именами переменных. Кликните по компонентам и перетащите их, чтобы переместиться, чтобы завершить размещение.

Создайте порты и связи

Создайте порты на компонентах путем нажатия на одно из ребер. Отпустите кнопку мыши, чтобы видеть опции направления и выбрать направление, чтобы добавить порт. Назовите порт. Можно добавить порты на любом ребре в любом направлении.

Создайте выходной порт в правой стороне компонента Датчиков под названием SensorData. Имена порта должны быть соответствующими именами переменных. Выберите порт и переместите его в базовый край с помощью стрелки вниз.

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

Ответвление связь путем щелчка правой кнопкой и перетаскивания его к компоненту Trajectory Planning.

Полные связи, как дали в эскизе.

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

Можно соединить порт архитектуры с компонентом путем перетаскивания строки. Связи с или от порта архитектуры появляются как теги.

Завершите связи между компонентами, как дали в эскизе:

Отредактируйте интерфейсы

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

Рассмотрите интерфейс между компонентом Датчика и Controllercomponent. Данные о датчике состоят из следующего:

  • Данные о положении из двух двигателей

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

  • Метка времени это добавляет к этому набору данных

Данные имеют эти спецификации:

ИмяТип данныхМодуль
Метка времени'double'секунды
Моторное 1 положение'double'степени
Моторные 2 положения'double'степени
Расстояние близости Sensor1'double'метры
Направление близости Sensor1'double'степени
Расстояние близости Sensor2'double'метры
Направление близости Sensor2'double'степени

Выберите вкладку Architecture > Interfaces, чтобы начать задавать интерфейс. Нажмите кнопку.

Введите от имени интерфейса, sensordata. Добавьте элемент в выбранный интерфейс: Кликните и введите timestamp.

Продолжите добавлять элементы в интерфейс путем нажатия кнопки многократно. Дважды кликните интерфейсные элементы, чтобы отредактировать имена как показано:

Отредактируйте свойства интерфейсного элемента с помощью Property Inspector. Щелкните правой кнопкой по элементу и выберите Inspect Properties.

Property Inspector открывается выше редактора Интерфейсов.

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

Анализируйте компоненты

Каждый компонент может иметь собственную архитектуру. Начните разлагать компонент на его субкомпоненты путем двойного клика. Например, дважды кликните Траекторию, Планирующую задавать ее архитектуру. Вы видите, где компонент находится в иерархии в заголовке или Model Browser.

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

Реализуйте поведение компонента

Если у вас есть компонент, который представляет один функциональный блок, для которого не нужно дальнейшее архитектурное разложение, можно задать его поведение в Simulink. Щелкните правой кнопкой по компоненту и выберите Create Simulink Behavior.

Введите имя для новой модели Simulink и нажмите OK.

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

Модель Architecture:

Модель Behavior:

Соединитесь с существующей моделью поведения Simulink

Можно соединиться с существующей моделью поведения Simulink от компонента System Composer, при условии, что компонент уже не соединяется с эталонной архитектурой. Щелкните правой кнопкой по компоненту и выберите Link to Model. Введите или просмотрите имя модели Simulink.

Любые субкомпоненты и порты, которые присутствуют в компонентах, удалены, когда компонент соединяется с моделью Simulink.

Похожие темы

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