Main Content

Simulink での ROS 2 メッセージのパブリッシュとサブスクライブ

このモデルでは、Simulink® を使用して ROS 2 トピックをパブリッシュおよびサブスクライブする方法を示します。

前提条件:Get Started with ROS 2 in Simulink

open_system('simulinkPubSubROS2Example');

Blank Message ブロックおよび Bus Assignment ブロックを使用して 'geometry_msgs/Point' メッセージ タイプの x 値と y 値を指定します。Blank Message ブロック マスクを開いてメッセージ タイプを指定します。[サンプル時間] を 0.01 に設定します。Bus Assignment ブロック マスクを開いて、割り当てる信号を選択します。右側列から '???' をもつ値を削除します。x および y の関連の値をもつ Bus Assignment ブロックを指定します。

Bus 出力を Publish ブロックに送ります。ブロック マスクを開いて、Specify your own をトピック ソースとして選択します。トピック '/location'、およびメッセージ タイプ 'geoemetry_msgs/Point' を指定します。[サンプル時間] を 0.01 に設定します。

Subscribe ブロックを追加し、トピックとメッセージ タイプを指定します。出力 Msg を Bus Selector に送り、ブロック マスクで選択した信号を指定します。x 値と y 値を表示します。

シミュレーション終了時間を Inf に設定し、モデルを実行します。xPosition_Out および yPosition_Out に、ROS 2 ネットワークにパブリッシュされた対応する値が表示されているか確認する必要があります。