We may earn an affiliate commission when you visit our partners.
Course image
Muhammad Luqman

Course Updated to

Course Workflow:

Main robot we will be using is Turtle Bot 3 by Robotis . Package from official GitHub repository is going to obtained and then we will start to analyze how robot is launched into simulations like Rviz and Gazebo . After Going through multiple launch files we will create a custom launch file to bring the robot in to simulations . SLAM Toolbox will be executed for our custom created world containing MAZE . Then we will create a Autonomous Waiter in which we are going to utilize NAV2 stack as a main process with  GUI interface.

Outcomes After this Course :

Read more

Course Updated to

Course Workflow:

Main robot we will be using is Turtle Bot 3 by Robotis . Package from official GitHub repository is going to obtained and then we will start to analyze how robot is launched into simulations like Rviz and Gazebo . After Going through multiple launch files we will create a custom launch file to bring the robot in to simulations . SLAM Toolbox will be executed for our custom created world containing MAZE . Then we will create a Autonomous Waiter in which we are going to utilize NAV2 stack as a main process with  GUI interface.

Outcomes After this Course :

You can create

  • Custom Workspace

  • Custom Python Packages

  • Launch files Reduction

  • RVIZ and Gazebo Simulation Fundamentals

  • Simulation Video Recording with Node Communication

  • Performing SLAM using Cartographer and SLAM Toolbox

  • NAV2 stack Integration

    • Path Planners

    • Cost Maps

Projects :

  • Turtlebot3 World Navigation using NAV2

  • Maze Solving using Commander API and NAV2

  • Autonomous Waiter with GUI

Process of Explanation

  1. Theory for Concepts building

  2. Writing Code for the nodes and concepts discussed

  3. Analyzing the output and noting the resources utilized

Software Requirements

  • Ubuntu 22.04

  • ROS2 Humble LTS

  • Motivated mind for a huge programming Project

    Before buying take a look into this course GitHub repository  or message

    ( if you do not want to buy get the code at least and learn from it :) )

Enroll now

What's inside

Learning objectives

  • 🦾 nav2 stack launching for turtlebot3
  • 🤖perform slam using cartographer node in custom created environment
  • ⛩️ path planning with cost maps and localization
  • 🗺️ understanding turtlebot3 package in detailed examples

Syllabus

Section 1 : Package Setup for Navigation
Course Resources and Structure
Welcome
Start Developing in ROS2
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Employs ROS2 Humble LTS, which is a current and widely adopted framework in robotics development, ensuring relevance and applicability to modern projects
Focuses on TurtleBot3, a popular and accessible robot platform, making it ideal for hands-on learning and experimentation in robotics and autonomous navigation
Covers SLAM using Cartographer and SLAM Toolbox, which are essential tools for robot localization and mapping in unknown environments, enhancing practical skills
Integrates NAV2 stack, a core component for autonomous navigation, providing learners with the ability to develop sophisticated robot control systems and path planning algorithms
Requires Ubuntu 22.04, which may necessitate setting up a dedicated environment, potentially posing a barrier for learners unfamiliar with Linux-based systems
Includes older ROS 1 content, which may be less relevant for learners focused on current robotics practices and could cause confusion if not clearly distinguished

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Practical ros2 navigation with nav2 & slam

