The software developers for robotics application.
Unlike their cousins, the software developers in web or mobile are not the typical developers that
write and test their code using only APC.
Indeed, in order to develop and test a robotic application, very often you need to test and to execute
your code in a real robot and then evaluate how the robot behave when the new algorithm is being used.
So in order to test and debug the code for a robotic application, very often it is not enough to insert
some log messages in the code, but often some more visual information is needed about how the robot
behaves when actuated with a new algorithm, for example.
All of this debugging process is required to be executed on a real robot.
And there is a significant cost, both from the point of view of the time invested in performing the
test and also from the purely economic point of view, since you need to access to a real robot with
a real hardware to test your code.
In my opinion, this has been one of the reasons why the number of the software developers and hobbyists
in the field of robotics is much smaller than the one in other fields such as mobile or web, because
these fields do not require huge amounts of resources to get started.
And you can do it simply using a PC.
Of course, before investing money and time building or buying a real robot, you probably want to learn
and to experiment and see how it works.
To help the robotic software developers to speed up the debugging of their code, it is possible in
Russia to model a robot.
Namely, to define the structure of the robot.
So its component and how they are connected and interact with each other.
This model is the starting point for the visualization of the robot itself in order to better study
its components and where to position its sensors.
Also by creating a model of a robot, one can also decide to simulate it in a physics engine.
This provides a copy of the robot inside your PC, which you can use not only to simulate the movements
of the robot, but also to simulate the physical interactions between the robot and the surrounding
environment.
For example, it is possible to simulate physical forces such as the gravity that affects the robot
or the friction with the floor, or also the collisions.
It is even possible to simulate almost all the sensors such as laser scanners, sonar cameras and so
on.
This way with such a tool.
Debugging a robotic application is dramatically simplified for students approaching the study of robotics.
It is no longer required to use and purchase a real robot with real hardware in order to get started.
In the same way, for the professional in this field, this is a very powerful tool to detect in advance
any possible error or bug in their code that could damage a real robot or also the surroundings.
In the following lessons we will see, which are these tools that are available in Ros2 that we can
use to model our robot to visualize it, and also to simulate in our PC.
Then we will create a model for our robotic manipulator and we will use it to simulate this robot in
our PC.