ROS for Beginners II: Localization, Navigation and SLAM (Udemy.com)
A practical approach to learn the foundation of mobile robots SLAM and Navigation with ROS
Created by: Anis Koubaa
Last updated April 2023
What you will learn
- Theoretical foundations of 2D and 3D localization
- Transformation between frames in 2D and 3D Spaces
- The powerful feature of the tf package to represent frames and perform transformation and localization
- Theoretical foundation of localization and mapping (SLAM)
- Background on navigation concepts (global path planning, local path planning, collision avoidance)
- Difference between Map-Based Navigation and Reactive Navigation
- The navigation stack of ROS (move_base, amcl, gmapping)
Course Description
UPDATE
OCT 9, 2020: I added the installation instruction of Turtlebot3 on ROS Noetic
Overview
Localization, mapping, and navigation are fundamental topics in the Robot Operating System (ROS) and mobile robots. However, it is very complex to learn. Usually, beginners find it difficult to even know where to start. The typical tutorials in ROS give high-level information about how to run ROS nodes to performs mapping and navigation, but they do not give any details about the technical aspects. Some other courses focus more on the technical aspects, which is mathematically complex but does not give a clear link to how these concepts are tied with the ROS navigation stack.
This course addresses this gap and follows a practical approach to introduce new learners to mobile robot navigation foundations and how it is implemented in ROS. The course is designed to introduce you to the world of mobile robot navigation in a quick and effective manner.
In this course, I presented detailed coverage of the most important package in ROS for navigation: the tf package! Without understanding this package, it will be difficult to deeply understand how navigation works in ROS. Although there are tf tutorials, the tf package heavily relies on important theoretical concepts not presented in ROS tutorials. This course provides a systematic introduction to the necessary theoretical background and complement with demonstration and programming activities of the tf package utilities and API.
This course assumes that you have some background on the main concepts of Robot Operating System (ROS), such as ROS nodes, ROS topics, ROS services, and an understanding of the basic notion of motion with ROS. If you do not have these skills, I would recommend first enroll in my course ROS for Beginners: Basics, Motion, and OpenCV to get the necessary background.
My experience with ROS
I have been programming with ROS for many years both in academic and industrial projects. I am very passionate to develop programs with ROS. I have also been teaching ROS at the University and providing training programs. I am the R&D Director of Gaitech Robotics, and 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 five volumes of books with Springer entitled Robot Operating System, The Complete Reference. I gained a lot of experience in what difficulties new users encounter to learn ROS and this contributed to pin right to the point addressing these problems through the different lectures of the course.
Instructor Details
- 4.4 Rating
1,608 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: Basics, Motion, and OpenCV (2023)
4.6 (5,328 Reviews)
Provider: Udemy
Time: 13.8h
$13.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 Mohammad Haadi Akhter on 2/20/2023
The course is fantastic, but the instructor deosn't answer to queries and that is a major drawback, I was and maybe still having many problems in frames and transformations part and I asked several questions, but none of my queries were answered. So, if you are willing to google concepts and problems on your own, this is the course for you
By Anonymized User on 9/11/2022
Por un lado, las explicaciones del profesor Koubaa me parecen muy buenos, se nota que el instructor es conocedor del tema. Pero los vídeos no me parecen muy buenos. Lo primero es que los últimos parecen ser una grabación de una clase en Zoom, yo pienso que los vídeos son mejores si están estructurados y planificados, por lo que me parece un fallo en su curso. Pienso que hay muchas cosas que mejorar. Pero el objetivo de rellenar los huecos entre ROS y la navegación está cumplido, por lo que esta calificación me parece adecuada.
By Susanta Sharma on 8/25/2022
The course is fully well structured. The instructor provides full clarification of how things are working, starting from algorithms to code to implementation in simulation. Just if we could see a real robot building could be 100 % fulfilling. Still, this is an outstanding course.
By Marco Sento on 8/22/2022
The course overall is good but not like the previous one. The concepts are explained clearly, the initial theory is very comprehensive, but with the examples we stay much more on the surface of the arguments. After the first course I expected to dig more in depth with the examples, maybe with some glimpse of some practical implementations of all what has been shown before, after the previous teaching the hype was set too high for the sequel.
By Erki Suurjaak on 7/5/2022
Content was on point, but a few problems: - setup advice not generalized to other people's environments, hard-coded paths to instructor's home directory - lots of spelling errors - uses Python2 which is heavily outdated and unsupported - stale links like https://drive.google.com/open?id=1kx6gNaoGllKjE--0rbW7RSWCN76aVKSN (pre-installed Kinetic VM) - audio volume changes in different lectures, and audio quality is poor in some
By Billy Nugraha Sutandi on 6/17/2020
i have to learnt from another online course for teach ROS, another is to practical but this is tells me about the concept! wow, this is worth it! this course is enough but it is very nice to combining to another ROS online course that have more practical lesson. Hope the next lectures will update as soon as possible.
By Mary Smith on 5/18/2020
Loved the math and theory parts. Very well organized although the quiz questions didn't help with learning at all. Once the practical ROS parts started, the information was extremely good and useful but poorly organized. Strictly using existing examples is useful, but it would be better to see this built "from scratch". I can change turtlebot3, but building a new and unique robot would be very challenging with just this information.
By Abdulghani Altaweel on 2/9/2020
The Course part2 is very helpful to understand the navigation with ROS even if you do not know the theoretical basic. Everything is treated here. I just hope Mr. Koubbba to publish all slides because they include a lot of important theoretical information, which must be noted. It is not like part1, where the information include more practical things, which could be written down quickly. thanks a lot.
By Senthil Kumar M on 1/21/2020
The course is structured in awesome manner. I have completed this course and I have learnt a lot. The pace of the instructor is good and easy to follow and there is a enough balance between theory and hands on exercise, quiz. I enjoyed the course a lot and it laid a strong foundation on stated topics. Thanks Anis for all efforts. I would recommend others to take this course
By Cp on 12/9/2019
The course is very good on understanding the basics on localization. However, I would like to see more lectures on SLAM, Visual SLAM (preferably monocular) and Path planning algorithms. Also, I would like to learn how to evaluate the performance of such algorithms based on ground truth values. In general, this is challenging topic to teach and for this reason I would like to give special thanks to the creators.
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 88 / 100









