WEBVTT

00:00.510 --> 00:05.460
Taking into consideration the needs that have arisen in the robotic software community.

00:05.640 --> 00:13.020
The architecture of Ros has been ripped off and redesigned to provide developers with a better and more

00:13.020 --> 00:14.880
robust user experience.

00:15.700 --> 00:23.110
At the core of Rosciszewo lies the DDS middleware used for message exchange between different nodes

00:23.110 --> 00:26.650
and between the various applications running on the robot.

00:27.300 --> 00:32.190
This forms the backbone of two and consequently of our robot.

00:32.220 --> 00:38.790
As the message exchange is fundamental to any application involving the exchange of information between

00:38.790 --> 00:47.010
different nodes, DBS is an industrial grade communication protocol that provides node discovery, message,

00:47.010 --> 00:50.100
serialization and message transport capabilities.

00:50.250 --> 00:57.300
It has been used for the communication in various domains, from finance to space and also to railway

00:57.330 --> 00:58.410
transportation.

00:58.710 --> 01:06.810
Due to its stability and robustness, it is considered a reliable protocol that has adapted to applications

01:06.810 --> 01:10.290
requiring secure and reliable communications.

01:11.170 --> 01:15.390
A given that Deeds is an established and stable protocol.

01:15.400 --> 01:21.550
There are already several companies and organizations offering their deeds implementations.

01:21.850 --> 01:29.290
In the case of Ros2, since there is no one size fits all solution suitable for every robot and scenario,

01:29.320 --> 01:37.210
the decision was made to support multiple implementations, including commonly used ones such as Cyclone

01:37.230 --> 01:41.260
DVS, Fast DDS and Connext DDS.

01:42.050 --> 01:48.200
Once the communication protocol and the middleware are chosen, the Ros two interface that used these

01:48.200 --> 01:48.740
middleware.

01:48.740 --> 01:52.760
So one of the available implementation was then developed.

01:53.210 --> 01:58.400
This component is called Ros Middleware, also known as W.

01:59.300 --> 02:06.950
With the communication protocol set the logic so the brain and the core functionality of ros2 was developed

02:06.950 --> 02:13.550
in a layer called Ros2 Client library or RCL for short.

02:13.940 --> 02:20.990
This layer fully developed in C and C plus plus contains all the functionality of Ros2, which are then

02:21.020 --> 02:25.460
offered to the robotic software developer to implement their applications.

02:26.150 --> 02:32.840
Furthermore, to provide complete freedom to the developers to use their favorite programming language

02:32.840 --> 02:34.940
for developing new applications.

02:34.940 --> 02:43.160
Many interfaces and API were implemented to enable the usage of the Ros Client Library with different

02:43.160 --> 02:44.450
programming languages.

02:44.900 --> 02:49.880
The most commonly used include C plus plus Python and Java.

02:51.230 --> 02:57.440
These interfaces and libraries are the ones that we are going to use in this course to develop applications

02:57.440 --> 02:58.550
for our robot.

02:59.000 --> 03:08.120
Specifically, we will use Rql CPP to develop Cplusplus applications that use the Ross Client Library

03:08.120 --> 03:10.370
so that use the rql.

03:10.670 --> 03:17.150
And also we are going to use the RCL pi to use the client library in Python scripts.
