Main Content

Publish

ROS ネットワークへのメッセージの送信

R2019b 以降

  • Publish block

ライブラリ:
ROS Toolbox / ROS

説明

Publish ブロックは、指定された ROS メッセージ タイプに対応する Simulink® 非バーチャル バスを入力として受け取り、ROS ネットワークにパブリッシュします。Simulink モデルのノードを使用して、特定のトピックのための ROS パブリッシャーを作成します。このノードは、モデルの実行時に作成され、モデルの終了時に削除されます。モデルにノードがない場合は、このブロックによって作成されます。

各サンプル ヒットでは、ブロックは [Msg] 入力を Simulink バス信号から ROS メッセージに変換してパブリッシュします。ブロックはサンプル ヒットごとに入力をパブリッシュするだけで、入力が新しいメッセージかどうかは識別しません。シミュレーションでは、この入力は MATLAB® ROS メッセージです。コード生成では、C++ ROS メッセージです。

端子

入力

すべて展開する

ROS メッセージ。非バーチャル バスとして指定します。ROS メッセージのタイプを指定するには、[メッセージ タイプ] パラメーターを使用します。

データ型: bus

パラメーター

すべて展開する

トピック名を指定するためのソース。以下のいずれかとして指定します。

  • ROS ネットワークから選択[選択] を使用してトピック名を選択します。[トピック] パラメーターと [メッセージ タイプ] パラメーターは自動的に設定されます。ROS ネットワークに接続している必要があります。

  • 独自に指定[トピック] にトピック名を入力し、[メッセージ タイプ] でそのメッセージ タイプを指定します。トピック名は厳密に一致する必要があります。

パブリッシュ先のトピックの名前。string として指定します。[トピックのソース][ROS ネットワークから選択] に設定されている場合は、[選択] を使用して ROS ネットワークからトピックを選択します。トピックのリストを表示するには、ROS ネットワークに接続している必要があります。それ以外の場合は、[トピックのソース][独自に指定] に設定し、必要なトピックを指定します。

ROS メッセージ タイプ。string として指定します。[選択] を使用して、サポートされている ROS メッセージの完全なリストから選択します。サービス メッセージ タイプはサポートされていないため、リストに含まれていません。

コード生成でのメッセージ キューの長さ。整数として指定します。シミュレーションでは、メッセージ キューは常に 1 で、調整できません。各メッセージが確実に処理されるようにするには、モデルのステップを小さくするか、新しいメッセージのパブリッシュ時にのみモデルを実行します。

ヒント

ブロックの [ネットワーク アドレスの構成] リンクをクリックすると、ROS マスターとノード ホストのアドレスも設定できます。

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2019b で導入