This repository provides reference generators components and demos for ROS2 Humble. Reference generators allow to decouple reference management from control law computation, enabling more flexible, modular, and reusable control systems. They can handle both online references (received in real time via topics or action servers) and trajectories, and may include features such as interpolation or trajectory execution logic.
For more details about the design, configuration, and usage of reference generators, please refer to the dedicated documentation in the reference_generator package.
This repository contains a joint space reference generator and a task space reference generator, along with their configurations and example usage. In particular:
reference_generator: contains all reference generator components.acg_common_libraries: contains common libraries used by the reference generators and controllers.acg_common_msgs: contains custom messages used by the reference generators and controllers.acg_controller_interface: contains custom semantic components and semantic command components used by the reference generators.acg_hardware_interface_facade: contains a series of components that facilitate the interaction with the hardware interface,which are used by both controllers and reference generators.cartesian_pose_controller: contains a task space controller, that will be used in the demos.ur10_reference_generators_demo: contains a demo that shows how to use both reference generators with a UR10 robot.
This code requires the installation of Ubuntu 22.04 and ROS2 Humble Hawksbill.
To install the packages needed by this repo as system-wide dependencies, run the following command from the repository's root folder:
rosdep install --from-paths . -i© 2025 Automatic Control Group (DIEM, University of Salerno)