PickNikRobotics/generate_parameter_library
Declarative ROS 2 Parameters
何を解決するか
ROS 2 のパラメータを手動で管理するには、宣言、取得、検証の繰り返しコードが必要です。このプロジェクトは、開発者が宣言的な YAML ファイルでパラメータを定義できるようにし、その YAML ファイルをもとに C++ または Python コードを自動生成することで、このプロセスを自動化します。
動作方法
開発者は、パラメータ名、型、デフォルト値、検証ルールを指定する YAML ファイルを作成します。generate_parameter_library ツールがビルドプロセス中にこの YAML ファイルを処理し、C++ 構造体または Python モジュールを生成します。この生成されたライブラリは、ROS 2 システムへのパラメータ宣言、値の取得、検証制約(境界チェックや一意性など)の強制といったボイラープレートコードを処理します。アプリケーションがそれらを使用できる前に、これらの制約が適用されます。
対象ユーザー
ROS 2 を使用するロボット開発者で、ボイラープレートコードを減らし、ノードのパラメータを厳密に検証し、良好にドキュメント化したい方。
特徴
- 宣言的構成: 手動で C++ や Python のセットアップコードを書く代わりに、YAML でパラメータを定義できます。
- 自動検証: 境界、文字列長、配列の一意性、部分集合チェックのための組み込み検証器を備え、カスタム C++ 検証関数もサポートしています。
- 型安全: パラメータ用の C++ 構造体を生成し、コンパイル時型安全を提供し、ネスト構造による簡単なアクセスを可能にします。
- 動的パラメータ対応: コールバックやポーリングによる実行時パラメータ更新を簡素化します。
- マップパラメータ: キーが他の文字列配列パラメータから導出されるマップの作成をサポートします。
- 自動ドキュメント生成: YAML の説明に基づいて、パラメータのドキュメントを自動生成できます。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト