The ros_control stack contains packages for writing ROS low-level controllers. The first package that we are going to discuss is the controller interface package.
Understanding ros_control packages
The controller_interface package
The basic ROS low-level controller that we want to implement must inherit a base class called controller_interface::Controller from this package. This represents a base class containing four fundamental functions: init() , start(), update(), and stop(). The basic structure of the Controller class is given as follows:
namespace controller_interface { class Controller { public: virtual bool init(hardware_interface *robotHW, ros::NodeHandle &nh); virtual...