WEBVTT

00:00.570 --> 00:04.050
The software developers for robotics application.

00:04.050 --> 00:11.490
Unlike their cousins, the software developers in web or mobile are not the typical developers that

00:11.490 --> 00:14.790
write and test their code using only APC.

00:15.660 --> 00:22.350
Indeed, in order to develop and test a robotic application, very often you need to test and to execute

00:22.350 --> 00:30.090
your code in a real robot and then evaluate how the robot behave when the new algorithm is being used.

00:30.630 --> 00:37.710
So in order to test and debug the code for a robotic application, very often it is not enough to insert

00:37.710 --> 00:44.340
some log messages in the code, but often some more visual information is needed about how the robot

00:44.340 --> 00:48.750
behaves when actuated with a new algorithm, for example.

00:49.710 --> 00:54.890
All of this debugging process is required to be executed on a real robot.

00:54.900 --> 01:01.440
And there is a significant cost, both from the point of view of the time invested in performing the

01:01.440 --> 01:08.250
test and also from the purely economic point of view, since you need to access to a real robot with

01:08.250 --> 01:10.650
a real hardware to test your code.

01:11.430 --> 01:17.940
In my opinion, this has been one of the reasons why the number of the software developers and hobbyists

01:17.970 --> 01:25.680
in the field of robotics is much smaller than the one in other fields such as mobile or web, because

01:25.680 --> 01:30.060
these fields do not require huge amounts of resources to get started.

01:30.060 --> 01:32.430
And you can do it simply using a PC.

01:33.590 --> 01:41.330
Of course, before investing money and time building or buying a real robot, you probably want to learn

01:41.330 --> 01:44.180
and to experiment and see how it works.

01:44.900 --> 01:51.650
To help the robotic software developers to speed up the debugging of their code, it is possible in

01:51.650 --> 01:53.930
Russia to model a robot.

01:53.960 --> 01:57.380
Namely, to define the structure of the robot.

01:57.380 --> 02:02.510
So its component and how they are connected and interact with each other.

02:03.330 --> 02:09.960
This model is the starting point for the visualization of the robot itself in order to better study

02:09.960 --> 02:13.710
its components and where to position its sensors.

02:14.470 --> 02:21.400
Also by creating a model of a robot, one can also decide to simulate it in a physics engine.

02:21.910 --> 02:29.080
This provides a copy of the robot inside your PC, which you can use not only to simulate the movements

02:29.080 --> 02:35.890
of the robot, but also to simulate the physical interactions between the robot and the surrounding

02:35.890 --> 02:36.790
environment.

02:36.970 --> 02:43.480
For example, it is possible to simulate physical forces such as the gravity that affects the robot

02:43.510 --> 02:46.900
or the friction with the floor, or also the collisions.

02:47.230 --> 02:55.420
It is even possible to simulate almost all the sensors such as laser scanners, sonar cameras and so

02:55.420 --> 02:55.840
on.

02:56.570 --> 02:58.730
This way with such a tool.

02:58.760 --> 03:05.870
Debugging a robotic application is dramatically simplified for students approaching the study of robotics.

03:05.900 --> 03:13.790
It is no longer required to use and purchase a real robot with real hardware in order to get started.

03:14.090 --> 03:20.420
In the same way, for the professional in this field, this is a very powerful tool to detect in advance

03:20.420 --> 03:26.930
any possible error or bug in their code that could damage a real robot or also the surroundings.

03:27.750 --> 03:33.720
In the following lessons we will see, which are these tools that are available in Ros2 that we can

03:33.720 --> 03:38.640
use to model our robot to visualize it, and also to simulate in our PC.

03:39.650 --> 03:45.770
Then we will create a model for our robotic manipulator and we will use it to simulate this robot in

03:45.770 --> 03:46.400
our PC.