According to learners, this course provides a solid practical foundation in ROS2, focusing on autonomous navigation using the NAV2 stack and TurtleBot3 simulation. The hands-on projects, such as the autonomous waiter and maze solving, are frequently highlighted as highly valuable and the best part, offering real-world experience. While the course is seen as up-to-date with ROS2 Humble and the core content on NAV2 and SLAM is well-covered, some students note that the initial setup process can be challenging and the course assumes prior Linux/ROS knowledge. Overall, it's recommended for those with some technical background seeking practical ROS2 navigation skills.
Assumes some prior ROS/Linux knowledge.
"Some parts assumed a bit more prior ROS knowledge than I had, especially the initial workspace setup."
"Definitely not for absolute beginners, prior ROS or Linux helps a lot."
"Requires a solid understanding of Ubuntu and command line."
"struggled to keep up without a strong background in ROS."
"Highly recommend for those with some ROS background."
Explanations are generally clear.
"content delivery is clear."
"Explanations are generally clear..."
"The instructor explains the concepts clearly."
Course uses the latest ROS2 LTS release.
"Uses ROS2 Humble which is great for current development."
"The course is current with ROS2 Humble."
"Using Humble makes this course valuable for current projects."
Covers key autonomous navigation concepts.
"This course was excellent for getting hands-on experience with ROS2 navigation and SLAM."
"Good course covering essential ROS2 navigation stacks. Explanations are generally clear..."
"The NAV2 stack is explained well, and the projects are practical."
"The content on Cartographer and SLAM Toolbox was informative. NAV2 integration was explained step-by-step."
Hands-on projects are highly valuable.
"This course was excellent for getting hands-on experience... The projects were well-structured and really solidified my understanding..."
"Really great course... The projects are practical. ...Highly recommend, especially for the project-based learning."
"The autonomous waiter project tying together mapping, navigation, and a GUI was a highlight."
"The practical focus on NAV2 and implementing SLAM in simulation with TurtleBot3 is exactly what I needed. The projects are well-designed..."
"The projects were the best part – especially the autonomous waiter."
Initial ROS2/Ubuntu setup can be difficult.
"Setup requires patience, but the content delivery is clear."
"The course covers important topics, but I struggled with the setup process. There were dependency issues..."
"My main gripe is the setup phase - it took me a while to get everything running smoothly on my system."
"Found this course quite difficult. The setup instructions were not detailed enough, and I spent most of my time troubleshooting errors."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in ROS2 Autonomous Driving and SLAM using NAV2 with TurtleBot3 with these activities:
Review ROS2 Fundamentals
Solidify your understanding of ROS2 concepts before diving into autonomous navigation. This will make grasping the NAV2 stack and its integration with TurtleBot3 much easier.
Show steps
  • Review ROS2 documentation and tutorials.
  • Practice creating simple ROS2 nodes and topics.
  • Familiarize yourself with ROS2 command-line tools.
Review 'A Concise Introduction to Robot Programming with ROS2'
Gain a solid foundation in ROS2 programming principles. This book will help you understand the core concepts and techniques used in the course.
Show steps
  • Read the book cover to cover.
  • Work through the examples and exercises.
  • Take notes on key concepts and techniques.
Practice Gazebo Simulation
Improve your proficiency with Gazebo simulations. This will allow you to test and debug your autonomous driving algorithms in a safe and controlled environment.
Show steps
  • Create a simple Gazebo world with a TurtleBot3 robot.
  • Write a ROS2 node to control the robot's movement.
  • Experiment with different sensor configurations.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Implement Basic SLAM with TurtleBot3
Gain hands-on experience with SLAM by implementing a basic SLAM algorithm using the TurtleBot3 in a simulated environment. This will deepen your understanding of the concepts covered in the course.
Show steps
  • Set up a ROS2 workspace with the necessary packages.
  • Implement a SLAM algorithm using sensor data from the TurtleBot3.
  • Visualize the map generated by the SLAM algorithm.
  • Tune the SLAM parameters to improve performance.
Document Your Autonomous Waiter Project
Reinforce your understanding of the Autonomous Waiter project by creating detailed documentation. This will help you solidify your knowledge and share your work with others.
Show steps
  • Describe the project's architecture and functionality.
  • Explain the key algorithms and techniques used.
  • Provide instructions on how to set up and run the project.
  • Include diagrams and illustrations to clarify complex concepts.
Contribute to NAV2 Documentation
Deepen your understanding of NAV2 by contributing to its open-source documentation. This will expose you to the inner workings of the NAV2 stack and allow you to collaborate with other developers.
Show steps
  • Identify areas in the NAV2 documentation that need improvement.
  • Submit pull requests with your proposed changes.
  • Respond to feedback from other contributors.
