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