Customization
To customize the simulated example to your own needs, you will need to take a couple of steps.
- Find lab resource classes
- Find or implement lab SiLA servers
- Write your device wrappers
- Configure your lab definition
- Write your process descriptions
- Customize the robot arm
Find lab resource classes
The first step is to find the lab resource classes that you want to use in your lab. The PythonLab package provides a set of predefined resource classes (see PythonLab api reference) that you can use as a starting point.
Find or implement lab SiLA servers
The default method for communicating with lab devices in the LARA lab automation suite is through SiLA servers. SiLA is an open source standard for communication between lab devices and has an active community of developers and users. SiLA server implementations for common lab devices can be found in various repositories, some of which we link to below:
Write your device wrappers
The communication between the lab orchestrator and the sila servers is handled by device wrappers. These wrappers translate the high-level commands defined in the process descriptions to specific SiLA commands. The quickstart example comes with a couple of example wrappers that you can use as a starting point. You can find more information about writing device wrappers in the wrappers documentation.
Configure your lab definition
Your lab config file describes the available resources in your lab and their capacities. In the quickstart template this
file is named platform_config.yaml. You will need to modify this file to match the resources available in your lab.
More information about the lab definition can be found at lab configuration.
Write your process descriptions
A Pythonlab process description describes the steps that should be executed in the lab. They are written in python and parsed into a workflow graph by the orchestrator. The process descriptions are the main part of your lab automation and you will need to write them to match your specific use case. You can find more information about writing process descriptions in the pythonLab introduction.
Customize the robot arm
Customizing the robot arm involves two parts. First of all, you will need to configure the GenericRobotArm SiLA server to match the brand and model of your robot arm. The adaptation guide for the GenericRoboticArm provides some guidance on how to do this.
The second part is to configure locations of your labware and the devices with respect to the robot arm. This is done with the RobotTeachingService endpoint on the GenericRobotArm SiLA server.
More info on configuring the arm and the locations can be found in the robot arm documentation.