Would you like to learn ROS 2 , the second and last version of Robot Operating System by building a real robot?
The philosophy of this course is the Learn by Doing and quoting the American writer and teacher Dale Carnegie
Learning is an Active Process. We learn by doing, only knowledge that is used sticks in your mind.
In order for you to master the concepts covered in this course and use them in your projects or, why not, also in your future job, I will guide you through the learning of all the functionalities of ROS both from the theoretical and practical point of view.
Each section is composed of three parts:
Theoretical explanation of the concept and functionality
Usage of the concept in a simple Practical example
Application of the functionality in a real Robot
I almost forgot! We need one more, essential and exciting part of this course for your active learning!
Experiment, Develop and Test your ideas in the Robot (real or simulated in your PC)
In each Section of the course, I'll introduce you a new concept and then we will use it to add new functionalities to the robot:
Introduction to the Course
Setup the Environment: Install Ubuntu and ROS Noetic
Introduction to ROS: What is ROS and why is so important in Robotics.
Create the first ROS node
ROS Publisher/Subscriber
Digital Twin: Use a simulator to develop and test the functionalities of the robot without the need of any hardware device
URDF
Gazebo
Parameters
RViz2
Launch Files
Control: How to create a Control System for Robot actuators
Timer
Services
ros2_control
Kinematics: Use the package MoveIt! for the Trajectory Planning
TF2
MoveIt! 2
Application: Interface and make available all the functionalities of the robot to other software to create more complex applications and functionalities
Actions
Alexa: Use the Alexa Voice Assistant to actuate the robot with the voice
Build the Robot: Build the real robot and migrate all the functionalities from a simulated robot to a real one
Arduino IDE
Serial Communication
Conclusion and Summary of the course
To facilitate your learning and help you join the robotic world, the code lessons are available both in C++ and in Python and you can decide which language to use during the course.
Anyway, I would suggest you to follow both in order to complete your Robotics Software Developer profile!