Extensible Robotic Beamline Scientist

In service

Adaptive motion planning stack for novel scientific experiments at National Synchrotron Light Source II

Overview

Beamline groups at NSLS-II are acquiring robot arms faster than they can staff people to drive them. EROBS is a hardware-agnostic layer that lets Bluesky — the experiment control software used across the DOE national labs — command Universal Robots arms directly, so a facility can automate experiments without building a bespoke robotics stack for every beamline.

How it works

Master node

A custom master node instantiates the right MoveIt configuration for whichever end effector is mounted, and loads a model of the beamline as collision geometry so planned paths stay clear of the instrument.

Bluesky integration

Bluesky’s RunEngine sends execution requests to the master server, which translates experiment plans into motion: Cartesian moves, named waypoints, and tool changes.

Tool changing

A single scan can run 40 minutes, so one arm has to serve many jobs. On a tool-change request the system swaps the end effector and restarts MoveIt against the matching URDF, keeping the kinematic model honest.

Deployment

Beamlines run on isolated networks that cannot take unpatched software, so the whole stack ships in Docker with tightly scoped cross-VM communication.

Results

Running at the CMS beamline. The proof of concept automated hot-plate X-ray scattering: the robot drops a sample onto a pre-heated plate and starts collection immediately, catching the first seconds of the reaction — a window manual handling cannot reach, and without putting anyone inside an active hutch.

Limitations

MoveIt treats the URDF as immutable at startup, so changing end effectors means restarting the stack. That costs about 20 seconds and caps how often tools can be swapped during an experiment.

Built with

ROS2 MoveIt OMPL URDF Bluesky Docker Python C++ Universal Robots