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 の説明に基づいて、パラメータのドキュメントを自動生成できます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト