Description
This virtual downloadable product comprises a Python framework with an executable example application (meant as a template for customization). The framework can be used for modeling AGV transports in a warehouse, factory or terminal. You can also use it to model other type of horizontal transport systems, such as e.g. forklifts, trucks, tractors or other. A rail yard use case is implemented as an example.
The project and framework shared in this exemplary project is similar to another SimPy product shared in the SCDA shop, namely the use case implementation of a U-shaped warehouse with internal AGV transport. In comparison, the differences and improvements made in this specific virtual product are as follows:
- optimized job assignment logic when assigning a job to an AGV
- min and max acceptable AGV job queue length (i.e. forward looking job backlog of a given AGV)
- a Proc entity, representing a processing point, can share a ProcResource entity with other processing points (in this use case this is e.g. used for modeling multiple AGV interchanges for the same RTG crane)
The project is developed in Python, using SimPy (a free and simple simulation engine wrapper in Python), and supports parametrization of relevant model settings. This downloadable virtual product furthermore also supports tracking of relevant KPIs. Primarily state times, state time distribution, and throughput. You can use the downloaded framework to model, dimension, and analyze your warehouse, terminal, or factory operations.
Below video demonstrates the configurable model parameters that are supported by the framework and exemplary simulation model implementation. The video furthermore also shows some of the statistics that are tracked by the framework.
In detail, this virtual downloadable product contains the following files:
- requirements.txt – lists the required Python module dependencies for pip install (pip install -r “requirements.txt”)
- main.py – executable Python script that contains an exemplary simulation model, implemented by applying the classes and functions provided through the other modules in the project folder
- model.py – implements the material flows; if you want to make adjustments to the material flows or add additional material flows, do so here
- config.py – allows you to adjust relevant parameters such as the amount, type and position of interchanges, amount of AGVs, AGV speed, turn time per AGV turn, etc.
- framework.py – provides classes for modeling Proc agents (processing points), AGVs, and Jobs; also provides Stats class for collecting data throughout the simulation
- tools.py – provides functions for data visualization (state distribution chart and throughput chart)
Below is a screenshot of the project content.
The docs folder contains a use case presentation with an exemplary use case. The assumed layout, parameter settings, and model built-up is fully documented in a PPT-like PDF file (see above video for more).
Configurable parametrization
Parameters can be configured directly in the configuration file (config.py), and some additional parameters can be specified when creating instances of the classes provided by the framework. Below is an overview of the parametrization supported by the configuration file and the framework.
Relevant assumptions and constraints
The simulation model and framework ignores collision avoidance between AGVs at traffic crossings. On average, an assumed loss of cycle time per AGV move can be assumed and added to the turn time parameter, in order for this lost time to be considered by throughput and utilization simulation.
Collision avoidance can be implemented into the framework as part of a customization effort. Please contact us for this using this contact form.
Reviews
There are no reviews yet.