In this repository you can find the analysis of the temperature variation for a Chemical Batch Reactor.
BatchReactor.py
is a class containing variables and the dynamics of the ReactorSimple_PID.py
is a class containing a a simple implementation of a PID controller1 (you don't say?)PID_Loop.py
contains the application of the PID to the Reactormain.py
launches the PIDSTL.py
contains the expression and evaluation of Signal Temporal Logic requirements over the reactor temperature variable2trace_statistics.py
contains the Falsification of requirementd over a sample of trajectories with noiseReinforcementLearning.py
is a class containing the definition of sates, actions and rewards to perform Reinforcement Learningrl_train_test.py
launches a Reinforcement Learning code with SARSA evaluation policy to follow the constant signal
Some Results:
Reactor temperature following a varying signal.
Reactor temperature variation following the policy obtained from SARSA.
-
A. Shamekh, T. Hussein, and A. Altowati, "Design of Standard PID Controller for Exothermic Batch Process Simulation", 2013 European Modelling Symposium.
-
Temporal Logic package: https://github.com/mvcisback/py-metric-temporal-logic