Analysis updated 2026-05-18
Study a worked example of building a SLAM map for a simulated robot in Isaac Sim.
Learn how to debug lidar and odometry timing mismatches that distort a robot's map.
See how Nav2's pure pursuit controller was tuned to stop overshooting a navigation goal.
| notmax08/isaac-sim-maze-slam-nav2 | 0xallam/my-recipe | 0xhassaan/nn-from-scratch | |
|---|---|---|---|
| Stars | 0 | — | 0 |
| Language | Python | Python | Python |
| Last pushed | — | 2022-11-22 | — |
| Maintenance | — | Dormant | — |
| Setup difficulty | hard | moderate | moderate |
| Complexity | 5/5 | 2/5 | 4/5 |
| Audience | researcher | general | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires Isaac Sim, ROS 2 Jazzy on Ubuntu 24.04, and an RTX capable machine to run the simulation.
This project is a demonstration of a robot learning to map and navigate a maze entirely inside a simulator, rather than on physical hardware. It uses NVIDIA's Isaac Sim simulator to model a Nova Carter robot, a real wheeled robot design, and runs it through the ROS 2 robotics software framework to build a map of a custom maze and then drive through it on its own. The project has two main stages. First, the robot is manually driven around the maze while a mapping tool called slam_toolbox builds a map from its simulated lidar sensor and movement data. Second, once a map exists, the Nav2 navigation stack takes over, using that map to figure out where the robot is and plan a path to a goal, while avoiding obstacles along the way using a safety buffer around detected walls. A large part of the README is devoted to specific problems the author ran into while getting this working and how they were fixed, which is useful for anyone trying similar simulated robotics work. These include manually wiring together the chain of coordinate transforms that let different parts of the robot agree on position, a mismatch in how map data was being shared that stopped it from showing up in the visualization tool, and a mismatch between how often the lidar sensor and the odometry system reported data, which caused the built map to look warped with doubled walls until the lidar's update rate was raised. The author also describes tuning the navigation controller after the robot consistently overshot its final approach to a goal, tracing the cause to overly strict positioning tolerances interacting with the robot's turning behavior. The README lists a handful of ROS 2 command line tools that were useful for diagnosing these issues, such as checking how fast a given data topic updates or inspecting its underlying delivery settings. The project is a personal engineering writeup rather than a general purpose library meant for reuse.
A simulated robot project that maps and navigates a maze using Isaac Sim, ROS 2, and the Nav2 navigation stack.
Mainly Python. The stack also includes Python, Isaac Sim, ROS 2.
Setup difficulty is rated hard, with roughly 1day+ to a first successful run.
Mainly researcher.
This repo across BitVibe Labs
Verify against the repo before relying on details.