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] = ros2publisher(___) возвращает сообщение, msg, то, что можно отправить с издателем, pub. Сообщение инициализируется значениями по умолчанию. Можно также получить сообщение ROS с помощью ros2message функция.

Входные параметры

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

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
Для просмотра документации необходимо авторизоваться на сайте