Map automation initiatives and components
Literally, a "map" diagram of what is needed, how stuff interacts, and existing projects.
-
Start writing here. -
Review.
-
-
Move to a diagram in inkscape. -
Cleanup.
-
Level: Highest-level stuff
- Paper laboratory protocols.
- Protocol Designer GUIs.
- Resource definitions (workspace, platforms, items, contents). <- note: it's not labware-agnostic.
- JSON definitions of the above?
Interface: JSON/YAML Protocol <-> abstract robot-agnostic commands (two-way)
- Converts an "text" representation, which is machine-readable, to a set of commands.
Level: intermediate-level robot-agnostic commands
- Protocol programming interfaces (PPI?).
- Examples (not agnostic necessarily): pyotronext, pylabrobot, opentrons
Interface: abstract protocol commands --> MCU-agnostic instructions for robots
- Protocol slicers / path generation.
- GCODE generation <- no longer machine-agnostic?
Level: low-level protocol, MCU instructions
- GCODE.
Interface: GCODE sent to the Motion Planner
- Typically "CAM" software sends GCODE to another entity that does the motion planning and its immediate execution.
- Example: interfaces like serial, http, etc.
Interface: GCODE --> motor motion, lower-level motion planner
- Machine firmware converts GCODE to motor motion.
- The planner is software that can run on the MCU (GRBL), or still in on a computer (Klipper).
- Example: Klipper, GRBL <- no longer MCU-agnostic
Level: motion
- The machine actually does stuff!
- Some events might occur, and need to be sent back to an upper layer.
Progress
Lab automation universe graph.
Source: https://gitlab.com/pipettin-bot/pipettin-bot/-/blob/master/doc/media/images/automation_overview.svg
Edited by naikymen