Skip to content

DaveCacci/B.Select

Repository files navigation

Author: Davide Carecci
Initial commit: 02.09.2025
⚠️ This repo uses Git LFS - do not download as ZIP (see Notes section of this README). ⚠️ The general_utils library contains also a user manual to setup VSCode/Python for non-expert users and the list of the required standard Python libraries (download it from the GitHub repository).


BIOGoAlS.Select is a feedback control tool designed for experimental validation of predictive and override control strategies to enhance biomethane production efficiency and process safety.

The tool has undergone two major experimental validation campaigns:

  • First campaign (10.2023–04.2024):
    Conducted at Laboratory A. Rozzi (Politecnico di Milano, Cremona campus) on the UIT machine.

  • Second campaign (03.2025–07.2025):
    Conducted at BioTA Lab (Universidad Técnica Federico Santa María, Valparaíso, Chile) using a hand-made, Raspberry-Pi-driven control architecture.


Documentation


Inside the /UIT_implementation folder:

  • Python code to run the BIOGoAlS.Select tool — a 'conventional' online feedback PI controller with an override structure to improve biomethane production under safety constraints. Executable only on the UIT machine.

  • Jupyter Notebook for reading, analyzing, and plotting controller outputs.

  • CSV input file for setpoint data. For the notebook to run, data generated by the UIT proprietary software must be manually added.

  • Examples of figures, output CSV files, and configuration INI files.


Inside the /RPi_implementation folder:

  • Python code to run the BIOGoAlS.Select tool — improved and adapted for the hand-made, Raspberry-Pi-driven control architecture used in Chile’s experiments. Ready to run when called from the terminal or a Jupyter Notebook.

  • Jupyter Notebook for running a closed-loop test (together with a Python code to call the simulator of a real plant from the BIOGoAlS.agri-AcoDM tool) $\leftrightarrow$ sub-folder with an example of inputs and outputs required and generated.

  • /Input subfolder: contains required CSV input data for the Python code.

  • Examples of plots, logs and output files.


Notes

  • Markdown links (./folder/file) are used for proper GitHub rendering.

  • Avoid editing files inside /UIT_implementation unless you have access to the UIT system.

  • Python 3.10+ is required for the RPi implementation.

  • Python 3.8- is required for the UIT implementation.

  • A Jupyter Notebook to find the best design of the controller (optimization) is also present.

  • For further details, please refer also to the PhD thesis of the author (visit POLItesi or request a copy to davide.carecci@polimi.it).

  • ⚠️ Important: Git LFS Required This repository uses Git LFS (Large File Storage). ❌ Do NOT download the project using "Download ZIP" — files will be incomplete. ✅ Instead, clone the repository:

    git clone <repo-url> cd <repo> git lfs pull


© 2025 Davide Carecci — All rights reserved.**

About

Codes for implementing the BIOGoAlS.Select tool. "Conventional" and "optimal" control of anaerebic co-digestion

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages