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 的機器人開發者,希望減少重複程式碼,並確保節點參數嚴格驗證且文件完整。
主要特色
- 宣告式設定:以 YAML 定義參數,無需手動撰寫 C++ 或 Python 設定程式碼。
- 自動驗證:內建範圍、字串長度、陣列唯一性、子集檢查等驗證器,並支援自訂 C++ 驗證函數。
- 類型安全:為參數產生 C++ 結構,提供編譯時期類型安全,並可透過巢狀結構輕鬆存取。
- 動態參數支援:透過回呼或輪詢簡化執行時參數更新。
- 映射參數:支援建立映射,其中鍵由其他字串陣列參數推導得出。
- 自動文件產生:可根據 YAML 描述自動產生參數文件。
相關
- 專案
- 專案
- 專案
- 專案
- 專案