Skip to content

BigChemistry-RobotLab/sdl-surface-tension-simulator

Repository files navigation

Self-driving laboratory simulator for the interfacial surface tension use-case

experiment_flow

This project showcases a high-level architecture for a self-driving laboratory using the INTERSECT Open Architecture and SiLA 2 laboratory automation standard. The demonstrator is designed to determine the optimal concentration of sodium dodecyl sulfate (SDS) in water to achieve a target interfacial surface tension using the pendant drop tensiometry method.

Table of Contents

General Information

The goal of this project is to determine how well the INTERSECT Open Architecture aligns with the goals of the RobotLab project. The INTERSECT open architecture describes an open federated architecture networked system of SDLs and instruments that work together to conduct and analyse experiments autonomously. The assessment is conducted by applying the architecture to one of RobotLab's experimental use cases. The interfacial surface tension use case from Radboud University was selected for its clarity and advanced development stage. The development of the demonstrator is done with the help of the SiLA standard for laboratory automation. It provides interoperability and flexibility for the integration of laboratory instruments and software services based on standardised communication protocols and data specifications. For the implementation of these microservices certain snippets are borrowed from the team at Radboud to increase the realism of the simulation.

Technologies Used

This project utilizes the following packages, among others:

Screenshots

Interface

Setup

To get started with this project first this project must be cloned from GitLab.

git clone https://git.fhict.nl/coe-htsm/sdl-surface-tension-simulator.git

CD into the directory

CD sdl-surface-tension-simulator

Install the requirements.

pip install -r requirements.txt

Running The simulator

(Optional) Start the Prefect server in another terminal. This server is hosted at 127.0.0.1:4200

prefect server start

Start the orchestrator which contains the user interface of the demonstrator.

python orchestrator.py

Architecture

High Level Architecture

The architecture for this demonstrator is defined in a high-level architecture using the architectural patterns defined by the INTERSECT Use Case Design Patterns. These patterns present overall control, data, and work flow, but not detailed control messages, data transfers, and orchestration.

high level architecture

Microservice Architecture

The microservice architecture implements the components described in the high-level architecture and uses the patterns described in the INTERSECT Microservice Architecture. The orchestrator can be compared to the controller in the high-level architecture. Instead of receiving data from the services, the orchestrator tells these services where to store their data.

Microservice architecture

Room for Improvement

  • Vertical scaling factor for image generation can sometimes be sub-pixel.

Acknowledgements

Thanks to:

  • The Robotlab team from Radboud University for providing their use case and the great feedback.
  • The Robotlab team from Fontys for their great assistance.
  • Peter Lambooij for his technical, chemical, and mathematical expertise and guidance.
  • Lars van den Brandt for this for his enthusiastic engagement, assistance, and collaboration.

About

SDL simulator for the surface tension experiment that demonstrates autonomous discovery of target surface tension.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages