Subscribe

Получите сообщения от сети ROS

  • Библиотека:
  • ROS Toolbox / ROS

  • Subscribe block

Описание

Блок Subscribe создает Simulink® невиртуальная шина, которая соответствует заданному типу сообщения ROS. Блок использует вершину модели Simulink, чтобы создать подписчика ROS для определенной темы. Этот узел создается, когда модель запускается и удалена, когда модель завершает работу. Если модель не имеет узла, блок создает тот.

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

Порты

Вывод

развернуть все

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

Сообщение ROS, возвращенное как невиртуальная шина. Тип сообщения ROS задан в параметре Message type. Выходные параметры блока Subscribe очищают сообщения, пока это не получает сообщение на названии темы, которое вы задаете. Эти пустые сообщения позволяют вам создавать и тестировать полные модели, прежде чем остальная часть сети была настройкой.

Типы данных: bus

Параметры

развернуть все

Источник для определения названия темы в виде одного из следующего:

  • Select from ROS network — Используйте Select, чтобы выбрать название темы. Topic и параметры Message type установлены автоматически. Вы должны быть соединены с сетью ROS.

  • Specify your own — Введите название темы в Topic и задайте его тип сообщения в Message type. Необходимо совпадать с названием темы точно.

Название темы, чтобы подписаться на в виде строки. Когда Topic source установлен в Select from ROS network, используйте Select, чтобы выбрать тему из сети ROS. Вы должны быть соединены с сетью ROS, чтобы получить список тем. В противном случае установите Topic source на Specify your own и задайте тему, которую вы хотите.

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

Интервал между выходными параметрами в виде скаляра. В симуляции шаг расчета следует за временем симуляции и не фактическое время часов.

Это значение по умолчанию указывает, что шаг расчета блока наследован.

Для получения дополнительной информации о наследованном типе шага расчета, см. Настройку времени выборки (Simulink).

Длина очереди сообщений в генерации кода в виде целого числа. В симуляции очередь сообщений всегда равняется 1 и не может быть настроена. Гарантировать каждое сообщение отловлено, используйте меньший шаг модели или только выполните модель если IsNew возвращает 1.

Примеры модели

Советы

Можно также установить адреса для ведущего устройства ROS и хоста узла путем щелчка по ссылке Configure network addresses в блоке.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Введенный в R2019b