このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Simulink における ROS 2 ネットワーク アクセス
Simulink® を使用して ROS 2 のネットワークおよびメッセージにアクセスする
ROS Toolbox を使用して、ROS および ROS 2 に Simulink 内で接続し、ネットワーク経由でメッセージを送信できます。Get Started with ROS 2 in Simulinkを参照してください。
また、コードを生成してターゲット システムに展開することもできます。スタンドアロンの ROS 2 ノードの作成に関する高度な例については、Generate a Standalone ROS 2 Node from Simulinkを参照してください。
ROS 2 デバイス上で使用可能な展開済みの ROS 2 ノードの実行、停止、またはステータス チェックを行うには、リストにある MATLAB® 関数を使用します。ros2device
を使用して ROS デバイスへの接続を作成します。
メモ
サブシステム参照内での ROS 2 ブロックの使用はサポートされていません。これは、ROS Toolbox はデータ ディクショナリを使用してモデル情報を保存しますが、サブシステム参照ではアタッチされたデータ ディクショナリの移植性がサポートされていないためです。サブシステム参照の使用の詳細については、Considerations When Using a Library Dictionary (Simulink)を参照してください。
ROS 2 ブロックは、ソフトウェアインザループ (SIL) およびプロセッサインザループ (PIL) のシミュレーションではサポートされていません。
関数
ブロック
Apply Transform | Transform input ROS or ROS 2 message to target frame (R2023b 以降) |
Blank Message | 指定されたメッセージ タイプを使用した空白の ROS 2 メッセージの作成 |
Call Service | Call service in ROS 2 network (R2021b 以降) |
Cancel Action Goal | Cancel active action goal in ROS 2 network (R2024a 以降) |
Current Time | 現在の ROS 2 時間またはシステム時間の取得 (R2022b 以降) |
Get Parameter | Get ROS 2 parameter value (R2022b 以降) |
Get Transform | Get transformation between source and target frame from ROS 2 network (R2023b 以降) |
Header Assignment | Update fields of ROS 2 message header (R2023a 以降) |
Monitor Action Goal | Monitor action goal in ROS 2 network (R2024a 以降) |
Publish | Send messages to ROS 2 network |
Receive Service Request | Receive service request from ROS 2 network (R2024a 以降) |
Read Data | Play back data from ROS 2 log file (R2021b 以降) |
Read Image | Extract image from ROS 2 Image message (R2021b 以降) |
Read Scan | Extract scan data from ROS or ROS 2 laser scan message (R2022a 以降) |
Read Point Cloud | Extract point cloud from ROS 2 PointCloud2 message (R2021b 以降) |
Send Action Goal | Send action goal messages to ROS 2 network (R2024a 以降) |
Send Service Response | Send service response to ROS 2 service client (R2024a 以降) |
Subscribe | Receive messages from ROS 2 network |
Write Image | Write image data to a ROS or ROS 2 message (R2022a 以降) |
ROS Write Point Cloud, ROS 2 Write Point Cloud | Write point cloud data to a ROS or ROS 2 message (R2022a 以降) |
トピック
ROS 2 ネットワーク
- Get Started with ROS 2 in Simulink
Use Simulink blocks for ROS 2 to send and receive messages from a local ROS 2 network. - Simulink での ROS 2 メッセージのパブリッシュとサブスクライブ
Simulink を使用して ROS 2 トピックをパブリッシュおよびサブスクライブします。 - Connect to a ROS-Enabled Robot from Simulink over ROS 2
Configure a Simulink model to send and receive information from a separate ROS-based simulator such as Gazebo over ROS 2.
ROS 2 メッセージ
- Work with ROS 2 Messages in Simulink
Work with complex ROS 2 messages inSimulink, such as messages with nested sub-messages and variable-length arrays. - Simulink での ROS メッセージの配列サイズの管理
Simulink で ROS の配列サイズを管理するためのダイアログ ボックスの説明 - Log ROS 2 Messages from Simulink to ROS 2 Bag File
Save ROS 2 message data from Simulink to a ros2bag file. - Use ROS 2 Logger App to Save ROS 2 Messages from Simulink
Use ROS 2 Logger app to record ROS 2 messages during Simulink simulation.
ROS 2 アプリケーション
- Generate a Standalone ROS 2 Node from Simulink
Generate and build a standalone ROS 2 node from a Simulink model. - Feedback Control of a ROS-Enabled Robot Over ROS 2
Use Simulink to control a simulated robot running in a Gazebo robot simulator over ROS 2 network. - Sign-Following Robot with ROS 2 in Simulink
Use Simulink to control a simulated robot running on a separate ROS-based simulator over ROS 2 network. - Automated Parking Valet with ROS 2 in Simulink
Distribute an automated parking valet application among various nodes in a ROS 2 network in Simulink. - Generate Code to Manually Deploy a ROS 2 Node from Simulink
Generate C++ code from a Simulink model to deploy as a standalone ROS 2 node.
モデルの実行
- Enable ROS 2 Time Model Stepping for Deployed Nodes
You can enable a deployed ROS 2 node to execute based on the time published on the/clock
topic on a ROS 2 network. To deploy a ROS 2 node from Simulink, see Generate a Standalone ROS 2 Node from Simulink.