arXiv Science⌕ Search

arXiv · 2611.07565

dynamicalnodes: Block Diagrams to ROS2 Graphs

Abstract

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.

Explore related subjects

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Nehal Singh Mangat, Humberto Ramos, Floris van Breugel. 2026-11-05. dynamicalnodes: Block Diagrams to ROS2 Graphs. https://arxiv.org/abs/2611.07565

Cite the original work for its findings. Save a collection to share your selection of sources.

KEEP EXPLORING

Related papers

Modeling Rainwater Harvesting Systems with Covered Storage Tank on A Smartphone

A model for simulating rainwater harvesting systems with a covered storage tank is described. The model is simple enough to serve as the simulation engine of a smartphone app for designing such systems. The results of the simulation can be used to find the optimum tank size and the reliability of the system in meeting a given demand. This is illustrated by using the model for designing two such systems, one in an urban environment and the other in an arid rural location. The Python scripts used for the simulations are included as ancillary material.

eess.SY↗

To Learn or Not to Learn: A Screening Test for Control Problems Before Reinforcement Learning

Reinforcement learning (RL) can be a powerful alternative to classical control methods when standard model-based control is insufficient, e.g., when deriving a suitable model is intractable or impossible. However, in many cases, the choice between model-based and RL-based control is not obvious. Because training RL agents is computationally expensive, RL should be limited to cases where it is expected to outperform model-based control. To the best of our knowledge, there exists no approach to automatically screen out control problems before RL training for which RL is not expected to yield any benefit. In this work, we take the first step towards such an automated screening test. We present a test that identifies problems for which RL-based control is not expected to be superior in two steps. Only control problems that pass both steps should be considered for RL. Part I evaluates the suitability of a provided model for model-based control by analyzing the impact of its uncertainties on the control problem. For this, we use reachset-conformant system identification combined with simulation-based analysis. If the uncertainties are found to be relevant in Part I, Part II then evaluates their learnability using a statistically calibrated dependence analysis. We apply our screening test to several benchmarks, reliably identifying control problems for which RL-based control does not measurably improve upon model-based control, thereby achieving a speed-up of up to $21\times$ compared to trying RL.

eess.SY↗

State-Feedback Passivity Control for Synchronous Machine Systems

The passivity of a generating station enables network stability to be established from conditions verified locally at each station. For synchronous machines, however, passivity can only be certified under conditions on the operating point, and these conditions fail under heavy loading and weak damping. This paper develops a state-feedback controller that enforces passivity using a storage battery connected at the terminal bus. A bilinear term arising from the product of the rotor-speed and stator-current deviations is treated as a bounded uncertainty, leading to robust positive-real conditions that can be enforced by a state feedback control designed using a single algebraic Riccati equation. The resulting controller guarantees passivity whenever the Riccati equation admits a positive-definite solution, with no separate condition on the operating point. Numerical examples show that existing conditions certify passivity only up to a fraction of the rated current, whereas the proposed state-feedback approach certifies it at the rated operating point of the machine.

eess.SY↗