Overview
This project implements a full autonomous navigation pipeline using SLAM (Simultaneous Localization and Mapping) in ROS 2. The robot can explore unknown environments, build accurate maps, and navigate to goal positions while avoiding static and dynamic obstacles.
Key Features
- SLAM Mapping: Real-time map generation using LiDAR data with loop closure detection
- Autonomous Navigation: Goal-based navigation with dynamic path planning
- Obstacle Avoidance: Real-time obstacle detection and avoidance using sensor fusion
- ROS 2 Integration: Built on the Nav2 stack with custom configuration and tuning
- Sensor Fusion: Combines LiDAR, IMU, and odometry for robust localization
System Components
- SLAM Node: Generates occupancy grid maps from LiDAR scans
- Localization: AMCL-based particle filter localization within known maps
- Path Planning: Global (Dijkstra/A*) and local (DWB) planners
- Recovery Behaviors: Automated recovery from stuck situations
Technologies Used
- ROS 2 (Humble/Iron)
- Nav2 Navigation Stack
- SLAM Toolbox
- LiDAR sensors
- Gazebo simulation
- Python / C++
Results
The system demonstrated reliable navigation in both simulated and real-world indoor environments, achieving consistent goal completion rates with smooth trajectory execution.
Contributors
- Imad-Eddine NACIRI