ROB106 · Navigation, Mapping and ROS Basics
About Course
Learn how mobile robots find their way: localization, occupancy-grid mapping and SLAM, global and local path planning with costmaps, and the ROS 2 building blocks (nodes, topics, services, actions, tf2 and Nav2) used to put it all together in Gazebo simulation.
Who it is for
Learners who can program robot motion and perception and want to build autonomous navigation with industry-standard open-source tools.
Prerequisites
ROB104 (kinematics and frames); ROB105 is recommended; comfortable with Python and basic Linux terminal commands.
What you will be able to do
- Explain localization, mapping, planning and control and how SLAM combines the first two.
- Create, run and inspect ROS 2 Python nodes that publish and subscribe to topics.
- Build a map of a simulated environment with SLAM Toolbox and save it.
- Configure Nav2 to localize on a saved map and navigate to goals while avoiding obstacles.
Lessons
- Lesson 1 · Localization, mapping and SLAM
- Lesson 2 · Path planning, costmaps and recovery
- Lesson 3 · ROS 2 essentials and the Nav2 stack
- Lesson 4 · Lab and assignment
Lab: Map and navigate a simulated warehouse with ROS 2
You set up a free ROS 2 environment, write a Python node that drives turtlesim and then switch to a TurtleBot3 in a Gazebo world. You build a map with SLAM Toolbox, save it, localize on it with AMCL and send navigation goals through Nav2 while observing costmaps and planned paths in RViz.
Free tools: ROS 2 (current LTS release, such as Jazzy Jalisco) on Ubuntu 24.04 through WSL2, a virtual machine or a free cloud dev environment; Gazebo; TurtleBot3 simulation packages; SLAM Toolbox; Nav2; RViz (all free and open source)
Assessed assignment
Submit your ROS 2 package source, the saved map files (.pgm and .yaml), screenshots or a short video of mapping and navigation, and the output of <code>ros2 node list</code> and <code>ros2 topic list</code> during navigation. Draw a diagram of the main nodes and topics in your navigation system. Explain how AMCL, the global planner and the local controller work together, and describe what happened when you added an obstacle. Suggest two parameter changes that would make the robot safer in a small warehouse with people walking nearby.
| Criterion | Weight | What excellent work looks like |
|---|---|---|
| ROS 2 node | 25% | The Python node is correctly structured, publishes and subscribes properly and draws the square reliably. |
| Mapping | 25% | The map covers the environment with clean walls and is saved and reloaded correctly. |
| Navigation | 30% | Localization and goal navigation work, obstacle replanning is shown and the node-topic diagram is accurate. |
| Explanation and safety tuning | 20% | The roles of AMCL, planner and controller are explained correctly and safety parameter suggestions are realistic. |
Portfolio piece
A working ROS 2 navigation setup with your own map, node diagram and Python package, a core skill for mobile-robotics portfolios.
Next step
Continue with ROB107 · Industrial Automation and Collaborative Robots · 8 hours · $56.00
Course Content
ROB106 · Navigation, Mapping and ROS Basics (8 h)
-
Lesson 1 · Localization, mapping and SLAM
-
Lesson 2 · Path planning, costmaps and recovery
-
Lesson 3 · ROS 2 essentials and the Nav2 stack
-
Lesson 4 · Lab and assignment
-
ROB106 Assessment · Navigation, Mapping and ROS Basics
