Подписаться на сообщения по теме
Использовать rossubscriber создание абонента АФК для приема сообщений в сети АФК. Для отправки сообщений используйте rospublisher. Для ожидания нового сообщения ROS используйте receive функция с созданным абонентом.
Subscriber объект, созданный rossubscriber функция представляет абонента в сети ROS. Subscriber объект подписывается на доступный раздел или на раздел, который он создает. Этот раздел имеет связанный тип сообщения. Издатели могут отправлять сообщения по сети, Subscriber объект получает.
Примечание
В следующем выпуске Панель инструментов ROS будет использовать структуры сообщений вместо объектов для сообщений ROS.
Чтобы использовать структуры сообщений сейчас, установите "DataFormat" аргумент «имя-значение» для "struct". Для получения дополнительной информации см. Структуры сообщений ROS.
Можно создать Subscriber с помощью rossubscriber функции или путем вызова ros.Subscriber:
rossubscriber работает только с глобальным узлом, используя rosinit. Для него не требуется дескриптор объекта узла в качестве аргумента.
ros.Subscriber работает с дополнительными узлами, созданными с помощью ros.Node. Для него требуется дескриптор объекта узла в качестве первого аргумента.
подписывается на тему с данным sub = rossubscriber(topicname)TopicNameТема должна уже существовать в списке основных тем ROS с установленным типом сообщения. Когда узлы ROS публикуют сообщения по этой теме, MATLAB ® получает эти сообщения через этого абонента.
подписывается на раздел с указанным именем, sub = rossubscriber(topicname,msgtype)TopicNameи введите, MessageType. Если список тем в шаблоне ROS не включает тему с указанным именем и типом, он добавляется в список тем. Используйте этот синтаксис, чтобы избежать ошибок при подписке на раздел до того, как издатель добавит раздел в список разделов мастера ROS.
определяет функцию обратного вызова, sub = rossubscriber(topicname,callback)callback, который выполняется, когда дескриптор объекта подписчика получает сообщение тематики. Используйте этот синтаксис, чтобы избежать блокировки функции получения. callback функция может быть одним дескриптором функции или массивом ячеек. Первый элемент массива ячеек должен быть дескриптором функции или строкой, содержащей имя функции. Остальные элементы массива ячеек могут быть произвольными пользовательскими данными, которые передаются функции обратного вызова.
определяет функцию обратного вызова и подписывается на раздел с указанным именем, sub = rossubscriber(topicname, msgtype,callback)TopicNameи введите, MessageType.
предоставляет дополнительные параметры, указанные одним или несколькими sub = rossubscriber(___,Name,Value)Name,Value пара аргументов с использованием любого из аргументов из предыдущих синтаксисов. Name - имя свойства и Value - соответствующее значение.
использует структуры сообщений вместо объектов. Для получения дополнительной информации см. Структуры сообщений ROS.sub = rossubscriber(___,"DataFormat","struct")
sub = ros.Subscriber( подписывается на тему с именем, node,topicname)TopicName. node является ros.Node дескриптор объекта, к которому присоединен издатель.
sub = ros.Subscriber( определяет тип сообщения, node,topicname,msgtype)MessageType, темы. Если тема с тем же именем существует с другим типом сообщения, MATLAB создает новую тему с указанным типом сообщения.
sub = ros.Subscriber( определяет функцию обратного вызова и необязательные данные для выполнения при получении объектом подписчика сообщения тематики. Посмотрите node,topicname,callback)NewMessageFcn для получения дополнительной информации о функции обратного вызова.
sub = ros.Subscriber( определяет имя темы, тип сообщения и функцию обратного вызова для абонента.node,topicname,type,callback)
sub = ros.Subscriber(___,"BufferSize", задает размер очереди в value)BufferSize для входящих сообщений. С помощью этого синтаксиса можно использовать любую комбинацию предыдущих входных данных.
использует структуры сообщений вместо объектов. Для получения дополнительной информации см. Структуры сообщений ROS.sub = ros.Subscriber(___,"DataFormat","struct")
receive | Ожидание нового сообщения ROS |
rosmessage | Создание сообщений ROS |