Опубликуйте сообщение по теме
Используйте rospublisher
, чтобы создать издателя ROS для отправки сообщений через сеть ROS. Чтобы создать сообщения ROS, используйте rosmessage
. Отправьте эти сообщения через издателя ROS с функцией send
.
Объект Publisher
, созданный функцией, представляет издателя в сети ROS. Объект публикует определенный тип сообщения по данной теме. Когда объект Publisher
публикует сообщение к теме, все подписчики на тему получают это сообщение. Та же тема может иметь несколько издателей и подписчиков.
Издатель получает тип сообщения темы из списка тем на ведущем устройстве ROS. Когда глобальный узел MATLAB® публикует сообщения по той теме, узлы ROS, которые подписываются на ту тему, получают те сообщения. Если тема не находится в ведущем списке тем ROS, эта функция отображает сообщение об ошибке. Если ведущий список тем ROS уже содержит соответствующую тему, ведущее устройство ROS добавляет глобальный узел MATLAB в список издателей для той темы. Видеть список доступных названий темы, в подсказке команды MATLAB, rostopic list
типа.
Можно создать объект Publisher
с помощью функции rospublisher
, или путем вызова robotics.ros.Publisher
:
rospublisher
только работает с глобальным узлом с помощью rosinit
. Это не требует указателя объекта узла в качестве аргумента.
robotics.ros.Publisher
работает с дополнительными узлами, которые создаются с помощью robotics.ros.Node
. Это требует указателя объекта узла в качестве первого аргумента.
pub = rospublisher(topicname)
pub = rospublisher(topicname,msgtype)
pub = rospublisher(___,Name,Value)
[pub,msg]
= rospublisher(___)
pub = robotics.ros.Publisher(node,topicname)
pub = robotics.ros.Publisher(node,topicname,type)
pub = robotics.ros.Publisher(___, "IsLatching",value)
создает издателя для определенного названия темы и устанавливает свойство pub
= rospublisher(topicname
)TopicName
. Тема должна уже существовать в ведущем списке тем ROS с установленным MessageType
.
создает издателя для темы и добавляет, что тема к ведущей теме ROS перечисляет. Входные параметры установлены в свойства pub
= rospublisher(topicname
,msgtype
)TopicName
и MessageType
издателя. Если тема уже существует, и msgtype
отличается от типа темы в ведущем списке тем ROS, функция отображает сообщение об ошибке.
предоставляет дополнительные возможности, заданные одним или несколькими аргументами пары pub
= rospublisher(___,Name,Value)Name,Value
с помощью любого из аргументов от предыдущих синтаксисов. Name
является именем свойства, и Value
является соответствующим значением.
[
возвращает сообщение, pub
,msg
]
= rospublisher(___)msg
, который можно отправить с издателем, pub
. Сообщение инициализируется со значениями по умолчанию. Можно также получить сообщение ROS с помощью функции rosmessage
.
pub = robotics.ros.Publisher(node,
создает издателя для темы с именем, topicname
)topicname
. node
является указателем на объект robotics.ros.Node
, к которому присоединяет этот издатель. Если node
задан как []
, издатель пытается присоединить к глобальному узлу.
pub = robotics.ros.Publisher(node,
создает издателя с заданным типом сообщения, topicname
,type
)type
. Если тема уже существует, MATLAB проверяет тип сообщения и отображает ошибку, если входной тип отличается. Если ведущий список тем ROS уже содержит соответствующую тему, ведущее устройство ROS добавляет глобальный узел MATLAB в список издателей для той темы.
pub = robotics.ros.Publisher(___, "IsLatching",
задает, фиксируется ли издатель с булевской переменной, value
)value
. Если издатель фиксируется, это сохраняет последнее отправленное сообщение и отправляет его любым новым подписчикам. По умолчанию IsLatching
включен.
send | Опубликуйте сообщение ROS к теме |
rosmessage | Создайте сообщения ROS |