# Smart-Warehouse-Integration **Repository Path**: yu_duo/Smart-Warehouse-Integration ## Basic Information - **Project Name**: Smart-Warehouse-Integration - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-08 - **Last Updated**: 2026-06-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ๐Ÿ“ฆ Integrating ERP in Automated Guided Vehicles (AGVs) ## ๐Ÿš€ Overview This project demonstrates an **industry-aligned integration** between: * **ERP (ERPNext)** โ€“ Business layer * **WMS (Custom Python Service)** โ€“ Warehouse execution layer * **Fleet Adapter (ROS 2 Node)** โ€“ Integration layer * **Nav2 + TurtleBot3** โ€“ Robot navigation layer The system simulates how modern warehouses (e.g., Amazon Robotics-style architecture) integrate enterprise software with autonomous mobile robots. --- ## ๐Ÿ—๏ธ System Architecture ``` ERPNext (Order Creation UI) โ†“ WMS (wms.py โ€“ Rack/Bin & Destination Logic) โ†“ REST Fleet Adapter (ROS 2 Node) โ†“ ROS 2 Actions Nav2 (Navigation Stack) โ†“ TurtleBot3 (Simulation / Robot) ``` ### ๐Ÿ”น Layer Responsibilities | Layer | Responsibility | | ------------- | ----------------------------------------------- | | ERP | Order creation, stock entry | | WMS | Determines pickup (rack/bin) and drop (station) | | Fleet Adapter | Converts logical locations โ†’ coordinates | | Nav2 | Path planning & obstacle avoidance | | Robot | Executes motion | --- ## ๐ŸŽฏ Project Objective To demonstrate: * Event-driven ERP โ†’ WMS โ†’ AGV integration * Logical warehouse locations (rack/bin) mapping to physical coordinates * Task-based AGV movement (pickup โ†’ drop) * Real-time task status updates * Industry-style layered separation of responsibilities --- ## ๐Ÿง  Industry Alignment This architecture follows the same principles used in: * Amazon Robotics fulfillment centers * SAP EWM + AGV integrations * VDA-5050 fleet communication standard Key Design Principle: > Robots execute tasks. > WMS decides warehouse logic. > ERP handles business logic. --- ## ๐Ÿ› ๏ธ Tech Stack * **ROS 2 (Jazzy)** * **Nav2 (NavigateToPose)** * **TurtleBot3** * **Python (rclpy)** * **FastAPI / Flask (WMS REST layer)** * **ERPNext** --- ## โš™๏ธ How It Works ### 1๏ธโƒฃ ERP Creates Order User creates order in ERPNext. ### 2๏ธโƒฃ WMS Processes Request WMS determines: * Pickup location (e.g., `POD_183`) * Drop location (e.g., `PACK_STATION_03`) ### 3๏ธโƒฃ Fleet Adapter Executes * Converts logical location โ†’ `(x, y, yaw)` * Sends goal to `/navigate_to_pose` * Monitors execution ### 4๏ธโƒฃ Status Update Upon completion: * Fleet Adapter sends status to WMS * WMS updates task state * ERP can be notified --- ## ๐Ÿ“ Location Mapping Logical warehouse locations are stored in: ``` config/area_map.json ``` Example: ```json { "POD_183": [1.5, 0.5, 0.0], "PACK_STATION_03": [-1.0, 2.0, 1.57] } ``` These are installed via ROS package resources and accessed using: ```python get_package_share_directory('fleet_adapter') ``` --- ## โ–ถ๏ธ Running the System ### 1. Build Workspace ```bash cd ~/ros2_ws colcon build source install/setup.bash ``` ### 2. Launch Navigation ```bash export TURTLEBOT3_MODEL=burger ros2 launch turtlebot3_navigation2 navigation2.launch.py ``` ### 3. Run Fleet Adapter ```bash ros2 run fleet_adapter fleet_adapter_node ``` ### 4. Start WMS Service ```bash python3 wms.py ``` --- ## ๐Ÿ” Task Flow Example ```json { "pickup": "POD_183", "drop": "PACK_STATION_03" } ``` Execution: 1. Robot navigates to POD_183 2. Robot navigates to PACK_STATION_03 3. Completion status sent to WMS --- ## ๐Ÿ“Š Key Features * Logical-to-physical location translation * ROS 2 Action-based navigation * REST-based ERP/WMS integration * Modular architecture * Cloud or local deployable * Industry-inspired task flow --- ## ๐Ÿงฉ Design Decisions * No Flask inside Fleet Adapter (client-only REST usage) * WMS as system-of-record for task states * No hardcoded file paths (uses ROS package share directory) * Separation between business logic and motion control --- ## ๐Ÿ”ฎ Future Improvements * Multi-robot fleet management * Task queue & resynchronization logic * MQTT-based event streaming * Web dashboard for task visualization * VDA-5050 compliance layer --- ## ๐Ÿ“š Acknowledgment This project was developed as part of a research-oriented learning initiative to understand real-world integration between ERP systems and autonomous mobile robots. Conceptual guidance and architectural references were inspired by discussions on ERPโ€“WMSโ€“Fleetโ€“Robot integration patterns. --- ## ๐Ÿ‘ค Author **Dhivyapraban** GitHub: [https://github.com/dhivyapraban](https://github.com/dhivyapraban)