Writing a basic joint controller in ROS
The basic prerequisites for writing an ROS controller are already installed. We have discussed the underlying concepts of controllers. Now we can start creating a package for our own controller.
We are going to develop a controller that can access a joint of the robot and move the robot in a sinusoidal fashion. In particular, the first joint of the seven_dof_arm
will follow a sinusoidal motion.
The procedure of building a controller is similar to other plugins development that we have seen earlier. The list of procedures to create an ROS controller is given as follows:
- Create an ROS package with the necessary dependencies.
- Write controller code in C++.
- Register or export the C++ class as a plugin.
- Define the plugin definition in an XML file.
- Edit the
CMakeLists.txt
andpackage.xml
files for exporting the plugin. - Write the configuration for our controller.
- Load the controller using the controller manager.
Step 1 - Creating the controller package
The first step...