Writing a basic joint controller in ROS
The basic prerequisites for writing a ROS controller are already installed. We have discussed the underlying concepts of controllers. Now, we can start creating a package for our 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 for building a controller is similar to other plugin development that we have seen earlier. The procedure to create a ROS controller is as follows:
- Create a 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.
Let&apos...