メインコンテンツ

send

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

説明

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

すべて折りたたむ

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

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

rosinit
Launching ROS Core...
Done in 0.60613 seconds.
Initializing ROS master on http://172.20.24.202:50740.
Initializing global node /matlab_global_node_67937 with NodeURI http://dcc2856820glnxa64:34863/ and MasterURI http://localhost:50740.

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

[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: [1×1 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_67937 with NodeURI http://dcc2856820glnxa64:34863/ and MasterURI http://localhost:50740.
Shutting down ROS master on http://172.20.24.202:50740.

入力引数

すべて折りたたむ

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

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

メモ

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

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

拡張機能

すべて展開する

バージョン履歴

R2019b で導入

すべて展開する