Hi robotic enthusiast.
At this point in the course, I want to congratulate you.
We have already covered several complex topics and mastered numerous complex concepts in the robotics
industry.
We have also created a software infrastructure that allows us to develop and test new applications for
our robot with ease.
Let's quickly recap the software components we have implemented so far in the course to understand how
to use them to integrate all the exciting new functionalities we have in mind for our robotic arm.
We started by creating a robot simulator using a software that simulates the physical laws and interaction,
replicating the behavior of the real robot on our PC.
Then, using the Ros2 Control library, we developed a control system that receives trajectories and
activates the robot's joint.
Accordingly, by sending position command to the robot's motor to follow those trajectories.
Thanks to the modularity of Ros two and the Ros two Control library, we can use the same control system
developed for the simulated robot also in the real case.
By simply changing the communication interface with the robot's hardware.
Once we were able to activate the robot's joint and move it in the space, we realized how difficult
it is to perform even the simplest pick and place operation with such a control system.
We found it challenging to predict the movements of the robot gripper in the three dimensional space.
When we change the position of one of the robot's joints due to the increasing complexity of the inverse
kinematics problem.
For this reason, we used another incredible open source software available in Ros2 called Moovit to.
Finally, with this tool, we can think directly in Cartesian terms, which is more convenient and familiar
to us, and we can then move and control the position of the robot gripper directly.
The calculation of the angles and the position of each joint and motor that brings the robot's gripper
to the desired position is transparently handled by the moving kinematic solvers.
In addition to all the other features offered by Moovit, this software also provides various interfaces
for interacting with the robot, developing complex applications and integrating with other software.
The first interface that it offers is the graphical interface.
By using Aavs, which offers the users a quick and intuitive way to move the robot plan and execute
trajectories, avoid obstacles and much more.
The second, perhaps more interesting and exciting interface is the one that Moovit provides to other
softwares to other applications through its APIs.
API stands for application programming interface, and it refers to the software interface that move.
It offers to other software, allowing them to exploit moved functionalities at their convenience.
Just as the GUI is a graphical interface provided by Moovit for humans to use its features.
The APIs are an interface that allows other software to use its features.
The implication of this, as you can imagine, are endless.
It is only limited by your imagination and creativity to think of an application that can move the robot
using all the functionalities offered by Moovit.
For example, we can train a neural network to recognize objects to be grasped, or an artificial intelligence
to replace humans in handling the robot, or even create a web application to remotely access the robot.
The possibilities are limitless.
In this course, we will use this API to develop a voice interface with the robot using the Amazon Alexa
Assistant.
It will interpret our voice commands and will translate them into actions for the robot.