❗The content presented here is sourced directly from Udemy platform. For comprehensive course details, including enrollment information, simply click on the 'Go to class' link on our website.
Updated in [October 18th, 2023]
What does this course tell?
(Please note that the following overview content is from the original platform)
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 functionalityUsage of the concept in a simple Practical exampleApplication of the functionality in a real RobotI 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 CourseSetup the Environment: Install Ubuntu and ROSNoetic Introduction to ROS: What is ROS and why is so important in Robotics. Create the first ROS node ROS Publisher/SubscriberDigital Twin: Use a simulator to develop and test the functionalities of the robot without the need of any hardware device URDFGazeboROS Parameter ServerRVizROSLaunch FilesControl: How to create a Control System for Robot actuatorsROS TimerROS Servicesros_controlKinematics: Use the package MoveIt! for the Trajectory PlanningTFMoveIt!Application: Interface and make available all the functionalities of the robot to other software to create more complex applications and functionalities ROS ActionsAlexa: Use the Alexa Voice Assistant to actuate the robot with the voiceBuild the Robot: Build the real robot and migrate all the functionalities from a simulated robot to a real onerosserial_arduinoConclusion and Summary of the courseTo 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!
We considered the value of this course from many aspects, and finally summarized it for you from two aspects: skills and knowledge, and the people who benefit from it:
(Please note that our content is optimized through artificial intelligence tools and carefully reviewed by our editorial staff.)
What skills and knowledge will you acquire during this course?
During this course, the learner will acquire the following skills and knowledge:
1. Understanding of the Robot Operating System (ROS) and its importance in robotics.
2. Installation and setup of Ubuntu and ROS Noetic environment.
3. Creation of ROS nodes and understanding of the publisher/subscriber model.
4. Usage of simulators like Gazebo to develop and test robot functionalities without hardware.
5. Creation and utilization of URDF (Unified Robot Description Format) for robot modeling.
6. Utilization of ROS Parameter Server for storing and retrieving parameters.
7. Visualization of robot models and data using RViz.
8. Creation and management of launch files for launching multiple nodes simultaneously.
9. Creation of control systems for robot actuators using ROS Timer and Services.
10. Implementation of kinematics and trajectory planning using the MoveIt! package.
11. Integration of robot functionalities with other software using ROS Actions.
12. Integration of the Alexa Voice Assistant for voice-controlled robot actions.
13. Building a real robot and migrating functionalities from a simulated robot to the real one.
14. Usage of the rosserial_arduino package for communication with Arduino-based hardware.
15. Summary and conclusion of the course.
The course provides code lessons in both C++ and Python, allowing learners to choose their preferred programming language. It is recommended to follow both languages to enhance the learner's profile as a Robotics Software Developer.
Who will benefit from this course?
This course on Robotics and ROS will benefit individuals interested in robotics and those pursuing a career as a Robotics Software Developer. It is suitable for both beginners and experienced individuals who want to learn ROS by building a real robot.
Specific professions that will benefit from this course include:
1. Robotics Software Developers: This course provides a comprehensive understanding of ROS and its functionalities, allowing developers to enhance their skills and apply them in real-world projects. It covers topics such as ROS nodes, publishers/subscribers, simulators, control systems, trajectory planning, and interfacing with other software.
2. Robotics Engineers: The course offers practical examples and hands-on experience in using ROS for developing and testing robot functionalities. It covers important concepts like URDF, Gazebo simulation, ROS parameter server, RViz visualization, and ROS launch files, which are essential for robotics engineers.
3. Computer Science Students: Students studying computer science with an interest in robotics can benefit from this course by gaining practical knowledge of ROS and its applications. It provides a solid foundation in ROS concepts and programming, allowing students to apply their skills in building and controlling robots.
4. Hobbyists and DIY Enthusiasts: Individuals interested in building their own robots as a hobby or for personal projects can benefit from this course. It provides step-by-step guidance on setting up the environment, building a real robot, and migrating functionalities from a simulated robot. The course also introduces the use of voice assistants like Alexa to control the robot.
Overall, this course caters to anyone interested in learning ROS and applying it in the field of robotics, whether for personal projects, academic pursuits, or professional development.
Course Syllabus
Introduction to the Course
Setup the Environment
Introduction to ROS
Digital Twin
Control
Kinematics
Applications
Alexa Integration
Buid the Robot
Conclusions