This repository provides a modular framework for simulating and analyzing cooperative tasks between a signle agent and a signle human in a graph-based environment. Developed within the scope of the ALMI project, it leverages PRISM model checker for path validation and probability modeling, enabling robust testing of mission execution under various conditions. The framework includes tools for environment setup, mission planning, simulation execution, and result analysis.
- Purpose: Coordinates cooperative task simulations involving a single agent and a single human. Defines simulation parameters and runs tasks iteratively across multiple episodes.
- Interactions: Uses utility modules from the
Utilitiesfolder to set up environments, manage missions, and execute simulations.
- Purpose: Simplified version of
Coop_Task.pyfor running single, predefined simulations. - Interactions: Similar to
Coop_Task.pybut focuses on testing specific scenarios.
- Purpose: Provides tools to analyze simulation results and individual episodes interactively.
- Interactions: Reads simulation data stored in directories and interacts with result files generated during simulations.
- PRISM: Contains models, state definitions, and transition data for simulations. These files are used with PRISM to validate paths, analyze state transitions, and support decision-making processes.
- Utilities: Contains core modules for environment setup, mission creation, simulation, and PRISM integration.
- Purpose: Defines the
Graphclass to create and manage environments. - Features: Constructs maps, defines connections, and implements pathfinding algorithms.
- Used By:
Coop_Task.py,Coop_Task_Single.py.
- Purpose: Provides predefined environments and risk matrices.
- Features: Defines connection details and safe zones for agent and human.
- Used By:
Environment.py.
- Purpose: Manages mission creation, breakdown, and optimization.
- Features: Creates sub-missions and applies pathfinding for task execution.
- Used By:
Coop_Task.py.
- Purpose: Interfaces with PRISM for model checking and path validation.
- Features: Generates PRISM models and validates paths.
- Used By:
Coop_Task.py,Simulate.py.
- Purpose: Executes simulation logic for agent and human.
- Features: Handles decision-making, path updates, and logging.
- Used By:
Coop_Task.py.
-
Environment Setup:
Utilities/Maps.pyprovides predefined environments.Utilities/Environment.pyuses these maps to construct a graph-based environment.
-
Mission Definition:
Utilities/Mission.pycreates and optimizes tasks for agents.
-
Simulation Execution:
Coop_Task.pyorCoop_Task_Single.pyorchestrates simulations.Utilities/Simulate.pyhandles step-by-step agent and human interactions.
-
Path Validation:
Utilities/Prism.pyvalidates paths and actions via PRISM.
-
Data Analysis:
Data_Analysis.pyprocesses simulation results to extract insights.
-
PRISM Integration:
- Files in the PRISM folder are utilized for advanced path validation and state analysis.