Taking into consideration the needs that have arisen in the robotic software community.
The architecture of Ros has been ripped off and redesigned to provide developers with a better and more
robust user experience.
At the core of Rosciszewo lies the DDS middleware used for message exchange between different nodes
and between the various applications running on the robot.
This forms the backbone of two and consequently of our robot.
As the message exchange is fundamental to any application involving the exchange of information between
different nodes, DBS is an industrial grade communication protocol that provides node discovery, message,
serialization and message transport capabilities.
It has been used for the communication in various domains, from finance to space and also to railway
transportation.
Due to its stability and robustness, it is considered a reliable protocol that has adapted to applications
requiring secure and reliable communications.
A given that Deeds is an established and stable protocol.
There are already several companies and organizations offering their deeds implementations.
In the case of Ros2, since there is no one size fits all solution suitable for every robot and scenario,
the decision was made to support multiple implementations, including commonly used ones such as Cyclone
DVS, Fast DDS and Connext DDS.
Once the communication protocol and the middleware are chosen, the Ros two interface that used these
middleware.
So one of the available implementation was then developed.
This component is called Ros Middleware, also known as W.
With the communication protocol set the logic so the brain and the core functionality of ros2 was developed
in a layer called Ros2 Client library or RCL for short.
This layer fully developed in C and C plus plus contains all the functionality of Ros2, which are then
offered to the robotic software developer to implement their applications.
Furthermore, to provide complete freedom to the developers to use their favorite programming language
for developing new applications.
Many interfaces and API were implemented to enable the usage of the Ros Client Library with different
programming languages.
The most commonly used include C plus plus Python and Java.
These interfaces and libraries are the ones that we are going to use in this course to develop applications
for our robot.
Specifically, we will use Rql CPP to develop Cplusplus applications that use the Ross Client Library
so that use the rql.
And also we are going to use the RCL pi to use the client library in Python scripts.