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

automation_overview.svg

Edited by naikymen