This repository contains the simulation environment and Docker setup for Milestone 1 of the Autonomous Mobile Robot (AMR)-Based Sensing in Smart Warehouse project, developed for the United Nations World Food Programme (WFP) in collaboration with FITT IIT Delhi.
The AMR is designed to autonomously navigate warehouse aisles, avoid obstacles, and collect environmental data (temperature, humidity, CO₂, O₂, airflow, smoke) in real time.
Data is transmitted via MQTT to a cloud dashboard for warehouse condition monitoring.
- Payload Capacity: 100 kg
- Dimensions: 650×550×4100 mm (rod stretched), 650×550×2000 mm (rod retracted)
- Simulation Goal: Validate navigation, SLAM, sensing, and communication pipeline before hardware deployment.
- ROS 2 Humble + Gazebo Harmonic environment
- Navigation (Dijkstra/A*, DWA/TEB) via Nav2
- SLAM using Cartographer / slam_toolbox
- Obstacle avoidance with LiDAR + RGB-D
- Environmental sensing data simulation
- MQTT + ROS 2 DDS communications
- Backend-ready hooks for FastAPI/InfluxDB dashboard
Modules:
- Perception: LiDAR, RGB-D camera, simulated sensors
- Localization & Mapping: SLAM + EKF odometry fusion
- Navigation & Control: Global & local planners, velocity control
- Actuation: Differential drive control
- Data Collection: Periodic environmental sampling
- Communication: Wi-Fi (MQTT, DDS)
- Backend: ROS nodes → MQTT broker → Web dashboard
Data Flow:
- Sensors → ROS topics
- EKF localization → Map + Pose
- Planner → Velocity commands
- Drive → Differential motor control
- MQTT → Cloud database + Dashboard
- Optional alerts on threshold breaches
- Docker ≥ 20.10
Install Docker if not already installed.
From the provided Dockerfile:
- Base OS & Framework
- Ubuntu 22.04 (via
ros:humblebase image) - ROS 2 Humble (desktop version)
- Ubuntu 22.04 (via
- Simulation
- Gazebo Harmonic (
gz-harmonic) ros-humble-gazebo-ros-pkgsros-humble-gazebo-ros2-controlros-humble-ros-gzharmonic
- Gazebo Harmonic (
- Navigation & Mapping
ros-humble-nav2-bringupros-humble-rtabmap-ros
- Development Tools
build-essentialcmakepython3-colcon-common-extensionspython3-rosdeppython3-pip
- Utilities
curllsb-releasegnupgsudo
- ROS Dependency Management
rosdep initandrosdep updatepre-configured
./build.shxhost +local:docker./run.shcolcon build --symlink-install
source install/setup.bashros2 launch mr_robot_gazebo sim_world.launch.py | Front View | BACK View |
|---|---|
![]() |
![]() |
| CHASSIS ISOMETIC | Chassis Close-up |
|---|---|
![]() |
![]() |



