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

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

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

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

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

  1. В Командном окне MATLAB® ввести

    systemcomposer

    Начальная страница Simulink открывается к System Composer.

  2. Нажмите Architecture Model.

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

  3. На верхней левой из модели архитектуры дважды кликните untitled и назовите его Robot. Имя модели отражает имя модели архитектуры.

  4. Сохраните модель.

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

  1. Перетащите Component от палитры левой стороны.

  2. Переименуйте компонент к Sensors.

  3. Продолжите добавляющий Motion и Trajectory Planning компоненты.

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

Можно добавить порт в компонент на любой стороне и в любом направлении. Чтобы создать порт, приостановите курсор мыши по стороне компонента, Нажатие-кнопки-и-релиз кнопка мыши, чтобы просмотреть опции направления. Выберите или вход или стрелку направления выходного порта. Переименуйте порт с помощью соответствующего имени переменной MATLAB.

  1. Создайте выходной порт на нижней стороне компонента Датчиков. Переименуйте его SensorData.

  2. Перетащите линию от выходного порта SensorData до компонента Движения. Когда вы видите входной порт, созданный в стороне компонента, отпускаете кнопку мыши. По умолчанию этот новый порт имеет то же имя как исходный порт.

  3. Наведите на угол линии SensorData, пока вы не будете видеть значок ветви.. Щелкните правой кнопкой и перетащите ответвление к компоненту Планирования Траектории.

  4. Полные связи как показано в следующем рисунке.

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

  1. Кликните по левому краю модели архитектуры и введите имя порта TargetPosition.

  2. Соедините порт архитектуры с компонентом путем перетаскивания линии от входного порта TargetPositon до компонента Планирования Траектории. Связи с или от порта архитектуры появляются как теги.

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

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

Рассмотрите интерфейс между Sensors и компонентами Motion. Данные о датчике состоят из:

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

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

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

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

ИмяТип данныхМодуль
метка времени'double'секунды
position1 для моторного 1'double'степени
position2 для моторных 2'double'степени
distance1 для датчика 1'double'метры
direction1 для датчика 1'double'степени
distance2 для датчика 2'double'метры
датчик direction2 2'double'степени
  1. На вкладке Modeling и от раздела Design, выберите Interface Editor . Интерфейс Editor открывается в панели правой стороны под Property Inspector.

  2. Нажмите кнопку Add an interface и назовите интерфейс sensordata.

    Интерфейс называют и задают отдельно от порта компонента и затем присваивают порту.

  3. В модели и на компоненте Датчиков, кликните по выходному порту SensorData. В Интерфейсном Редакторе щелкните правой кнопкой по sensordata, и затем выберите Assign to Selected Port(s).

    Три порта SensorData подсвечены, указав, что порты сопоставлены с интерфейсом sensordata.

  4. Добавьте элемент в выбранный интерфейс. Нажмите добавить кнопку элемента и введите timestamp.

  5. Продолжите добавлять элементы в интерфейс путем нажимания добавить кнопки элемента.

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

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

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

Каждый компонент может иметь собственную архитектуру. Дважды кликните компонент, чтобы разложить его на его субкомпоненты.

  1. Дважды кликните компонент Trajectory Planning. Заголовок или Model Browser указывают на положение компонента в иерархии модели.

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

  2. Добавьте Управление Движением и компоненты Правил безопасности как часть архитектуры Trajectory Planning.

    Перетащите порт TargetPosition к Компоненту элемента управления Движения. Добавьте выходной порт Command в Управление Движением, и затем перетащите линию к компоненту Правил безопасности. Перетащите линии от порта SensorData до Управления Движением и компонентов Правил безопасности.

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

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

  1. Щелкните правой кнопкой по Motion Control block и выберите Create Simulink Behavior.

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

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

  3. Дважды кликните Блок управления Движения, чтобы открыть окно Simulink Editor.

  4. Добавьте блок Sum, чтобы вычесть SensorData из TargetPosition и добавить блок Gain прежде, чем соединиться с выходом Command.

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

Можно соединиться с существующей моделью поведения Simulink от компонента System Composer.

  1. Щелкните правой кнопкой по компоненту и выберите Link to Model.

  2. Введите имя модели Simulink.

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

Похожие темы

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