メインコンテンツ

ROS 2 コンポーネント ノードの生成と展開

ROS 2 コンポーネント ノード用の C/C++ および CUDA コードを生成し、ローカルおよびリモート ハードウェアに展開する

ROS 2 コンポーネント ノードは、標準ノードをさらにモジュール化したリソース効率に優れたバージョンです。コンポーネント マネージャーを使用して管理され、次のような特徴があります。

  • 共有プロセスで運用され、動的なロードとアンロードをサポートしている。

  • 独自の main 関数はない。

  • C++ コード パッケージと共に共有ライブラリとして展開される。

コンポーネント ノードは共有プロセスで運用されるため、リソース効率に優れ、通信オーバーヘッドがありません。そのため、複数の異なるアルゴリズムの間でデータを共有する複雑なロボット アプリケーションの検証用の有力な候補になります。

ROS 2 コンポーネント ノードは MATLAB® と Simulink® の両方から生成できます。ROS 2 コンポーネント ノード用の CUDA® 最適化コードも MATLAB と Simulink の両方から生成できます。

メモ

  • ROS 2 ノードを展開するには、SSH 接続を介してターゲット ROS 2 デバイスにファイルを転送する必要があります。展開する前に OpenSSH がターゲット ROS 2 デバイスにインストールされていることを確認してください。

  • ROS 2 コンポーネント ノードを実行するには、ターゲット ROS 2 デバイスに rlcpp_components パッケージがインストールされている必要があります。

トピック

Simulink からの ROS 2 コンポーネント ノードの生成と展開

  • Generate a ROS 2 Component Node from Simulink
    ROS 2 component nodes provide enhanced modularity and efficiency when integrating multiple different algorithms for robotic applications. Unlike traditional nodes that run as separate processes, you can dynamically load and execute ROS 2 component nodes during runtime in a shared process. This enables more efficient resource utilization and easy testing of individual algorithms in a complex robotic system.

注目の例