Skip to main content
โ† Back to Projects
๐ŸŽ“ Learning Project

Mapless Navigation with ROS2 + LiDAR Odometry

Making a robot move autonomously in simulation โ€” no pre-built map, just sensors and local planning.

The Goal

Simple goal: make a robot navigate autonomously without any pre-built map. I wanted to understand how local planners work, how LiDAR sensors feed into navigation, and how to set up a complete ROS2 navigation pipeline inside NVIDIA Isaac Sim.

Sensors I Used

Ouster 3D LiDAR (OS0/OS1)

Tested with FAST-LIO and LIO-SAM to understand 3D LiDAR-IMU odometry and SLAM. Used to explore how motion estimation works with point cloud data.

NVIDIA Isaac Rotary 2D LiDAR

Used for real-time obstacle detection and mapless navigation with Nav2. Feeds directly into Nav2's local costmap for obstacle avoidance.

What I Built

  • โ†’Mapless navigation setup using ROS2 Nav2 โ€” robot moves to goals using only LiDAR-based obstacle avoidance
  • โ†’FAST-LIO and LIO-SAM tested separately to understand how they estimate motion
  • โ†’Integrated sensor data pipeline: Isaac Sim โ†’ ROS2 โ†’ Nav2
  • โ†’Configured TF frames, ROS2-Isaac Sim bridge, and full navigation pipeline
  • โ†’Tested Nav2 local planners: RPP, DWB, and TEB

What I Learned

This project gave me a clear hands-on understanding of how robots navigate in practice:

  • โ†’How local planners work in Nav2 (RPP, DWB, TEB) and when to use each
  • โ†’Why mapless navigation relies entirely on the local planner โ€” no global map, no global planner
  • โ†’The difference between 3D LiDAR odometry (FAST-LIO) and SLAM (LIO-SAM)
  • โ†’How LiDAR scans form costmaps and why costmap tuning matters
  • โ†’Setting up TF frames, sensor bridges, and navigation pipelines from scratch in ROS2

Tools and Tech

ROS2Nav2Isaac SimFAST-LIOLIO-SAMOuster 3D LiDARNVIDIA Rotary LiDARTF2RViz2Python