send

Опубликуйте сообщение ROS к теме

Синтаксис

Описание

пример

send(pub,msg) публикует сообщение к теме, заданной издателем, pub. Это сообщение может быть получено всеми подписчиками в сети ROS, которые подписаны на тему, заданную pub.

Примеры

свернуть все

Настройте издателя и подписчика, чтобы отправить и получить сообщение в сети ROS.

Соединитесь с сетью ROS.

rosinit
Initializing ROS master on http://bat6346glnxa64:43469/.
Initializing global node /matlab_global_node_09838 with NodeURI http://bat6346glnxa64:41509/

Создайте издателя с определенной темой и типом сообщения. Можно также возвратить сообщение по умолчанию, чтобы отправить использование этого издателя.

[pub,msg] = rospublisher('position','geometry_msgs/Point');

Измените сообщение прежде, чем отправить его по сети.

msg.X = 1;
msg.Y = 2;
send(pub,msg);

Создайте подписчика и ожидайте последнего сообщения. Проверьте, что сообщение является тем, которое вы отправили.

sub = rossubscriber('position')
sub = 
  Subscriber with properties:

        TopicName: '/position'
      MessageType: 'geometry_msgs/Point'
    LatestMessage: [1x1 Point]
       BufferSize: 1
    NewMessageFcn: []

pause(1);
sub.LatestMessage
ans = 
  ROS Point message with properties:

    MessageType: 'geometry_msgs/Point'
              X: 1
              Y: 2
              Z: 0

  Use showdetails to show the contents of the message

Закройте сеть ROS.

rosshutdown
Shutting down global node /matlab_global_node_09838 with NodeURI http://bat6346glnxa64:41509/
Shutting down ROS master on http://bat6346glnxa64:43469/.

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

свернуть все

Издатель ROS в виде Publisher указатель на объект. Можно создать объект с помощью rospublisher.

Сообщение ROS в виде Message указатель на объект. Можно создать объект с помощью rosmessage.

Введенный в R2019b