I will try to give you a simple example to help you understand the power of Ros2 and its enormous advantages.
At the end of this course, you will have a manipulator robot that you can use to develop and test your
new algorithms for object grasping and trajectory planning.
Let's assume that you decide to add a camera to the robot and want to use it to develop a computer vision
algorithm that detects and gestures and moves the robot accordingly.
Let's also assume that to implement this functionality you decide not to use ros2.
And so to directly interface your script with the robot's motors and the camera.
You are proud and satisfied with your work to the point that you show it to your friend and colleagues,
and you even receive a job offer from a robotics company in your new job.
They ask you to implement the same functionality, but on a larger and more advanced robot that uses
also a different camera and different motors.
You try to reuse the same module that you developed, but you quickly realize that you need to extensively
modify it to interface with the new robot.
You realize that it might be better to rewrite the entire code rather than trying to modify what you
already wrote.
Even though the main functionality remains the same as you already implemented.
Later on, your company decides to launch a new robot on the market with different motors and a different
camera.
Once again, you will try to reuse the module you previously developed, but you realize that you need
to extensively modify it to interface with the new motors and the new camera they added to the robot.
Once again, you decide that it is better to rewrite the code for the new robot.
And now let's see what would have happened if you had used Roscoe in a robotics project.
At the end of this course, you still decide to overwrite your software modules and you interface it
with Ros to.
In this way, It's Ross true responsibility to manage the drivers and the communication with the robot's
hardware.
In your new company where you are asked to implement the same functionality, Rustu is also being used.
So once again, Rustu is handling the hardware interface, so you can use the same module that you developed
for your prototype also in your job.
Even though the robot is completely different.
Furthermore, when your company decides to launch a new robot on the market roast, you will still be
in charge of interfacing the new robot's hardware and your module can be reused without the need for
modifications.
I hope this example has been enough to motivate you to learn and use Ros2 in your robotics projects.
In the upcoming lessons, we will discuss the features of Ros2 and why it is defined as an operating
system.