Work in progress: this documentation is still being written and reviewed. Check details against the source code.

Start here

EROBS (Extensible Robotic Beamline Scientist) coordinates a robot arm, interchangeable tools, and a 3D camera for sample handling. The primary configuration uses a UR5e and a robot-mounted Zivid camera at the NSLS-II CMS beamline.

How EROBS works

  1. Define a task. Use the operator GUI or submit a JSON task script. The script identifies the starting tool and lists the operations in order.

  2. Plan and execute. The orchestrator coordinates the sequence. MoveIt plans robot motion using the selected robot and tool models; device drivers control the hardware.

  3. Follow progress. The client receives updates during execution and a final result indicating success or failure.

For example, a sample-transfer task can move to a scan position, locate a sample with the camera, grasp it, move to a destination, and release it. Each installation supplies the tool configuration and calibrated positions for that sequence.

See task execution for the components involved and task scripts for the JSON format.

Current capabilities

Capability

Description

Robot motion

Move to named positions, Cartesian targets, or relative offsets.

Tools

Operate grippers and the pipettor; load or dock configured tools.

Vision

Detect markers or samples and use the results to position the robot.

Task editing

Create, save, and submit task scripts through the GUI.

Motion preview

Plan moveto and end_effector tasks without executing them. Preview requires MoveIt and does not support a complete tool-exchange or vision sequence.

Next steps

Read concepts and conventions for terminology, units, and frames. Follow Installation to set up EROBS, then run your first task through the GUI with mock hardware.