Laminar
Laminar
Open the console ↗
▸Vial 15 mL
▸Channel 04 0.00 mL
Autonomous liquid handling · Cal Hacks 13.0

±0.2 mL.
EVERY TIME.

A seven-axis arm that keeps tilting until the camera says the channel holds exactly what the protocol asked for.

Open the console ↗
DeliveredIdle
0.00 / 2.00 mL
Acquire
Transport
Align
Pour
Return
0105
ACQTRNALNPOURRTN
Loading workcell
±0.2mLTolerance
12Channels
5HzVision loop
7Driven axes
15mLConical, 17 mm
The console

Where the lab runs it.

Ask for a run in plain words or out loud. Claude plans it, code checks it, a named person approves it, and the arm above pours it. Every step lands in the console, live.

Bench—
Pours logged—
Runs finished—
Plans refused—
Last run—
Open the console ↗ Plans from the Mana Lab Console arrive here too
Method

Four moves. One of them is hard.

Lifting and carrying a vial is solved. Knowing when to stop pouring is not. So everything up to the pour runs on fixed, measured poses, and the camera only has to do the one job that needs it.

01 / ACQUIRE

The finger bends, not the tube

Fin-ray fingers close to an 11 mm gap. Press a tube into the flat face and the whole finger curls around it, so a stalled motor flexes plastic instead of crushing a 0.9 mm wall.

02 / TRANSPORT

The wrist never moves

Six joints carry the vial across the bench with the wrist roll locked at zero. The meniscus never breaks, so the volume measured at the rack is the volume that arrives.

03 / ALIGN

Look first, then commit

A camera on the gripper, pitched 38° out over the fingertips, picks up the marker on the station and corrects the approach before the arm descends. Move the station mid-demo; it still finds it.

04 / POUR

One joint, closed loop

Only the wrist rolls. A second camera reads the rising column in the channel and feeds volume back five times a second, so the tilt stops on a measured volume, not a stopwatch.

The adaptive pour

A tilt angle gets you a pour. It doesn't get you a volume.

Tip the same vial twice, to the same angle, for the same two seconds, and you get two different volumes. Surface tension, how full the tube started, how cleanly the lip broke: all of it moves the number.

So the angle is not the setpoint. The volume is. The wrist rolls in, the station camera measures the column climbing in the channel, and the controller trims the tilt until the delivered volume reaches target, then rolls back out and holds.

Controlled jointJ6 wrist roll
Feedback signalcolumn height → mL
Loop rate5 Hz
Lead-out0.35 mL anticipation
Every other jointfixed, from YAML
Reservoir · 12 channels2.00 mL into 04
Delivered volume
Closed loopFixed angle
0.01.0 2.03.0 mL 0 s2.5 s5 s 2.61 mL 2.00 mL

Shaded band is the ±0.2 mL the protocol allows. The dashed trace is the identical wrist motion with the camera ignored.

Hardware

Stock arm. Everything that touches glass, we printed.

ARM

reBot B601-RS

Seven RobStride joints on a 1 Mbps CAN bus, driven straight from a laptop through a USB-CAN adapter. No vendor stack anywhere in the loop.

GRIP

Fin-ray fingers

Hollow triangles with five fanned ribs. The contact wall bows inward under load and the tip swings in with it, so the finger closes around the tube rather than onto it.

EYES

38° gripper mount

One printed piece that slides onto the gripper block and stops against the frame. Holds the camera out over the fingertips, where the vial lip sits 5° above frame centre.

BENCH

One-piece station

Reservoir and measuring camera share a single tray, so moving the station never changes the calibration. Hand it to a judge and let them put it anywhere.

Live link

Watch a bench that isn't yours.

The laptop at the bench publishes joint angles, gripper state and pour progress continuously. Open this page anywhere, enter the bench code, and the arm above stops replaying and starts mirroring the real one.

Bench code

Bench LAB-4417 is our Cal Hacks bench. Connect opens its console: the live arm, both cameras and the controls. While a run is going, the arm above also switches to that bench's live joints by itself.

Open the console to ask for a run, approve it by voice and watch it here.

J1 base—
J2 shoulder—
J3 elbow—
J6 wrist—
Gripper—
Delivered—
Not connected
Side camera · no frames yet
Side · tray —
Wrist camera · no frames yet
Wrist · on the arm —