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.