ROS for Beginners: Basics, Motion, and OpenCV (Udemy.com)
Become an expert and learn robotics with Robot Operating System (ROS) in little time and don't be lost in broad docs
Created by: Anis Koubaa
Last updated April 2023
What you will learn
- Understand ROS Ecosystem (topics, nodes, messages, services, actionlib)
- Develop simple applications to control robot motion
- Understand how a position and orientation are represented in ROS
- Recognize how to develop a C++/Python ROS project
- Develop simple computer vision programs with ROS and OpenCV
Course Description
News and Updates.
This is the best-seller course in ROS on Udemy.
My course has been upgraded to the latest version of ROS, ROS Noetic, with several new videos explaining the fundamental concepts of ROS with hands-on illustrations. It will also give you the required skills to later learn ROS2 and navigation stack, as presented in my two other courses.
Why am I teaching this course?
Typically, new ROS users encounter many difficulties when they start programming with ROS. Although there are so many tutorials, there are a lot of tips and practical issues that could not be easily found in tutorials and are not discussed and are left to the developer's luck. Although there is much documentation for ROS, several are very broad, and it takes too long to grasp the concepts well. This is where this course plays a role and provides an added value by providing a focused introduction to the BASICS of ROS. The course not only presents the basic concepts of ROS but also addresses two essential fields in robotics: (1) motion and (2) perception. We will apply the general concepts of ROS in the context of robotic motion and perception. The course will provide you with an opportunity to learn about OpenCV, the most powerful computer vision library that promotes robotic perception.
My approach is to take you STEP BY STEP through the roadmap of learning ROS so that you learn the concepts in the proper order and help you build an experience from one lecture to the other.
This is a course that provides the fundamental concepts and basics of the Robot Operating System (ROS). This course intends to give beginner ROS users a quick and focused introduction to ROS basics and practical tips that help them better manage their first projects with ROS in C++ and Python. In particular, developing with C++ in ROS requires special care compared to Python to configure the compilation and runtime environment well. This is presented clearly in this course.
There are mainly three majors steps in the course:
ROS Basics and Foundation: This deals with the general ROS concepts everyone has to know, like ROS topics, Services, Messages, and Nodes, ...
Motion in ROS: We apply the concepts learned in Step 1 to make a robot move. We will develop a different trajectory in the context of an excellent example simulating a cleaning robot. In particular, we illustrate how to represent the pose (position and orientation) of a robot in ROS and how to send a motion control message to make the robot move. We clearly demonstrate how to implement linear, rotational, and spiral motions and how all of these can be integrated to simulate a cleaning application. This part will give you the background you need to understand robot kinematics and how motion is represented in ROS.
Perception in ROS: I will introduce how a robot sees the environment using a camera, how the images are collected in ROS, and how they are processed in OpenCV.
Arduino: you will also learn how to use Arduino boards and sensors with ROS using the ROSSERIAL Arduino interface. This will allow you to integrate any Arduino sensor and board into your robot and robotics applications.
Based on my experience, these are the most important things any new ROS user must know to go further with their own robotics project.
I also provide some hands-on activities that allow the learner to assess his understanding and push him to practice the concepts he learned.
My experience with ROS
I have been programming with ROS for many years both in academic and industrial projects. I am very passionate about developing a program with ROS. I have also been teaching ROS at the University and providing training programs. I am the leader of the Robotics and Internet-of-Things Lab at Prince Sultan University and also a consultant for Gaitech Robotics. I have developed many ROS packages for robots and drones. I have been leading international scientific activities around ROS, and in particular, I am the editor of three volumes of books with Springer entitled Robot Operating System, The Complete Reference. I gained a lot of experience in what difficulties new users encounter in learning ROS, which contributed to pinning right to the point addressing these problems through the different lectures of the course.
Welcome to the World of ROS.
Instructor Details
- 4.6 Rating
5,328 Reviews
Anis Koubaa
I am Anis Koubaa, a Full Professor in Computer Science at Prince Sultan University and the Director of the Robotics and Internet-of-Things research lab. I am also R&D Director at Gaitech Robotics in China and Senior Researcher in CISTER/INESC TEC and ISEP-IPP, Porto, Portugal. I have been the Chair of the ACM Chapter in Saudi Arabia since 2014. I am also a Senior Fellow of the Higher Education Academy (HEA) in UK.
I received several distinctions and awards including the Rector Research Award in 2010 at Al-Imam Mohamed bin Saud University, and the Rector Teaching Award in 2016 at Prince Sultan University.
I have been teaching Programming courses for more than 16 years in particular Java and Web technologies, and different computer science courses. Programming is my passion for me and I have developed many software and applications. I have been also teaching robotics and developing several program with ROS in both academia and industry.
I am the Editor of three books on Robot Operating System (ROS) with Springer publisher, which are in the top 25% of most downloaded book in Springer database.
I have a lot of tutorials and course on the Internet provided on my YouTube Channel. I am very excited to provide my courses on Udemy to students around the world with practical hands-on activities.
More courses by Anis Koubaa
ROS for Beginners II: Localization, Navigation and SLAM (2023)
4.4 (1,608 Reviews)
Provider: Udemy
Time: 4.3h
$14.99
ROS2 (Foxy-Humble) For Beginners I: Basics, Motion & Lasers (2023)
4.5 (417 Reviews)
Provider: Udemy
Time: 8.6h
$59.99
Object-Oriented Software Engineering with Java (2023)
4.7 (210 Reviews)
Provider: Udemy
Time: 6.5h
$84.99
More Engineering courses
Do it Yourself - Automotive Electrical Diagnosis - Beginner (2026)
4.8 (1,897 Reviews)
Provider: Udemy
Time: 2.1h
$12.99
ROS 2 for Beginners Level 2 - TF | URDF | RViz | Gazebo (2025)
4.8 (1,869 Reviews)
Provider: Udemy
Time: 13.8h
$10.99
Advanced Kalman Filtering and Sensor Fusion (2021)
4.8 (1,033 Reviews)
Provider: Udemy
Time: 8.3h
$84.99
Digital Electronics: Robotics, learn by building module II (2020)
4.8 (942 Reviews)
Provider: Udemy
Time: 13.1h
$14.99
Reviews
By Venkata Pavan Kumar Upputuri on 12/13/2022
I don't have any ROS knowledge before taking this course. It was good, I learned some basics of ROS, but the issue is, this videos are very old, not enough assignments, proff is not giving feedback and not replying for latest questions. Other than that, it is good course for ROS beginners.
By Jesus Ivan Medina Gil Lamadrid on 9/15/2021
This course is excellent and very complete. It is very well explained and in the important parts there is a task from which you can get the answer once delivered to give feedback to what you have learned. The topics you see are very varied and very focused on robotics or the internet of things, which was just what I was looking for.
By Bhushan Hurali on 1/19/2021
I started learning ROS from this course. Before this, I had never worked on ROS. It was a very good learning from the course. Although I was comfortable using python, through this course, I got to learn a good amount of C++. I feel that, adding some more practical use cases like controlling a robot manipulator using ROS would be a nice touch and gives a better understanding about tele-operating robot by connecting its controller to workstation using ROS.
By Sarab Almuhaideb on 1/12/2021
With the overwhelming amount of information available, some outdated, some inaccurate, learning ROS for a beginner can be a serious challenge. This course is very well-structured and comprehensive kick-start to ROS. Thank you so much Professor Anis, I am lucky to know about this course and I look forward to more related courses.
By Craig Faas on 6/10/2020
This is THE course to bootstrap you into ROS. The teaching is well paced and very practical. The LASER scanner material was good. It would be nice if you could cover the old Kinect 360 as that is very easy for people without much money to get their hands on an decent distance scanner. I highly recommend this course and I enjoyed it very much.
By Oskar Osobniak on 4/16/2020
Good course, well explained basics, nice overview for related technologies. I will move the "ROS Tools and Utilities" before the "Motion in ROS" section. Also will be nice to see an extra lesson related to the arrays handling in the messages but of course we can find the examples in the Internet.
By Inker Robotics ㅤ on 3/18/2020
yeah. It was fine. Their are lot of drawbacks. One I found was the instruction were not in order. Like instead of giving a step by step order, you start from the bottom, then go to beginning, then go to the mid part which was pretty confusing every time a new topic is started. The commands where not explained line by line from scratch instead it was copy pasted (including new topics) which makes it hard for a new learner to understand the script and the coupon code doesnt work.
By Antonio Lemos on 10/9/2019
Estou gostando muito ! Ainda tenho muito o que aprender mas sinto que estou evoluindo. Parabéns pelo curso. Tive algumas dificuldades iniciais em compilar o codigo devido a ter outras pastas instaladas de outras aulas, recomendo compactar as pastas de aulas anteriores e apaga-las para seguir as configurações da aula atual, após ter feito isto, não tive mais dificuldades. Estou divulgando o ROS e este curso no Face. https://www.facebook.com/groups/597999217273676/
By Ankit Soni on 9/23/2019
This course is helping me to learn a new thing about ROS. I know something about ROS but some confusion in it. I want to resolve all of my confusion. Finally, This course gave me this much information so I can start some projects. I want to thanks Anis Koubaa Sir to present this course with clear content and your hard work.
By Atul Ahirrao on 3/23/2019
This course covers most of the stuff required for understanding the ROS environment. The assignments are exhaustive and help a lot in revising the concepts. Highly recommend this course for beginners. PS: I would suggest not to go with "Melodic" release of ROS as you'll face numerous problems with installing OpenCV.
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 92 / 100









