-
Notifications
You must be signed in to change notification settings - Fork 308
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