exponenta event banner

Подписаться

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

  • Библиотека:
  • Панель инструментов ROS/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 - выберите название темы с помощью команды «Выбрать». Параметры Тема и Тип сообщения устанавливаются автоматически. Вы должны быть подключены к сети ROS.

  • Specify your own - Введите название темы в разделе «Тема» и укажите тип сообщения в разделе «Тип сообщения». Необходимо точно соответствовать имени раздела.

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

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

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

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

Дополнительные сведения о унаследованном типе времени образца см. в разделе Указание времени образца (Simulink).

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

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

Совет

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

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

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.
Представлен в R2019b