Writing a basic real-time joint controller in ROS
The basic prerequisites for writing a ROS controller are already installed and 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.
The procedure of building a controller is similar to other plugin development that we have seen earlier. The list of procedures to create a ROS controller is given as follows:
Create a ROS package with necessary dependencies
Write controller code in C++
Register or export the C++ class as plugin
Define the plugin definition in an XML file
Update the
package.xml
for exporting the pluginWrite
CMakeLists.txt
Compile the code
Writing configuration for our controller
Start the PR2 simulation in Gazebo
Load the controller using the controller manager
Step 1 – Creating controller package
The first step is to create the controller package with all its...