- 離散時間 dynamical systems の理論を利用し、feedback system の各コンポーネントを (f, h) ペアとして符号化
- domain と codomain を適切に選ぶことで、(f, h) ペアを合成し任意の複雑さの feedback system を構成可能
- 各 (f, h) ペアを Python で実装し、composition と simulation のためのオブジェクトにカプセル化
- rclpy を用いてこれらのオブジェクトから ROS executables を生成
- network topology や publishing frequency などの metadata を自動的に書き出す
- 生成された rclpy ファイルから、検証済みの feedback system を live ROS graph として起動
4. どうやって有効だと検証した?
- 要旨からは不明(定量的な検証結果の記述なし)
- canonical controls problem である car with cruise control にプロトタイピングワークフローを適用して実演
- 検証済みの feedback system を live ROS graph として起動できると述べられているが、具体的な評価手法や指標は要旨に記載がない
Here we introduce dynamicalnodes, a framework for rapid iterative prototyping of control and estimation algorithms within the Robot Operating System, or ROS. The framework leverages the theory of discrete-time dynamical systems to encode each component of a feedback system (e.g. reference generator, controller, plant, observer) as a pair of functions, denoted $(f,\,h) $, where $f$ is an evolution function and $h$ is an output function. With appropriate choice of domain and codomain, the $ (f,\,h) $ pairs can be composed to form feedback systems of arbitrary complexity. Moving from theory to practice, the user implements each $(f,\,h)$ pair in Python and encapsulates them in objects that facilitate composition and simulation. ROS executables are generated from these objects via rclpy, where relevant metadata such as network topology and publishing frequency are written automatically. The final result is a collection of rclpy files from which validated feedback systems can be spun up as live ROS graphs. We discuss the relevant theory behind the framework and then demonstrate the prototyping workflow applied to a canonical controls problem, a car with cruise control.