Подписаться на сообщения по теме
Использование rossubscriber для создания абонента ROS для приема сообщений по сети ROS. Для отправки сообщений используйте rospublisher. Чтобы дождаться нового сообщения ROS, используйте receive функция с созданным абонентом.
The Subscriber объект, созданный rossubscriber функция представляет абонента в сети ROS. The Subscriber объект подписывается на доступную тему или на создаваемую тему. Этот раздел имеет связанный тип сообщения. Издатели могут отправлять сообщения по сети, которую Subscriber объект получает.
Примечание
В следующем релизе ROS Toolbox будет использовать структуры сообщений вместо объектов для сообщений ROS.
Чтобы использовать структуры сообщений, установите "DataFormat" аргумент имя-значение в "struct". Для получения дополнительной информации см. раздел Структуры сообщений ROS.
Можно создать Subscriber объект при помощи rossubscriber function, или вызовом 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, который запускается, когда указатель на объект абонента получает сообщение тематики. Используйте этот синтаксис, чтобы избежать блокировки функции приема. The callback функция может быть одним указателем на функцию или массивом ячеек. Первый элемент массива ячеек должен быть указателем на функцию или строкой, содержащей имя функции. Остальные элементы массива ячеек могут быть произвольными пользовательскими данными, которые передаются в функцию обратного вызова.
задает функцию обратного вызова и подписывается на тему с заданным именем, sub = rossubscriber(topicname, msgtype,callback)TopicName, и тип, MessageType.
предоставляет дополнительные опции, заданные одним или несколькими sub = rossubscriber(___,Name,Value)Name,Value пара аргументов с использованием любого из аргументов из предыдущих синтаксисов. Name - имя свойства и Value - соответствующее значение.
использует структуры сообщений вместо объектов. Для получения дополнительной информации смотрите Структуры сообщений ROSsub = rossubscriber(___,"DataFormat","struct")
sub = ros.Subscriber( подписывается на тему с именем, node,topicname)TopicName. The 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 для входящих сообщений. Вы можете использовать любую комбинацию предыдущих входов с этим синтаксисом.
использует структуры сообщений вместо объектов. Для получения дополнительной информации смотрите Структуры сообщений ROSsub = ros.Subscriber(___,"DataFormat","struct")
receive | Подождите нового сообщения ROS |
rosmessage | Создание сообщений ROS |