-
Notifications
You must be signed in to change notification settings - Fork 312
The ros_control Wiki
Welcome to the ros_control Project! This wiki is intended to provide a detailed walkthrough of selected features of the ros_control project, and is thus intended to be a supplement to the ROS wiki. Feel free to explore the sections below to get started.
The documentation of the ros_control package can be found on the official page of the ROS wiki. The aim of this wiki is to present a more detailed discussion of selected implementation cases.
The ros_control package is now pretty stable, but frequently receives smaller improvements.
Link to Tutorial: Writing a new Controller
In this example, a new controller for the PR2 Robot is being developed to track a commanded position, utilizing the EffortJointInterface. This approach ensures that the controller is compatible with all robots providing the EffortJointInterface, not just the PR2 Robot. The code includes necessary libraries and defines the PositionController class, which derives from controller_interface::Controller<hardware_interface::EffortJointInterface>. The init function retrieves the joint name, while the update function calculates the error and sets the command. The controller's starting and stopping functions are also defined.
Link to Tutorial: Setting up a new Robot
This tutorial guides users through the process of setting up a new robot to function with the controller manager. By ensuring that the robot supports one or more standard interfaces, users can will be able to take advantage of a large library of controllers that work on the standard interfaces.
Link to Tutorial: Setting up a transmissions interface
This tutorial walks users through two examples: The first shows how to propagate the position of a single actuator to joint space, while the second scenario deals with the situation of three actuators.
Link to Tutorial: Setting up a joint limits interface
In this tutorial, it is shown, how a joint limit interface can be implemented.
Link to Tutorial: Writing combined hardware interface
The tutorial demonstrates the ComboRobotHW package, which enables the combination of multiple RobotHWs into a single "RobotHW". This allows any controller to view all provided joints from all RobotHWs as joints of a single RobotHW.
Link to Tutorial: Ideas for ros_control 2.0