メインコンテンツ

Simulink における ROS ネットワーク アクセス

Simulink® を使用して ROS のネットワークおよびメッセージにアクセスする

ROS Toolbox を使用して、ROS および ROS 2 に Simulink 内で接続し、ネットワーク経由でメッセージを送信できます。Get Started with ROS in Simulinkを参照してください。

また、コードを生成してターゲット システムに展開することもできます。スタンドアロンの ROS ノードの作成に関する高度な例については、Generate Standalone ROS Node from Simulinkを参照してください。

ROS デバイス上で使用可能な展開済みの ROS ノードの実行、停止、またはステータス チェックを行うには、リストにある MATLAB® 関数を使用します。rosdevice を使用して ROS デバイスへの接続を作成します。

メモ

サブシステム参照内での ROS ブロックの使用はサポートされていません。これは、ROS Toolbox はデータ ディクショナリを使用してモデル情報を保存しますが、サブシステム参照ではアタッチされたデータ ディクショナリの移植性がサポートされていないためです。サブシステム参照の使用の詳細については、ライブラリ ディクショナリを使用する場合の考慮事項 (Simulink)を参照してください。

ROS 2 ブロックは、ソフトウェアインザループ (SIL) およびプロセッサインザループ (PIL) のシミュレーションではサポートされていません。

関数

すべて展開する

rosdeviceConnect to remote ROS device
runNodeStart ROS or ROS 2 node
stopNodeStop ROS or ROS 2 node
runCoreStart ROS core
stopCoreStop ROS core
isNodeRunningDetermine if ROS or ROS 2 node is running
isCoreRunningDetermine if ROS core is running

ブロック

ROS Apply Transform, ROS 2 Apply TransformTransform input ROS or ROS 2 message to target frame (R2023b 以降)
Blank Message指定されたメッセージ タイプを使用した空白メッセージの作成
Call ServiceCall service in ROS network
Current Time現在の ROS 時間またはシステム時間の取得
Get ParameterGet values from ROS parameter server
Get TransformGet transformation between source and target frame from ROS network (R2023b 以降)
Header AssignmentUpdate fields of ROS message header (R2021a 以降)
PublishROS ネットワークへのメッセージの送信
Read Dataログ ファイルからのデータの再生
Read ImageExtract image from ROS Image message
ROS Read Scan, ROS 2 Read ScanExtract scan data from ROS or ROS 2 laser scan message (R2022a 以降)
Read Point CloudExtract point cloud from ROS PointCloud2 message
Set ParameterSet values on ROS parameter server
SubscribeROS ネットワークからメッセージを受信
ROS Write Image, ROS 2 Write ImageWrite image data to a ROS or ROS 2 message (R2022a 以降)
ROS Write Point Cloud, ROS 2 Write Point CloudWrite point cloud data to a ROS or ROS 2 message (R2022a 以降)

トピック

ROS ネットワーク

ROS メッセージ

ROS アプリケーション

モデルの実行

  • Enable External Mode for ROS Toolbox Models
    External mode enables Simulink on your host computer to communicate with a deployed model on your robotics hardware during runtime. External mode allows you to tune block mask parameters and to visualize signals on your model while your model is running. For ROS Toolbox, deployed models are ROS nodes running on the target hardware that communicates with Simulink over TCP/IP.
  • Enable ROS Time Model Stepping for Deployed ROS Nodes
    You can enable a deployed ROS node to execute based on the time published on the /clock topic on a ROS network. To deploy a ROS node from Simulink, see Generate Standalone ROS Node from Simulink.
  • Tune Parameters and View Signals on Deployed Robot Models Using External Mode
    External mode enables Simulink models on your host computer to communicate with a deployed model on your robot hardware during runtime. Use external mode to view signals or modify block mask parameters on your deployed Simulink model. Parameter tuning with external mode helps you make adjustments to your algorithms as they run on the hardware as opposed to in simulation in Simulink itself. This example shows how to use external mode with the Feedback Control of a ROS-Enabled Robot example when the model is deployed to the robot hardware.
  • Overrun Detection with Deployed ROS Nodes
    You can enable overrun detection for a deployed ROS node. To deploy a ROS node from Simulink, see Generate Standalone ROS Node from Simulink.