Создайте модель архитектуры манипулятора с помощью System Composer™. Задайте интерфейсы на портах и требования ссылки к компонентам. Simulink® Лицензия Requirements™ требуется, чтобы управлять требованиями. Когда вы завершите шаги, вы создадите завершенную модель.
Откройте модель архитектуры манипулятора, который состоит из датчиков, приводов движения и алгоритма планирования. Можно использовать System Composer, чтобы просмотреть интерфейсы и управлять требованиями для этой модели.
Реализация архитектурного проекта запускается с визуального представления системы с помощью компонентов и их связей. Создайте модель архитектуры, представляйте компоненты системы и проведите связи между ними.
В MATLAB® Командное окно, введите:
systemcomposer
Начальная страница Simulink открывается к System Composer.
Нажмите Architecture Model.
Новый, пустой холст модели архитектуры открывается. Можно идентифицировать модель архитектуры значком в левом нижнем углу и палитре элементов на левой стороне.
Дважды кликните заголовок модели архитектуры и измените untitled
к Robot
. Имя модели обычно отражает систему, архитектуру которой вы создаете.
Сохраните модель.
Спроектируйте мобильную роботизированную руку, где датчик обнаруживает положение, и планирование траектории вычисляет путь к местоположению, что робот должен достигнуть движения использования. Модель архитектуры такой системы могла состоять из трех первичных компонентов: Sensors
, Trajectory Planning
, и Motion
. Можно представлять эти компоненты в System Composer с помощью трех блоков Component.
Перетащите Component из палитры левой стороны.
Переименуйте компонент как Sensors
.
Добавьте Trajectory Planning
и Motion
компоненты.
Можно начать создавать возможность соединения между компонентами путем описания потока степени, энергии, данных или любой другой представительной информации. Создайте порты на компонентах, которые обеспечивают или используют информацию и коннекторы, которые обязывают два порта компонента представлять поток информации.
Можно добавить порт в компонент на любой стороне, и порт может иметь любого направление ввода или вывода. Чтобы создать порт, приостановите свой курсор по стороне компонента. Кликните и выпустите, чтобы просмотреть опции порта. Выберите Input
вывод
, или Physical
создать порт. Переименуйте порт с помощью имени, которое представляет информацию, которая течет через тот порт.
Создайте выходной порт на нижней стороне компонента Датчиков. Переименуйте его SensorData
.
Перетащите линию от SensorData
выходной порт к Motion
компонент. Когда вы видите входной порт, созданный в стороне компонента, отпускаете кнопку мыши. По умолчанию этот новый порт имеет то же имя как исходный порт.
Сделайте паузу в углу SensorData
линия, пока вы не видите значок ветви. Щелкните правой кнопкой и перетащите ответвление к Trajectory Planning
компонент.
Завершите связи как показано в этом рисунке.
Корневой уровень модели архитектуры может также иметь порты, которые описывают взаимодействие системы с ее средой. В этом примере целевое положение для робота обеспечивается компьютером, внешним к самому роботу. Представляйте это отношение входным портом.
Кликните по левому краю модели архитектуры и введите имя порта TargetPosition
.
Соедините порт архитектуры с компонентом путем перетаскивания линии от TargetPosition
входной порт к Trajectory Planning
компонент. Связи с или от порта архитектуры появляются как теги.
Можно задать интерфейс данных, чтобы полностью задать связь и ее связанные порты. Интерфейс данных может состоять из нескольких элементов данных с различными размерностями, модулями и типами данных. Чтобы проверять на непротиворечивость при соединении порта, можно также сопоставить интерфейсы с неподключенными портами во время проекта компонента.
Задайте информационный поток через порт между компонентами путем конфигурирования интерфейса данных с атрибутами. Интерфейс данных может быть столь же простым как отправка целочисленного значения, но это может также быть набор чисел, перечисления, комбинации чисел и строк или пакета других предопределенных интерфейсов.
Рассмотрите интерфейс данных между Sensors
и Motion
компоненты. Данные о датчике состоят из:
Данные о положении из двух двигателей
Данные о близости препятствия из двух датчиков
Метка времени, чтобы получить свежесть данных
Данные имеют эти технические требования.
Имя | Тип данных | Модуль |
---|---|---|
метка времени | 'double' | секунды |
position1 для моторного 1 | 'double' | степени |
position2 для моторных 2 | 'double' | степени |
distance1 для датчика 1 | 'double' | метры |
direction1 для датчика 1 | 'double' | степени |
distance2 для датчика 2 | 'double' | метры |
датчик direction2 2 | 'double' | степени |
Перейдите к Modeling> Design> Interface Editor, чтобы открыть Интерфейсный Редактор.
Нажмите кнопку, чтобы добавить интерфейс данных. Назовите интерфейс sensordata
.
Интерфейс данных называют и задают отдельно от порта компонента и затем присваивают порту.
Нажмите SensorData
выходной порт на Sensors
компонент. В Интерфейсном Редакторе щелкните правой кнопкой по sensordata
и выберите Assign to Selected Port(s).
Если вы нажимаете sensordata
снова, три SensorData
порты подсвечены, указав, что порты сопоставлены с тем интерфейсом.
Добавьте элемент данных в выбранный интерфейс данных. Нажмите кнопку, чтобы добавить элемент данных и назвать ее timestamp
.
Продолжите добавлять элементы данных в интерфейс данных, как задано путем нажимания добавить кнопки элемента данных.
Отредактируйте свойства элемента данных в Интерфейсном Редакторе. Нажмите на ячейку, соответствующую элементу данных в таблице, и добавьте модули как показано в спецификации.
Кликните по выпадающему рядом с кнопкой, чтобы сохранить интерфейс данных в словарь данных. Словарь данных позволяет вам коллективно управлять и совместно использовать набор интерфейсов среди моделей. Например, позже в проекте, если вы принимаете решение смоделировать внешний компьютер как отдельную модель архитектуры, затем эту модель и Robot
модель может совместно использовать тот же словарь данных. Здесь, словарь сохранен как RobotDD
.
Каждый компонент может иметь свою собственную архитектуру. Дважды кликните компонент, чтобы разложить его на его субкомпоненты.
Дважды кликните Trajectory Planning
компонент. Заголовок или Model Browser указывают на положение компонента в иерархии модели.
Этот компонент сначала использует моторные данные о положении, которые являются частью sensordata
интерфейс, чтобы вычислить идеальную команду положения и скорости. Это затем обрабатывает информацию о расстоянии препятствия в том же интерфейсе, чтобы обусловить эту команду движения согласно некоторым правилам безопасности.
Добавьте Motion Control
и Safety Rules
компоненты как часть Trajectory Planning
архитектура.
Перетащите TargetPosition
порт к Motion Control
компонент. Добавьте Command
выходной порт к Motion Control
, затем перетащите линию к Safety Rules
компонент. Перетащите линии от SensorData
порт к Motion Control
и Safety Rules
компоненты.
Требования являются неотъемлемой частью процесса системного проектирования. Некоторые требования относятся к функциональности полной системы, и некоторые относятся к аспектам эффективности, таким как степень, размер и вес. Разложение требований высокого уровня в низкоуровневые требования и получение дополнительных требований крайне важны для определения архитектуры полной системы. Например, полное потребление энергии робота определяет требование для потребления энергии контроллера робота.
Чтобы выделить и проследить требования с системными элементами, System Composer полностью объединяется с Simulink Requirements. Чтобы вывести соответствующие требования, необходимо иногда анализировать и задавать свойства (такие как степень) для элементов системы включая компоненты, порты или коннекторы. Например, если общая стоимость системы является беспокойством, unitPrice
свойство необходимо.
Управляйте требованиями с точки зрения Требований в System Composer с помощью Simulink Requirements. Перейдите к Apps> Requirements Manager.
Чтобы улучшить трассируемость требований, соедините требования с архитектурными компонентами и портами. Когда вы кликаете по компоненту в перспективе Требований, связанные требования подсвечены. С другой стороны, когда вы кликаете по требованию, соединенные компоненты показывают. Чтобы непосредственно создать ссылку, перетащите требование на компонент или порт.