Would you like to learn ROS, the 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 throught the learning of all the functionalities of ROS both from the theoretical and practical point of view.
Each section is composed od 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
Digital Twin: Use a simulator to develop and test the functionalities of the robot without the needs of any hardware device
ROS Parameter Server
ROS Launch Files
Control: How to create a Control System for Robot actuators
Kinematics: Use the package MoveIt! for the Trajectory Planning
Application: Interface and make available all the functionalities of the robot to other softwares to create more complex applications and functionalities
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
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 wich language to use during the course.
Anyway, I would suggest you to follow both in order to complete your Robotics Software Developer profile!