ETA Ctrl Framework
The ETA Ctrl framework provides a standardized interface for developing digital twins of factories or machines in a factory. It is designed to facilitate rolling horizon optimization, simulation, and interaction with factory systems. The framework is based on the Gymnasium environment and integrates seamlessly with tools like FMUs, Pyomo models, and live connections to real-world assets.
Documentation
Full Documentation can be found on the Documentation Page.
Overview
Core
`EtaCtrl`: Central controller for managing optimization workflows, including learning and execution processes.
Configuration
`Config`: Represents the configuration of an experiment.
`ConfigPaths`: Relative paths and file names of the run files (part of Config, configurable in the paths section of the experiment config file).
`ConfigSetup`: Import and setup parameters for agent, environment, vectorizer, and policy (part of Config, configurable in the setup section of the experiment config file).
`ConfigSettings`: Settings parameters such as sampling time, prediction horizon, and agent/environment/scenario settings (part of Config, configurable in the settings section of the experiment config file).
`RunInfo`: Handles metadata and absolute paths of a single optimization run (Is derived by ETA Ctrl for each run).
Agent
`MpcAgent`: Pyomo based optimization agent supporting multiple solvers.
`RuleBased`: Simple agent using a control rule function.
Environment
Base Classes:
`BaseEnv`: Abstract base class for creating custom environments.
`LiveEnv`: Extends BaseEnv for live environments interacting with real-world systems.
`PyomoSimEnv`: Extends BaseEnv for environments using a pyomo model for simulation.
`SimEnv`: Extends BaseEnv for environments using FMU-based simulations.
Vectorization:
`NoVecEnv`: Custom vectorizer for environments that handle multithreading internally.
Simulation
`FMUSimulator`: Provides functionality for simulating FMUs (Functional Mock-up Units).
Time Series
`scenario_from_csv`: Imports and processes scenario data from CSV files.
`df_from_csv`: Reads time series data from a CSV file and returns it as a pandas DataFrame.
`df_resample`: Resamples the time index of a DataFrame to a specified frequency.
`df_interpolate`: Interpolates missing values in a DataFrame with a specified frequency.
State Management
`StateVar`: Represents a single variable in the state of an environment.
`StateConfig`: Configures the action and observation spaces based on StateVar instances.
Contributing
Please read the development guide before starting development on ETA Ctrl
Citing this Project
For referencing this package in academic work, please refer to CITATION.cff.
See AUTHORS.rst for a list of further contributors.
Metadata
Release files for eta-ctrl 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| eta_ctrl-0.4.0.tar.gz | 5.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| eta_ctrl-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 5.4 MB
Release files / eta_ctrl-0.4.0.tar.gz
| Download URL | eta_ctrl-0.4.0.tar.gz |
|---|---|
| Size | 5.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
130023381586f1af62c16923f5c96d9c0f5f0037e3dcec4b2bc0742091c00d7c
|
|
BLAKE2b-256 checksum How to use checksums |
3d2ec126d2d9bbb13ea7eaa68a1cb3e75bc196418ae00bc63f93f2060f51d8aa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.3 CPython/3.11.13 Linux/6.8.0-137-generic
|
Release files / eta_ctrl-0.4.0-py3-none-any.whl
| Download URL | eta_ctrl-0.4.0-py3-none-any.whl |
|---|---|
| Size | 105.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
537733de3fc5683d66c5e03b075c1f174191629c8258a3896a7660713fe88b18
|
|
BLAKE2b-256 checksum How to use checksums |
3d727e00d2e6c96baa3de0b2002641e71ff192d77c07e37847292914febd4d59
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.3 CPython/3.11.13 Linux/6.8.0-137-generic
|