Subscribe

Прием сообщений от сети ROS 2

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

  • Subscribe ROS 2 block

Описание

Блок Subscribe создает 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 - Используйте Select, чтобы выбрать имя темы. Параметры Topic и Message type устанавливаются автоматически. Вы должны быть подключены к сети ROS.

  • Specify your own - Введите имя темы в Topic и укажите тип сообщения в Message type. Вы должны точно соответствовать имени темы.

Имя темы для подписки, заданное как строка. Когда Topic source установлено на Select from ROS network, используйте Select, чтобы выбрать тему из сети ROS. Для получения списка тем необходимо подключиться к сети ROS 2. В противном случае установите Topic source равным 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++ с помощью Coder™ Simulink ®

.

См. также

|

Введенный в R2019b