LiDAR-based Autonomous Robot for Indoor Navigation and Logistics Automation
Major Academic Project (2025β2026)
B.Tech Computer Science & Engineering (Artificial Intelligence)
Dr. APJ Abdul Kalam University, India
Many indoor environments such as offices, hospitals, and warehouses still rely on manual transportation of files, supplies, and materials. This consumes valuable time and diverts staff from their core responsibilities.
NAMI addresses this challenge by introducing an autonomous navigation system that can map unknown indoor environments, localize itself, plan optimal routes, and avoid obstaclesβall without requiring external infrastructure such as magnetic tracks or fiducial markers.
The system demonstrates that robust autonomous navigation can be achieved using classical SLAM algorithms on affordable hardware, making logistics automation accessible for educational institutions and small-scale deployments.
- β Infrastructure-free navigation β No magnetic tracks, QR codes, or pre-installed markers
- β Autonomous environment mapping β Builds maps while exploring unknown spaces
- β Real-time obstacle avoidance β Safely navigates around static and dynamic obstacles
- β Reliable operation β Maintains consistent performance in dynamic environments
NAMI autonomously mapping and navigating through an office corridor environment
- πΊοΈ SLAM-based Mapping β Simultaneous Localization and Mapping for real-time map generation
- π‘ 360Β° LiDAR Scanning β Complete environmental perception with YDLIDAR X2
- π§ Intelligent Path Planning β A* algorithm for optimal route calculation
- π§ Dynamic Obstacle Avoidance β Real-time detection and route adjustment
- π€ Autonomous Navigation β Point-to-point navigation without human intervention
- π» Embedded Processing β Runs on Raspberry Pi 4 without GPU acceleration
- π Extended Operation β 5+ hours continuous runtime on battery
| Component | Model/Type | Specifications |
|---|---|---|
| Processor | Raspberry Pi 4B | Quad-core ARM Cortex-A72 @ 1.5GHz, 4GB RAM |
| LiDAR Sensor | YDLIDAR X2 | 360Β° coverage, 8-12m range, 0.45Β° resolution, 6-7Hz scan rate |
| IMU | MPU-6050 | 6-axis (accelerometer + gyroscope), 100Hz, DMP fusion |
| Wheel Encoders | Optical coupling | 100 pulses/revolution, 5mm resolution |
| Motors | DC Brushed Gearmotor | 125 RPM @ 12V, dual-shaft configuration (4 motors) |
| Motor Driver | L298N H-Bridge | Dual channel, 2A per channel |
| Battery | 3S LiPo | 11.1V, 5200mAh, 57.72Wh capacity |
| Chassis | Differential Drive | 35cm Γ 30cm Γ 20cm, 5cm ground clearance |
βββββββββββββββββββββββββββββββββββββββββββββββ
β ROS Humble (Ubuntu 20.04) β
βββββββββββββββββββββββββββββββββββββββββββββββ€
β Navigation & Planning β
β ββ SLAM Toolbox (mapping & localization) β
β ββ A* Global Planner (path planning) β
β ββ DWA Local Planner (obstacle avoidance) β
βββββββββββββββββββββββββββββββββββββββββββββββ€
β Sensor Processing β
β ββ ydlidar_ros_driver (LiDAR) β
β ββ encoder_odom.py (wheel odometry) β
β ββ mpu6050_driver (IMU fusion) β
βββββββββββββββββββββββββββββββββββββββββββββββ€
β Motor Control & Actuation β
β ββ motor_bridge.py (L298N control) β
βββββββββββββββββββββββββββββββββββββββββββββββ
The YDLIDAR X2 sensor continuously scans 360Β° around the robot, generating approximately 800 distance measurements per rotation at 6-7Hz frequency.
- Graph-based SLAM fuses LiDAR scans with wheel odometry and IMU data
- Builds a 2D occupancy grid map (5cm resolution)
- Maintains robot pose estimate within the map
- Loop closure detection corrects accumulated drift
- Global planner uses A algorithm* to compute optimal paths through the occupancy grid
- Considers obstacles, clearance, and distance to goal
- Updates routes when new obstacles are detected
- Dynamic Window Approach (DWA) evaluates velocity commands over short time horizons
- Real-time reaction to moving obstacles (pedestrians, furniture)
- Maintains safety margins around obstacles
- Translates velocity commands to differential wheel speeds
- PWM control via L298N motor drivers
- Continuous feedback from encoders for accurate motion
Left: Office corridor T-shaped environment
Right: Multi-room layout with furniture
Maps generated using SLAM Toolbox. Black = obstacles, White = free space, Gray = unexplored
NAMI can be deployed in environments requiring indoor transport automation:
- Transporting lab samples between departments
- Medicine delivery to nursing stations
- Document and file distribution
- Internal mail and document distribution
- Supply delivery to workstations
- Cafeteria service automation
- Inventory movement between zones
- Order picking assistance
- Material transport to packing stations
- Room service delivery
- Luggage transportation
- Linen and supply distribution
Hardware Requirements:
- Raspberry Pi 4B (2GB RAM minimum)
- 16GB+ microSD card
- All components from hardware table above
Software Requirements:
- Ubuntu 20.04 LTS (Raspberry Pi)
- ROS Humble
- Python 3.8+
- Encoder Odometry (MUST START FIRST)
python3 encoder_odom.py
# Wait for "Encoder odom ready"- LiDAR Driver
ros2 launch ydlidar_ros2_driver ydlidar_launch.py- SLAM System
ros2 launch slam_toolbox online_async_launch.py \
params_file:=$HOME/mapper_params_online_async.yaml- Motor Control
python3 motor_bridge.py- Explore Stack
python3 explore.pyβ
Real-time 2D SLAM on Raspberry Pi 4
β
Multi-sensor fusion (LiDAR + IMU + Encoders)
β
Autonomous navigation in structured environments
β
Dynamic obstacle avoidance
- 3D Obstacle Detection β Add depth camera (Intel RealSense)
- Semantic Mapping β Object recognition and classification
- Multi-Robot Coordination β Fleet management system
- Predictive Obstacle Avoidance β ML-based trajectory prediction
- Voice Commands β Natural language navigation interface
- Elevator Navigation β Multi-floor operation capability
- Battery Management β Auto-return to charging station
Contributions are welcome! This project is maintained as an educational resource.
How to contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/improvement) - Commit changes (
git commit -m 'Add improvement') - Push to branch (
git push origin feature/improvement) - Open a Pull Request
Areas for contribution:
- Improved calibration algorithms
- Additional sensor drivers (ultrasonic integration)
- Enhanced navigation behaviors
- Documentation improvements
- Bug fixes and optimization
This project is licensed under the Creative Commons AttributionβNonCommercial 4.0 International License (CC BY-NC 4.0).
You are free to:
- β Share and adapt the material
- β Use for research or educational purposes
Under these conditions:
- π Proper attribution must be given to the original authors
- π« Material may not be used for commercial purposes
Full license text: https://creativecommons.org/licenses/by-nc/4.0/
Vivek Prakash
Department of Computer Science & Engineering (Artificial Intelligence)
Dr APJ Abdul Kalam University, India
Major Academic Project (2025β2026)
Issues & Questions: GitHub Issues
Email: vivekprakashindia@gmail.com
- ROS community for excellent middleware and tools
- SLAM Toolbox developers for robust graph-based SLAM
- Open-source robotics community for inspiration and resources
- YD-lidar for their documention and maintainance
π’ Active Development β Currently maintained and accepting contributions
Last Updated: May 2026
Version: 1.0.0
ROS Distribution: Humble
Target Platform: Raspberry Pi 4B
β If you find this project useful, please consider giving it a star! β
Built with β€οΈ for autonomous robotics research and education




