Robotics and ROS - Learn by Doing! Manipulators
- Description
- Curriculum
- FAQ
- Reviews
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 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
-
ROS Parameter Server
-
RViz
-
ROS Launch Files
-
-
Control: How to create a Control System for Robot actuators
-
ROS Timer
-
ROS Services
-
ros_control
-
-
Kinematics: Use the package MoveIt! for the Trajectory Planning
-
TF
-
MoveIt!
-
-
Application: Interface and make available all the functionalities of the robot to other software to create more complex applications and functionalities
-
ROS 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
-
rosserial_arduino
-
-
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!
-
13What is ROSVideo lesson
-
14Hardware AbstractionVideo lesson
-
15Low-Level Device ControlVideo lesson
-
16Messaging between ProcessVideo lesson
-
17Package ManagementVideo lesson
-
18Architecture of a ROS ApplicationVideo lesson
-
19<LAB>Create the first ROS Project</LAB>Video lesson
-
20<PY>Create a Publisher Node</PY>Video lesson
-
21<C++>Create a Publisher Node</C++>Video lesson
-
22<PY>Create a Subscriber Node</PY>Video lesson
-
23<C++>Create a Subscriber Node</C++>Video lesson
-
24What is a Digital TwinVideo lesson
-
25RVizVideo lesson
-
26URDFVideo lesson
-
27<LAB>Create the Digital Twin</LAB>Video lesson
-
28<LAB>Complete the Digital Twin</LAB>Video lesson
-
29ROS Parameter ServerVideo lesson
-
30<LAB>ROS Parameter Server</LAB>Video lesson
-
31<LAB>View the Robot in RViz</LAB>Video lesson
-
32GazeboVideo lesson
-
33<LAB>URDF for the Simulation</LAB>Video lesson
-
34ROS Launch FileVideo lesson
-
35<LAB>Launch the Visualization</LAB>Video lesson
-
36<LAB>Launch the Simulation</LAB>Video lesson
-
37ROS ControlVideo lesson
-
38YAML Configuration FileVideo lesson
-
39<LAB>Load the Configuration file Parameter Server</LAB>Video lesson
-
40ROS TimerVideo lesson
-
41<PY>Create a ROS Timer</PY>Video lesson
-
42<C++>Create a ROS Timer</C++>Video lesson
-
43ROS ServicesVideo lesson
-
44<PY>Create a Service Server</PY>Video lesson
-
45<C++>Create a Service Server</C++>Video lesson
-
46<PY>Create a Service Client</PY>Video lesson
-
47<C++>Create a Service Client</C++>Video lesson
-
48Angles Converter ServiceVideo lesson
-
49<PY>Angles Converter Service Server</PY>Video lesson
-
50<C++>Angles Converter Service Server</C++>Video lesson
-
51<LAB>Create the Controller</LAB>Video lesson
-
52<LAB>Complete the Controller</LAB>Video lesson
-
53<LAB>Configure the Controller</LAB>Video lesson
-
54<LAB>Launch the Controller</LAB>Video lesson
-
55Robot KinematicsVideo lesson
-
562D Frames - TranslationVideo lesson
-
572D Frames - RotationVideo lesson
-
582D Frames - RotoTranslationVideo lesson
-
593D Frames - TranslationVideo lesson
-
603D Frames - RotationVideo lesson
-
613D Frames - RotoTranslationVideo lesson
-
62Forward KinematicsVideo lesson
-
63<LAB>The TF Package</LAB>Video lesson
-
64Inverse KinematicsVideo lesson
-
65MoveIt!Video lesson
-
66<LAB>MoveIt! Setup</LAB>Video lesson
-
67<LAB>Configure MoveIt!</LAB>Video lesson
-
68Robot ApplicationsVideo lesson
-
69ROS ActionsVideo lesson
-
70Actionlib InterfaceVideo lesson
-
71<PY>Create an Action Server</PY>Video lesson
-
72<C++>Create an Action Server</C++>Video lesson
-
73<PY>Create an Action Client</PY>Video lesson
-
74<C++>Create an Action Client</C++>Video lesson
-
75<PY>Application Action Server</PY>Video lesson
-
76<C++>Application Action Server</C++>Video lesson
-
83Mechanics and ElectronicsVideo lesson
-
84Arduino and ROSVideo lesson
-
85<HWLAB>Create a Publisher Node with Arduino</HWLAB>Video lesson
-
86<HWLAB>Create a Subscriber Node with Arduino</HWLAB>Video lesson
-
87<HWLAB>Servomotors with Arduino</HWLAB>Video lesson
-
88<HWLAB>Robot Control with Arduino</HWLAB>Video lesson
-
89<HWLAB>Launch the Complete Robot</HWLAB>Video lesson
External Links May Contain Affiliate Links read more