Опубликуйте сообщение по теме
Используйте 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 |