exponenta event banner

Подписаться

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

  • Библиотека:
  • Набор инструментов ROS/ROS 2

  • Subscribe ROS 2 block

Описание

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

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

Порты

Продукция

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

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

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

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

Параметры

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

Главный

Источник для указания имени темы, указанный как один из следующих:

  • Select from ROS network - выберите название темы с помощью команды «Выбрать». Параметры Тема и Тип сообщения устанавливаются автоматически. Вы должны быть подключены к сети ROS.

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

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

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

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

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

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

Качество обслуживания (QoS)

Определяет режим хранения сообщений в очереди. Сообщения в очереди будут отправляться абонентам с опозданием. Если очередь заполняется сообщениями, ожидающими обработки, старые сообщения будут удалены, чтобы освободить место для новых. Если установлено значение Keep last, в очереди хранится количество сообщений, заданное Depth собственность. В противном случае, если установлено значение Keep allв очереди хранятся все сообщения до предельных значений ресурсов MATLAB ®.

Количество сообщений, сохраненных в очереди сообщений History имеет значение Keep last.

Влияет на гарантию доставки сообщения. Если Reliable, то доставка гарантирована, но может повторить несколько раз. Если Best effort, затем попытайтесь доставить и не повторяйте попытку.

Влияет на сохранение сообщений в издателях, что позволяет поздним подписчикам получать количество старых сообщений, указанное в Depth. Если Volatile, то сообщения не сохраняются. Если Transient local, то издатель сохранит последние сообщения.

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

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

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