Robotics and ROS 2 - Learn by Doing! Manipulators

Create a ROS2 Manipulator Robot with Python and C++. Master Robot Control and MoveIt and use Alexa to move your robot

Robotics and ROS 2 - Learn by Doing! Manipulators
Robotics and ROS 2 - Learn by Doing! Manipulators

Robotics and ROS 2 - Learn by Doing! Manipulators udemy course

Create a ROS2 Manipulator Robot with Python and C++. Master Robot Control and MoveIt and use Alexa to move your robot

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 a 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 on your PC)


In each Section of the course, I'll introduce you to a new concept, and then we will use it to add new functionalities to the robot:

  1. Introduction to the Course

  2. Set up the Environment: Install Ubuntu and ROS Noetic

  3. Introduction to ROS: What is ROS and why is it 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 need of any hardware device

    1. URDF

    2. Gazebo

    3. Parameters

    4. RViz2

    5. Launch Files

  5. Control: How to create a Control System for Robot Actuators

    1. Timer

    2. Services

    3. ros2_control

  6. Kinematics: Use the package MoveIt! for the Trajectory Planning

    1. TF2

    2. MoveIt! 2

  7. Application: Interface and make available all the functionalities of the robot to other software to create more complex applications and functionalities

    1. 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. Arduino IDE

    2. Serial Communication

  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 which language to use during the course.

Anyway, I would suggest that you follow both in order to complete your Robotics Software Developer profile!