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++ с помощью Coder™ Simulink ®

.
Введенный в R2019b