Table of Contents

Software overview

The LabAutoBox software has 3 different modes of operation:

  1. Interactive - manually control devices, denoted by green
  2. Design - adjust the object (plates, wash stations, etc) physical parameters and macros, denoted blue
  3. Camera control - select and control different Internet-of-Things cameras, denoted by red
LabAutoBox software mode selection buttons
Figure 1: The LabAutobox software consists of 3 different modes of operation, Interactive, Design and Camera control


Interactive user interface color coded to more clearly show the different types of available functions
Figure 2: LabAutoBox interactive user functions color coded

Interactive mode

The interactive mode is where you can manually control the various different lab automation functions. This user interface is always present on the left side of the LabAutoBox system software when the software establishes a connection with the robotic system. The connection is established via the serial interface using a python MQTT subscriber script.


Design mode

There are 4 different design modes that are selectable, Objects, Build Macro, Edit/Run Macro, Logger
Figure 3: There are 4 different design modes that are selectable: Objects, Build Macro, Edit/Run Macro

Designing laboratory automation programs involve defining and adjusting object physical parameters that are positioned on the robotic deck. The physical parameters define the XYZ positioning of the 3D printer/liquid handler/CNC robotic system. Building macros can involve both compiling individual commands or by integrating other macro lists. The LabAutoBox software allows you to test that the macros are working properly and to make adjustments when needed and there is a logger display interface that allows you to monitor the progress of the application. If a problem is observed you can abruptly stop the run by pressing the “Disconnect” button described in Interactive mode.


Objects

Figure 4: This tool allows you to define objects that serve as reference points or XYZ positioning. At the top of the tool is a list of already defined objects (denoted by blue) and at the bottom (denoted by red) is where you can adjust the physical properties. Upon saving the target settings (“Save Target Settings”), the location of the object is shown on the graphical display of the robotic deck (Figure 6)

Normally you can give an object any arbitrary name, with exception to the “wash station” and the “drypad”. These two objects involve special macros (relating to wash and dry macros).

Upon saving the object properties, the new data is stored as a temporary session variable (that lasts as long as the browser stays open indefinitely). For long term storage into a file, then you need to select the “Save objects” button which will save the data into a JSON file. There is a tool available for selecting, downloading and uploading JSON object files that is accessible by clicking the “Manage object files” button.


Objects JSON filemanager
Figure 5: JSON filemanager is where you can save, select, upload and delete JSON files that contain object property lists

Figure 6: Graphical display of robotic deck which is adjustable

The robotic deck display is designed to work with different sized robotic systems like small 3D printers or larger liquid handling workstations. At the top of the deck display, there is a tool for adjusting the width and height. The location of the objects is relative to the zero position being at the bottom left corner of the instrument this is where the instrument should be homed to.


Build Macro

Figure 7: Macro design view. Color coded to show the different types of macros that can be crafted

This tool is used to craft macros segments. Here referencing the color codes are the different types of macros that can be developed:

After selecting a macro segment and entering the data, the macro can be inserted into the Macro assembler. Using the macro assembler tool, macros can be selected and saved or deleted. If saved you can see the full LabAutoBox macro syntax in the Edit/Run view


Edit/Run Macro

Edit/Run Macro
Figure 8: This view allows you to test, edit and save custom macros

The 'Build Macro' tool is useful for crafting macros but they need to be tested and this is done in this view. Since there can be some syntax to some of these macros. The macros listed in the 'Macro assembler' box at the bottom of the 'Build Macro' view are abbreviated and so the full syntax is shown in this 'Edit/Run Macro'.