Centralized Intelligence for Dynamic Swarm Navigation
Centralized intelligence, dynamic trajectory forecasting, and multi-AMR swarm navigation using ROS 2, Nav2, YOLOv8, and MongoDB for industrial warehouses.
The Problem Statement: Multi-Robot Navigation System for Dynamic Industrial Environments
To design a system for a centralized Intelligence based path planning & navigation in a dynamic condition like a warehouse with moving instruments, forklifts & humans
Swarm Robots in Warehouse Simulation
Background
Bharat Forge Ltd., a flagship company of the Kalyani Group, is a global leader in precision engineering and advanced manufacturing. With complex factory and warehouse environments that are constantly evolving, their need was clear:
How can autonomous robots navigate and perform tasks efficiently in dynamic indoor environments — without GPS, markers, or manual intervention?
The Inter-IIT Tech Meet 2025 problem statement challenged us to engineer a centralized intelligence system for a swarm of autonomous mobile robots (AMRs) to navigate and complete tasks in such unpredictable spaces.
Our Approach
We designed a ROS 2-based multi-agent system backed by a shared NoSQL database, capable of:
- Real-time dynamic obstacle avoidance using DWA
- Semantic obstacle labeling with computer vision
- Global map persistence and inter-robot state sharing
- Scalable task assignment and navigation
System Architecture
flowchart TD
subgraph Perception["Perception Layer"]
A[Overhead Surveillance Camera / Sensors] -->|RTSP Video Stream| B[YOLOv8 Object Detection & Tracking]
end
subgraph Central["Central Intelligence Server"]
B -->|Dynamic Obstacle Vectors| C[Central Trajectory Forecaster]
C <-->|Read / Write Global Grid| D[(Shared MongoDB NoSQL)]
end
subgraph Planning["Fleet Coordination Layer"]
C -->|Dynamic Costmap Updates| E[ROS 2 Nav2 Global Planner]
E -->|Local Waypoint Paths| F[Dynamic Window Approach DWA]
end
subgraph Execution["AMR Execution Fleet"]
F -->|WiFi / ROS2 DDS| G[AMR Unit 1: Diff-Drive]
F -->|WiFi / ROS2 DDS| H[AMR Unit 2: Quadruped]
F -->|WiFi / ROS2 DDS| I[AMR Unit N: Payload Carrier]
end
Core Components
- ROS 2 Humble: Middleware for multi-robot control, topic streaming, and communication.
- Gazebo: Simulation testbed representing a 10x10m+ industrial workspace with dynamic and static obstacles.
- MongoDB: Shared NoSQL database for map persistence, state sharing, and telemetry logging.
- YOLOv8: Real-time object detection of obstacles, tools, and moving agents.
- Reinforcement Learning (RL): Policy network for dynamic prioritization and path planning.
Multi-Bot Simulation Setup
We created a custom Gazebo environment configured with:
- 4+ autonomous mobile robots (Differential Drive and Quadruped platforms)
- 3+ dynamic obstacles (human avatars, moving carts)
- 10+ static target objects (tools, extinguishers, crates)
- Deterministic and random spawning logic for scalability verification
Each robot published its odometry, task state, and sensory feedback via ROS 2 nodes into MongoDB.
Object Detection & Environment Mapping
To operate markerless, we fine-tuned YOLOv8 on industrial warehouse objects:
- Fire extinguishers
- Toolboxes
- Human workers
- Industrial equipment
Detections were timestamped and stored in MongoDB as structured records (object_id, type, position, velocity). These updates were fed into the global costmap layer in Nav2.
Shared Database & Persistent Memory
Custom collections made in MongoDB server
We implemented a logging and synchronization pipeline using two primary MongoDB collections:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"robot_logs": {
"timestamp": "2024-11-05T15:00:00Z",
"robot_id": "bot_1",
"X": 3.1, "Y": 7.2,
"obstacles": [...],
"confidence_score": 0.94,
"scan_ranges": [...],
"tasks_done": "navigating"
},
"dynamic_map": {
"environment_id": "sector_2",
"map_data": [...],
"last_updated": "2024-11-05T14:58:10Z"
}
}
This enabled state recovery, persistent map caching, and seamless task reassignment upon robot fault or restart.
Task Ranking & Autonomous Scheduling
Robots dynamically queried tasks from the central MongoDB queue, evaluated by:
- Estimated travel time / cost to target
- Object priority ranking (e.g., safety equipment > routine inspection points)
- Agent battery level and availability
Using PPO (Proximal Policy Optimization) alongside Nav2’s Dynamic Window Approach (DWA), robots recalculated local trajectories in real-time around unmodeled moving agents.
Dynamic obstacle avoidance using RL formulation
Simulation Verification
We verified the architecture across 4 industrial test cases in Gazebo:
- Scalability in Cluttered Spaces: 20×20m layouts with high obstacle density.
- Swarm Size Scalability: 8+ robots operating concurrently without topic contention.
- Dynamic Obstacle Avoidance: Navigating around non-linear moving worker models.
- Map Persistence & Recovery: Reloading pre-cached environmental maps after process restart.
Technical Summary
| Component / Subsystem | Implementation Status |
|---|---|
| Multi-Robot Coordination | Implemented |
| Dynamic Obstacle Avoidance | Integrated (Nav2 + DWA) |
| Map Persistence (NoSQL) | Completed (MongoDB) |
| Object Detection | Custom-trained YOLOv8 |
| Swarm Scalability | Verified in Gazebo |
Repository & References
- GitHub Repository: m2_Kalyani_BharatForge_44
- Built with: ROS 2 Humble, Gazebo, MongoDB, YOLOv8, Nav2
Robotics Team #2, IIT Bhilai
