Technologies:
- Tube-based Model Predictive Control (TMPC)
- Linear Temporal Logic (LTL) Specifications
- Optimization
- Python 3
Summary:
An R&D startup under a major tech company, that aims to remove carbon emissions from the environment, built a system to extract carbon dioxide from the atmosphere. To ensure the constant flow of the CO2-adsorbing material in the system, we developed an optimal control framework with two levels of control in Python. This approach allowed us to develop a control mechanism beforehand, skipping the need to tune the controller during commissioning, reducing commissioning time. Furthermore, modeling delays and losses present in the system during development also removes the guesswork of figuring out the appropriate control technique during commissioning, making on-site deployment much easier.
Approach:
Due to the internal delays in the system as well as points where the material could be lost, a controller was required that will take these into account and still be able to control the system.
Firstly, to develop the control framework, the model of the system was derived from the dynamic equations involved in the system. Time delays in the system due to the size of the conveyor streams between adsorbing and desorbing chambers were also incorporated into the model. Points of potential material losses were also identified and included as an uncertain parameter in the system model.
Afterwards, a higher-level control mechanism was developed. It utilizes Tube-based Model Predictive Control (TMPC) technique to robustly control the macroscopic model of the system in the presence of random but bounded material losses within the system. This controller ensures that the CO2-capturing material is continuously flowing between the chambers where CO2 is adsorbed and the chamber where CO2 is extracted/desorbed from the material.
Next, a lower-level control technique was developed to control the multiple streams where the material is supposed to adsorb CO2. It utilizes standard optimal control with Linear Temporal Logic to control the individual streams through which the material is passed for adsorbing CO2. This controller ensures that the material is continuously passing through each of the streams.
The finalized framework, developed in Python, contained quadratic and mixed-integer linear programs for the computer to run in real time and generate the control signals needed for the two levels of control.