Review 'Programming Robots with ROS2: A Practical Introduction'
Expand your knowledge of ROS2 programming techniques. This book will provide you with a deeper understanding of the ROS2 ecosystem and how to use it effectively.
Show steps
  • Read the book cover to cover.
  • Work through the examples and exercises.
  • Experiment with different ROS2 features.

Career center

Learners who complete ROS2 Autonomous Driving and SLAM using NAV2 with TurtleBot3 will develop knowledge and skills that may be useful to these careers:
Robotics Software Developer
A robotics software developer writes code that controls robots, and this course leads directly into that role, with its coverage of ROS2 fundamentals, Python package creation, and working with robots in simulated environments. The practical projects, such as TurtleBot3 navigation and the autonomous waiter application, provide experience in building complete robotics systems. The focus on node communication and launch file reduction is also essential for developing efficient and maintainable robotics software. Understanding the design and function of occupancy grids will also be beneficial for developing the logic that manages the navigation of robots.
Robotics Engineer
A robotics engineer designs, develops, tests, and maintains robots. This course helps build a foundation for robotics engineering, particularly in autonomous navigation and Simultaneous Localization and Mapping. The hands-on projects involving TurtleBot3 navigation, maze solving, and the autonomous waiter application directly translate to real-world robotics applications. This course's focus on NAV2 stack integration, including path planners and cost maps, perfectly aligns with the skills needed to program robots for complex tasks. The understanding of ROS2 and practical experience in creating custom workspaces and Python packages will enable robotics engineers to develop and deploy their own robotic solutions. Anyone interested in robotics should see what this course has to offer.
Autonomous Vehicle Engineer
An autonomous vehicle engineer develops software and hardware systems to enable vehicles to navigate without human input. This course directly contributes to those skills because it teaches the crucial elements of autonomous navigation: Simultaneous Localization and Mapping and path planning. Through projects like TurtleBot3 world navigation and maze solving, learners gain experience implementing these algorithms in a ROS2 environment. The course specifically addresses the NAV2 stack, which is essential for autonomous navigation systems. The use of simulations in Rviz and Gazebo is also valuable for testing and validating autonomous vehicle algorithms and systems.
AI Robotics Specialist
An artificial intelligence robotics specialist develops and implements AI algorithms for robots to enhance their autonomy and capabilities. This course contributes to this role because it focuses on the core components of autonomous navigation and Simultaneous Localization and Mapping, which are often driven by AI techniques. The experience gained from implementing NAV2 stack, path planners, and cost maps are directly applicable to AI-driven robotics. The ability to perform SLAM using Cartographer and SLAM Toolbox, combined with an ability to navigate environments such as mazes, is the basis for more sophisticated AI applications in robotics.
Mechatronics Engineer
A mechatronics engineer integrates mechanical, electrical, and computer engineering to design and develop automated systems. This course prepares one for a role as a mechatronics engineer by providing experience in robotics software development, simulation, and integration using ROS2. The hands-on projects involving TurtleBot3, integrating the NAV2 stack, and creating autonomous behaviors will be valuable. Understanding of launch files and node communication contribute to the skills needed to build fully integrated mechatronic systems.
SLAM Algorithm Developer
A simultaneous localization and mapping algorithm developer creates and improves algorithms that allow robots to map their surroundings and localize within those maps. This course may be useful because it offers hands-on experience using Cartographer and SLAM Toolbox with TurtleBot3, which are valuable tools for anyone in the field. The maze-solving project provides a practical application of these algorithms, while the course's focus on creating custom environments and integrating NAV2 stack provides a broad understanding of the system. Furthermore, the focus on understanding the parameters and effects of tuning will prepare learners to optimize SLAM algorithms for different environments.
Navigation Systems Engineer
A navigation systems engineer designs and implements navigation systems for robots and autonomous vehicles, and this course may be helpful for this career path. The integration of the NAV2 stack, a core component in navigation, is a major focus. The course teaches path planning with cost maps and localization. The creation of a custom workspace will allow navigation systems engineers to become comfortable building software that performs real-world tasks. The projects allow learners to become proficient in implementing autonomous navigation solutions.
Research Scientist
A research scientist investigates new technologies and algorithms, often in a university or corporate research lab. The course provides hands-on experience with ROS2, Simultaneous Localization and Mapping, and autonomous navigation using the NAV2 stack. These skills, combined with the projects involving TurtleBot3 and maze solving will be a good background for research. The understanding of core algorithms like Cartographer and SLAM Toolbox will greatly contribute to research in the fields of robotics and autonomous systems. Note that this role often requires a master's degree or doctorate.
Simulation Engineer
A simulation engineer develops and maintains simulation environments used for testing and validating engineering designs. This course helps build a foundation for one who wants to enter this career. The course heavily uses Rviz and Gazebo for robot simulations, providing practical experience in setting up and utilizing these tools. The course teaches how to launch robots into simulations and create custom launch files. This is very useful for anyone involved in designing and testing robots in simulated environments. Furthermore, skills like simulation video recording with node communication that may be built in this course will be useful.
Control Systems Engineer
A controls systems engineer designs and implements control systems for various applications, including robotics. This course may be useful because it explores fundamental concepts in robotics, such as path planning, localization, and mapping, which are relevant to control systems for autonomous robots. The integration of NAV2 stack and practical projects like TurtleBot3 world navigation will provide knowledge that applies to the field of control systems engineering. The experience with creating custom nodes and analyzing outputs will aid in building a foundation.
Robotics Test Engineer
A robotics test engineer designs and executes tests to ensure that robots function correctly and meet performance requirements. This course contributes to that role because it provides the opportunity to work with industry-standard simulation tools like Rviz and Gazebo, and it may familiarize learners with integrating NAV2 tools. The projects, such as TurtleBot3 navigation and the autonomous waiter, provide test cases. The process of analyzing outputs and noting the resources utilized also mirrors the work done in a testing environment. Learning the importance of YAML files will also assist with testing.
Mapping Specialist
A mapping specialist creates maps of environments for various purposes, including robotics and autonomous navigation. This course may advance this career path. The ability to create 2D maps using Cartographer and SLAM Toolbox, combined with the understanding of occupancy grids, directly contribute to building a foundation in environment mapping. The skills gained are applicable to real-world mapping challenges. The knowledge gained can provide an edge when seeking a career that requires precise and reliable environmental data.
Automation Engineer
An automation engineer designs and implements automated systems, often involving robotics. This course may give you a boost in your career. Learners will gain an understanding of robotics concepts and technologies. The ability to create custom Python packages and reduce launch files directly contributes to building efficient automated systems. The automation engineer can utilize the knowledge to build custom solutions. The experience with NAV2 stack integration may lead to a specialization in autonomous robot navigation within an automated environment.
Computer Vision Engineer
A computer vision engineer develops algorithms that allow computers to "see" and interpret images and videos. This course may be useful because it explores the use of Gazebo and other tools that rely on cameras and depth sensors. Working with such tools may familiarize learners to the process. The ability to record simulations may also assist. This kind of role usually requires an advanced degree.
Data Scientist
A data scientist analyzes large datasets to extract insights and develop predictive models. This course may be useful because of its focus on node communication and data logging. Understanding the data that passes through the TurtleBot3 and the NAV2 system can be useful for debugging and improving performance. However, a true data science role is not the main focus of this course, and further study may be necessary. This role typically requires advanced degrees.

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in ROS2 Autonomous Driving and SLAM using NAV2 with TurtleBot3.
Provides a practical introduction to ROS2, covering essential concepts and programming techniques. It's particularly helpful for understanding the underlying principles of robot programming before diving into the specifics of NAV2 and SLAM. The book offers hands-on examples and exercises that reinforce learning. It serves as a valuable reference for developing ROS2-based robotic applications.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser