The Rose to Control library is amazing, as you will see in your career as a robotic software developer.
Almost every robot you will work with will use this library in some way as it solves a fundamental problem
in robotics and does so in a modular and flexible manner.
This library also allows us to activate our simple manipulator robot with only three degrees of freedom,
but it is also used to actuate and coordinate the movement of the wheels of mobile robots and to obtain
feedback to calculate their odometry and so to localize the robots.
And in general it can be used for any other type of robot, regardless of its complexity or the number
of joints that it has and the type of sensors and also independently of the control logic.
This is possible thanks to the configurability and flexibility offered by this library, which can be
configured in many different ways to meet the requirement and the needs of each robot, no matter how
different and unique it is.
In the previous section of the course, we learned how to interact with the parameters of a Ros two
node and how to assign a value to each parameter through the command line interface.
So through the Ubuntu terminal and through the launch files.
However, when I notice so many configurable parameters, we need an easier and more user friendly way
to set all those parameters and also to have an overview of of which values we are setting for each
parameter.
This is where Yaml configuration file comes in.
In Rust two, they allow us to define all the configuration parameters of a node or an application in
a comprehensible, simple and quick format and set all those parameters in one go.
So with a single command so that they are available to a node at runtime.
With the Yaml format variables, object of a class vectors and so on can be represented in a human readable
way.
This allows the values of each parameters to be easily modified and also provides a quick and complete
overview of the configuration parameter that each node is using.
These configuration files for a node starts with the name of the node itself.
That in this case is the controller manager.
Then the Ross parameter tag is used to indicate that we intend to configure this node.
So to set the Ros two parameters of this node.
And then there are the actual parameters of the node, which consists of a name as declared by the node,
and then the value that we want to assign to configure this parameter.