The Rapid Prototyping Laboratory's Workcell Execution Interface.
Project description
wei
The Workcell Execution Interface (WEI) for Autonomous Discovery/Self Driving Laboratories (AD/SDLs)
For more details and specific examples of how to use wei, please see our documentation.
Table of Contents
Usage
To get started with WEI, we recommend:
- Using the WEI Template Workcell as a starting point to learn how to use WEI, and how to create your own Workcell.
- Consulting the Documentation
Development
- Install Docker for your platform of choice
- For managing the Python Package, install PDM
- For automatic development checks/linting/formatting, install pre-commit
- Clone the repository.
- Within the cloned repository, run the following:
We use GNU make
to automate many common build tasks, such as initializing, building, starting, and publishing the repository, docker containers, and python packages.
Common commands include init
, init-python
, build
, build-python
, start
, stop
, and exec
.
For a complete list of commands, run make help
, or explore Makefile
and the make
directory.
To change the configuration of the WEI project, edit make/config.mk
or overwrite variables at runtime with make <target> VARIABLE=<override>
.
Using PDM
Using Pre-commit
- To run pre-commit checks before committing, run
pre-commit run --all-files
ormake checks
- NONE OF THE FOLLOWING SHOULD BE DONE REGULARLY, AND ALL CHECKS SHOULD BE PASSING BEFORE BRANCHES ARE MERGED
- To skip linting during commits, use
SKIP=ruff git commit ...
- To skip formatting during commits, use
SKIP=ruff-format git commit ...
- To skip all pre-commit hooks, use
git commit --no-verify ...
- To skip linting during commits, use
- See pre-commit documentation for more
Contributing
Please report bugs, enhancement requests, or questions through the Issue Tracker.
If you are looking to contribute, please see CONTRIBUTING.md
.
Citing
@Article{D3DD00142C,
author ="Vescovi, Rafael and Ginsburg, Tobias and Hippe, Kyle and Ozgulbas, Doga and Stone, Casey and Stroka, Abraham and Butler, Rory and Blaiszik, Ben and Brettin, Tom and Chard, Kyle and Hereld, Mark and Ramanathan, Arvind and Stevens, Rick and Vriza, Aikaterini and Xu, Jie and Zhang, Qingteng and Foster, Ian",
title ="Towards a modular architecture for science factories",
journal ="Digital Discovery",
year ="2023",
pages ="-",
publisher ="RSC",
doi ="10.1039/D3DD00142C",
url ="http://dx.doi.org/10.1039/D3DD00142C",
abstract ="Advances in robotic automation{,} high-performance computing (HPC){,} and artificial intelligence (AI) encourage us to conceive of science factories: large{,} general-purpose computation- and AI-enabled self-driving laboratories (SDLs) with the generality and scale needed both to tackle large discovery problems and to support thousands of scientists. Science factories require modular hardware and software that can be replicated for scale and (re)configured to support many applications. To this end{,} we propose a prototype modular science factory architecture in which reconfigurable modules encapsulating scientific instruments are linked with manipulators to form workcells{,} that can themselves be combined to form larger assemblages{,} and linked with distributed computing for simulation{,} AI model training and inference{,} and related tasks. Workflows that perform sets of actions on modules can be specified{,} and various applications{,} comprising workflows plus associated computational and data manipulation steps{,} can be run concurrently. We report on our experiences prototyping this architecture and applying it in experiments involving 15 different robotic apparatus{,} five applications (one in education{,} two in biology{,} two in materials){,} and a variety of workflows{,} across four laboratories. We describe the reuse of modules{,} workcells{,} and workflows in different applications{,} the migration of applications between workcells{,} and the use of digital twins{,} and suggest directions for future work aimed at yet more generality and scalability. Code and data are available at https://ad-sdl.github.io/wei2023 and in the ESI."}
License
WEI is MIT licensed, as seen in the LICENSE file.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for ad_sdl.wei-0.5.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c8aa8eaa3ce0876cc951811da279820e6ce3675b760d1bd27ec9689320cb967 |
|
MD5 | 9890170fad540bb3d6d7a110450a260f |
|
BLAKE2b-256 | 44e7d51abb0805a3e5a7fd4e40f16884e1db7abf5785209724713db824011ad9 |