Table of Contents
Fetching ...

Simplifying ROS2 controllers with a modular architecture for robot-agnostic reference generation

Davide Risi, Vincenzo Petrone, Antonio Langella, Lorenzo Pagliara, Enrico Ferrentino, Pasquale Chiacchio

TL;DR

This work presents a modular Reference Generator that decouples reference processing from control-law execution within the ros2_control framework, enabling robot-agnostic reuse and reducing duplicated reference handling across controllers. It introduces two reference generators, JRG for joint-space and TRG for task-space references, and several new controllers (PD with gravity compensation, Cartesian pose, and admittance) to demonstrate flexible, chained control pipelines. The approach is validated both in simulation and on real UR10 and FER manipulators, showing reliable reference tracking, cross-controller compatibility, and ease of reconfiguration. The results highlight improved reusability and scalability of control pipelines, with potential extensions to higher-order interpolation and broader community adoption through ros2_control chaining interfaces.

Abstract

This paper introduces a novel modular architecture for ROS2 that decouples the logic required to acquire, validate, and interpolate references from the control laws that track them. The design includes a dedicated component, named Reference Generator, that receives references, in the form of either single points or trajectories, from external nodes (e.g., planners), and writes single-point references at the controller's sampling period via the existing ros2_control chaining mechanism to downstream controllers. This separation removes duplicated reference-handling code from controllers and improves reusability across robot platforms. We implement two reference generators: one for handling joint-space references and one for Cartesian references, along with a set of new controllers (PD with gravity compensation, Cartesian pose, and admittance controllers) and validate the approach on simulated and real Universal Robots and Franka Emika manipulators. Results show that (i) references are tracked reliably in all tested scenarios, (ii) reference generators reduce duplicated reference-handling code across chained controllers to favor the construction and reuse of complex controller pipelines, and (iii) controller implementations remain focused only on control laws.

Simplifying ROS2 controllers with a modular architecture for robot-agnostic reference generation

TL;DR

This work presents a modular Reference Generator that decouples reference processing from control-law execution within the ros2_control framework, enabling robot-agnostic reuse and reducing duplicated reference handling across controllers. It introduces two reference generators, JRG for joint-space and TRG for task-space references, and several new controllers (PD with gravity compensation, Cartesian pose, and admittance) to demonstrate flexible, chained control pipelines. The approach is validated both in simulation and on real UR10 and FER manipulators, showing reliable reference tracking, cross-controller compatibility, and ease of reconfiguration. The results highlight improved reusability and scalability of control pipelines, with potential extensions to higher-order interpolation and broader community adoption through ros2_control chaining interfaces.

Abstract

This paper introduces a novel modular architecture for ROS2 that decouples the logic required to acquire, validate, and interpolate references from the control laws that track them. The design includes a dedicated component, named Reference Generator, that receives references, in the form of either single points or trajectories, from external nodes (e.g., planners), and writes single-point references at the controller's sampling period via the existing ros2_control chaining mechanism to downstream controllers. This separation removes duplicated reference-handling code from controllers and improves reusability across robot platforms. We implement two reference generators: one for handling joint-space references and one for Cartesian references, along with a set of new controllers (PD with gravity compensation, Cartesian pose, and admittance controllers) and validate the approach on simulated and real Universal Robots and Franka Emika manipulators. Results show that (i) references are tracked reliably in all tested scenarios, (ii) reference generators reduce duplicated reference-handling code across chained controllers to favor the construction and reuse of complex controller pipelines, and (iii) controller implementations remain focused only on control laws.
Paper Structure (8 sections, 1 equation, 7 figures, 1 table)

This paper contains 8 sections, 1 equation, 7 figures, 1 table.

Figures (7)

  • Figure 1: Component diagram. The Reference Generator validates and interpolates incoming references, producing single, chainable references for the downstream controller.
  • Figure 2: Finite state machine of the Reference Generator.
  • Figure 3: Experiments on real robots: (left) FER executing an excitation trajectory in the JRG → PDGC experiment; (center) control points defining the square Cartesian trajectory in the TRG → CPC experiment on the UR10; (right) UR10 drawing on a blackboard with the TRG → AC → CPC pipeline.
  • Figure 4: Reference (dashed) and measured (solid) joint positions on the real FER under PD control with gravity compensation.
  • Figure 5: Reference (circles) and measured (lines) joint positions on the simulated UR10 under PID control.
  • ...and 2 more figures