ROS Toolbox には、MATLAB および Simulink をロボット オペレーティング システム (ROS および ROS 2) に接続するインターフェイスが用意されています。このツールボックスを使用すると、ROS ノードのネットワークを設計し、MATLAB または Simulink で生成した ROS ノードを既存の ROS ネットワークと組み合わせることができます。
ツールボックスに含まれる MATLAB 関数と Simulink ブロックを使用して rosbag ファイルを記録、インポート、再生することにより、ROS データを可視化および解析します。また、ライブ ROS ネットワークに接続して、ROS メッセージにアクセスすることもできます。
このツールボックスでは、デスクトップ シミュレーションにより、また、Gazebo などの外部ロボット シミュレーターやハードウェアに接続することにより ROS ノードを検証できます。ROS Toolbox では C++ および CUDA® コード生成がサポートされており (MATLAB Coder、Simulink Coder、GPU Coder を使用)、MATLAB スクリプトまたは Simulink モデルから ROS ノードを自動的に生成して、シミュレーション上のハードウェアまたは物理的なハードウェアに展開することができます。Simulink のエクスターナルモードがサポートされているため、ハードウェア上でモデルを実行しながらメッセージの表示やパラメーターの変更を行えます。
ROS および ROS 2 ネットワーク
既存の ROS または ROS 2 ネットワークに接続し、ROS ベースのアプリケーションをプロトタイピングします。デスクトップ シミュレーションのための ROS ノードのネットワークを設計します。MATLAB と Simulink で ROS メッセージングを使用してハードウェアと通信します。
ROS: ドキュメンテーション | 例
ROS2: ドキュメンテーション | 例
通信およびメッセージング
パブリッシュ/サブスクライブ セマンティクスを使用して ROS メッセージを送受信します。クライアント/サーバー型のアーキテクチャを使用して、リクエストの送信、タスクの実行、フィードバックの受信を行います。ROS パラメーターサーバーを使用して、ROS ノードを動的に構成します。
ROS: ドキュメンテーション | 例
ROS2: ドキュメンテーション | 例
カスタムメッセージ
カスタムメッセージ定義を作成し、情報の送信に使用します。カスタムメッセージは、パブリッシャー、サブスクライバー、アクション、サービスとともに使用します。カスタムメッセージの内容は、MATLAB で直接表示、プロット、ロギングできます。ROS に特化したメッセージを使用して、特定の ROS および ROS 2 メッセージタイプでセンサーとデータ型を作成してアクセスできます。
ドキュメンテーション | 例
rosbag の可視化
ROS Bag ビューアーアプリを使用して、MATLAB から rosbag ファイル内の複数のメッセージを同時に再生および可視化できます。また、rosbag コマンド ライン インターフェイスを使用して、ログの書き込み、ログデータのアクセス、フィルタリング、可視化、解析を行います。MATLAB および Simulink でのシミュレーションに rosbag ファイルを使用できます。
ドキュメンテーション | 例
ノードの展開
C++ コードを生成し、スタンドアロンの ROS および ROS 2 ノードとしてローカルまたはリモート デバイス ターゲットに展開します。CUDA 対応の ROS ノード生成を使用して、ROS ベースの AI アプリケーションを高速化します。Simulink で設計されたコントローラーからリアルタイムの ros_control プラグイン用の C++ コードを生成します。
ROS: ドキュメンテーション | 例
ROS2: ドキュメンテーション | 例
アプリケーションの例
地上用ロボット、ロボット マニピュレーター、UAV、自律型車両のリファレンス アプリケーションの例を使用して、ROS ベースのシステムの設計、シミュレーション、展開をすぐに始めることができます。
ドキュメンテーション | 例