How-to: Configure Centralized Controlο
This guide explains how to set up ros2_control interfaces using the centralized Control Dashboard.
1. Enable Controlο
To generate valid ROS 2 control tags, enablement is required:
Open the Control panel in the LinkForge sidebar.
Check Use ROS2 Control.
This activates the dashboard and sets the default hardware plugin to GazeboSimSystem.
2. The Control Dashboardο
LinkForge provides a unified dashboard for managing all actuable joints in one place.
Adding a Jointο
Click the Add (+) button next to the βJoint Interfacesβ list.
Select a joint from the dropdown menu (only unconfigured joints are shown).
Configuring Interfacesο
Select a joint in the list to reveal its settings:
Command Interfaces: What you send to the joint (Position, Velocity, Effort).
State Interfaces: What you read from the joint (Position, Velocity, Effort).
Tip
Standard ROS 2 controllers (like diff_drive_controller) typically require Velocity command interfaces for wheels.
3. Global Hardware Settingsο
In the Hardware System section, you can configure:
Name: The name of the
ros2_controlsystem (default:GazeboSimSystem).Plugin: The C++ hardware plugin to load (default:
gz_ros2_control/GazeboSimSystem).Gazebo Integration: Parameters for the Gazebo Classic/Sim plugin definition in URDF.
4. Exporting (Modular XACRO)ο
When exporting your robot, it is highly recommended to use the Split Files option if you are exporting to XACRO.
By checking Split Files in the export panel, LinkForge will automatically extract all <ros2_control> tags and related hardware <gazebo> plugins into a dedicated [robot_name]_ros2_control.xacro file.
This adheres strictly to modern ROS 2 industry standards, keeping your control logic completely modular and separate from your geometric links.