Automated Stock Warehousing Robots Simulation

Developed software system for concurrently managing multiple warehouses with stock moving robots and restock/delivery trucks for each warehouse. A command line interface (CLI) allows shopping clients to order items like a online retailor from the warehouse; communicated over TCP/IP socket with JSON API.

Main objective of team project (2 students) was to simulate an automatic warehouse system using principles of concurrent systems with multi-thread, multi-process, and object oriented design focused software. My responsibility was to develop the warehouse side.

High level system diagram overview
gif

Stock location for all items in warehouse is saved and robots take the shortest path to stock/loading dock. Simulation allows for change in number of robots at runtime. Restock and delivery trucks are also called at runtime as needed.

High level system diagram overview
gif

Robots and trucks employs realistic physical limitations such as a limited weight capacity so large orders are divided accordingly among available robots/trucks through a dynamic queue with a concurrency control policy.