DESCRIPTION
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 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:
1. Introduction to the Course
2. Setup the Environment: Install Ubuntu and ROS Noetic
3. Introduction to ROS: What is ROS and why is so important in Robotics.
Create the first ROS node
1. ROS Publisher/Subscriber
4. Digital Twin: Use a simulator to develop and test the functionalities of the robot without the needs of any hardware device
1. URDF
2. Gazebo
3. ROS Parameter Server
4. RViz
5. ROS Launch Files
5. Control: How to create a Control System for Robot actuators
1. ROS Timer
2. ROS Services
3. ros_control
6. Kinematics: Use the package MoveIt! for the Trajectory Planning
1. TF
2. MoveIt!
7. Application: Interface and make available all the functionalities of the robot to other softwares to create more complex applications and functionalities
1. ROS Actions
8. Alexa: Use the Alexa Voice Assistant to actuate the robot with the voice
9. Build the Robot: Build the real robot and migrate all the functionalities from a simulated robot to a real one
1. rosserial_arduino
10. 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!
WHAT YOU WILL LEARN
● Create a real robot
● Mastering ROS, the Robot Operating System
● Robotics Theory
● Use Alexa to actuate the Robot
● Programming Arduino for Robotics Applications
● Create a Digital Twin
● Simulate the robot in Gazebo
● Robot Kinematics
● Trajectory Planning with MoveIt!
WHO IS THIS COURSE FOR
● Makers and Hobbists keen on robotics
● Software developers taht wants to learn ROS and Robotics
● Students or Engineers that wants to learn how to buid a robot from scratch
● Developers that already knows ROS and that want to use it in a real world application