exponenta event banner

ros2publisher

Публикация сообщений по теме

Описание

Используйте объект ros2publisher для публикации сообщений по теме. Когда сообщения публикуются по этой теме, узлы ROS 2, подписавшиеся на эту тему, получают эти сообщения напрямую.

Создание

Описание

pub = ros2publisher(node,topic) создает издателя, pub, для раздела с именем topic уже существует в сети ROS 2. node является ros2node дескриптор объекта, к которому должен присоединяться издатель. Издатель получает тип сообщения темы из списка тем сети.

Примечание

Тема должна быть в списке тем сети.

пример

pub = ros2publisher(node,topic,type) создает издателя для раздела и добавляет этот раздел в список разделов сети. Если список тем уже содержит соответствующий раздел, pub будет добавлен в список издателей этого раздела.

pub = ros2publisher(___,Name,Value) указывает дополнительные параметры, использующие один или несколько аргументов пары имя-значение. Укажите аргументы пары имя-значение после всех других входных аргументов.

[pub,msg] = rospublisher(___) возвращает сообщение, msg, что вы можете отправить с издателем, pub. Сообщение инициализируется значениями по умолчанию. Также можно получить сообщение ROS с помощью ros2message функция.

Входные аргументы

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

A ros2node объект в сети.

Имя опубликованного раздела, указанного как строковый скалярный или символьный вектор. Если раздел не существует, объект создает раздел, используя связанный с ним тип сообщения.

Это свойство устанавливается при создании с помощью TopicName аргумент. Значение не может быть изменено после создания.

Пример: "/chatter"

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

Тип публикуемых сообщений, указанный как строковый скалярный или символьный вектор. Этот тип сообщения остается связанным с разделом и должен использоваться для новых опубликованных сообщений.

Это свойство устанавливается при создании с помощью MessageType аргумент. Значение не может быть изменено после создания.

Пример: "std_msgs/String"

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

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

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

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

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

Пример: 42

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

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

Пример: "reliable"

Типы данных: char | string

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

Пример: "volatile"

Типы данных: char | string

Свойства

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

Имя опубликованного раздела, указанного как строковый скалярный или символьный вектор. Если раздел не существует, объект создает раздел, используя связанный с ним тип сообщения.

Это свойство устанавливается при создании с помощью TopicName аргумент. Значение не может быть изменено после создания.

Пример: "/chatter"

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

Тип публикуемых сообщений, указанный как строковый скалярный или символьный вектор. Этот тип сообщения остается связанным с разделом и должен использоваться для новых опубликованных сообщений.

Это свойство устанавливается при создании с помощью MessageType аргумент. Значение не может быть изменено после создания.

Пример: "std_msgs/String"

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

Это свойство доступно только для чтения.

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

Пример: "keeplast"

Типы данных: char | string

Это свойство доступно только для чтения.

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

Пример: 42

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

Это свойство доступно только для чтения.

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

Пример: "reliable"

Типы данных: char | string

Это свойство доступно только для чтения.

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

Пример: "volatile"

Типы данных: char | string

Функции объекта

ros2messageСоздание структур сообщений ROS 2
sendПубликация сообщения ROS 2 в разделе

Примеры

свернуть все

Создайте узел ROS 2.

node = ros2node("/node_1");

Создание издателя и сообщения.

chatPub = ros2publisher(node,"/chatter","std_msgs/String")
chatPub = 
  ros2publisher with properties:

      TopicName: '/chatter'
    MessageType: 'std_msgs/String'
        History: 'keeplast'
          Depth: 10
    Reliability: 'reliable'
     Durability: 'volatile'

msg = ros2message(chatPub)
msg = struct with fields:
    MessageType: 'std_msgs/String'
           data: ''

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