Main Content

send

ROS メッセージをトピックにパブリッシュ

R2019b 以降

説明

send(pub,msg) は、パブリッシャー pub により指定されたトピックにメッセージをパブリッシュします。このメッセージは、pub により指定されたトピックをサブスクライブしている ROS ネットワーク内のすべてのサブスクライバーが受信できます。

すべて折りたたむ

ROS ネットワークでメッセージを送受信するパブリッシャーとサブスクライバーを設定します。

ROS ネットワークに接続します。

rosinit
Launching ROS Core...
Done in 0.77453 seconds.
Initializing ROS master on http://172.29.217.125:56013.
Initializing global node /matlab_global_node_49233 with NodeURI http://dcc934856glnxa64:42035/ and MasterURI http://localhost:56013.

特定のトピックとメッセージ タイプをもつパブリッシャーを作成します。このパブリッシャーを使用して、送信する既定のメッセージを返すこともできます。

[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'
                  LatestMessage: [1x1 Point]
                    MessageType: 'geometry_msgs/Point'
                     BufferSize: 1
    MessagePreprocessingEnabled: 0
                  NewMessageFcn: []
                     DataFormat: 'object'

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_49233 with NodeURI http://dcc934856glnxa64:42035/ and MasterURI http://localhost:56013.
Shutting down ROS master on http://172.29.217.125:56013.

入力引数

すべて折りたたむ

ROS パブリッシャー。Publisher オブジェクト ハンドルとして指定します。rospublisher を使用してオブジェクトを作成できます。

ROS メッセージ。Message オブジェクト ハンドルまたは構造体として指定します。オブジェクトは rosmessage を使用して作成できます。

メモ

将来のリリースでは、ROS Toolbox は ROS メッセージ用のオブジェクトではなくメッセージ構造体を使用します。

現時点でメッセージ構造体を使用する場合、名前と値の引数 "DataFormat""struct" に設定します。詳細については、ROS メッセージ構造体を参照してください。

拡張機能

バージョン履歴

R2019b で導入

すべて展開する