OpenMHS 0.9 · capability catalogue
What a device can do, in typed terms
A capability class is the contract for one class of action: verb, input and output schemas, units, effects, hazards, determinism and risk. Classes are shared; each device binds them to its own resources and declares its own truth.
measure
Measurement 9
Electrical, optical, thermal and flow quantities.
cap.measure.current.v1R0Measure current
Measure current on a declared channel and return the value with its timestamp and range.
cap.measure.flow.v1R0Measure flow
Measure volumetric or mass flow at a declared line and optionally the accumulated volume since a declared instant.
cap.measure.intensity.v1R0Measure intensity
Measure optical or radiant intensity at a declared wavelength or channel and return the value with its unit and integration time.
cap.measure.mass.v1R0Measure mass
Measure the mass on a balance or load cell and report the value and stability flag.
cap.measure.pressure.v1R0Measure pressure
Measure absolute, gauge or differential pressure at a declared port and return the value with its reference and timestamp.
cap.measure.resistance.v1R0Measure resistance
Measure resistance or impedance on a declared channel and return the value with its timestamp and excitation method.
cap.measure.spectrum.v1R0Acquire a spectrum
Acquire an optical or mass spectrum over a declared wavelength or mass range and return the axis and intensity arrays, or an artifact reference for large spectra.
cap.measure.temperature.v1R0Measure temperature
Measure temperature at a declared location and return the value with its timestamp and stability flag.
cap.measure.voltage.v1R0Measure voltage
Measure a DC or RMS voltage on a declared channel or terminal pair and return the value with its sampling timestamp and measurement range.
motion
Motion 9
Joints, Cartesian poses, mobile bases, stops and homing.
cap.motion.cartesian_pose.v1R1Move to a Cartesian pose
Move the tool centre point to a Cartesian position and orientation in a named frame. The endpoint solves inverse kinematics; an unreachable target is rejected before motion.
cap.motion.cartesian_twist.v1R1Command a Cartesian twist
Move with a commanded linear and angular velocity for a bounded duration, in a named frame.
cap.motion.estop.v1R0Engage the device emergency stop
Engage the device-level emergency stop: motion stops within the declared latency, outputs transition to the declared safe state, and the device latches until mhs.safety.reset.
cap.motion.home.v1R1Home the axes
Drive axes to their declared home position or reference switch, establishing the coordinate reference needed by other motion capabilities.
cap.motion.joint_position.v1R1Move joints to positions
Command one or more actuated joints to target positions in joint space, optionally over a declared duration, and report whether the target was reached within tolerance.
cap.motion.joint_torque.v1R2Command joint torques
Apply commanded joint torques for a bounded duration for compliant or force-controlled motion. Torque magnitude is bounded by the binding safety envelope.
cap.motion.joint_velocity.v1R1Command joint velocities
Command continuous joint velocities for a bounded duration. The operation stops at the end of the duration or when cancelled.
cap.motion.mobile_base.v1R2Drive a mobile base
Drive a mobile base with a commanded linear and angular velocity for a bounded duration, or to a target pose. Obstacle and zone limits are enforced by the binding safety envelope.
cap.motion.stop.v1R1Stop motion safely
Stop all motion on the resource with a declared deceleration profile and report the stopping position. This capability is always cancellable=false and is exempt from rate limiting.
world
World 7
Simulated worlds, episodes, snapshots and seeding.
cap.world.render.v1R0Render a simulation frame
Render the current simulated world through a named camera and return an image artifact reference. Rendering does not advance simulated time.
cap.world.reset.v1R0Reset a simulated world
Reset the simulated world to a scenario start state and return the initial observation. When a seed is supplied the endpoint records it in the receipt; otherwise the endpoint's…
cap.world.restore.v1R0Restore a world snapshot
Restore the world to a previously captured snapshot, replacing the current state; the device revision advances and the state hash MUST equal the snapshot's.
cap.world.seed.v1R0Set the world RNG seed
Set the seed used by the simulated world's random number generators for subsequent steps, without resetting the world. The accepted seed is echoed in the receipt.
cap.world.snapshot.v1R0Take a world snapshot
Capture a restorable snapshot of the complete world state, including the revision and state hash, for deterministic restore later.
cap.world.state.v1R0Read a simulated world state
Return the complete normative state of a simulated world together with its revision and canonical state hash.
cap.world.step.v1R0Advance a simulated world
Advance the simulated world by a bounded number of fixed timesteps, optionally applying an action for each step, and return the resulting observation and terminal flags.
fluid
Fluid 6
Pipetting, dispensing, transfer, mixing, washing and level sensing.
cap.fluid.aspirate.v1R1Aspirate liquid
Draw a specified volume of liquid from a declared labware well into a pipette tip, with a bounded flow rate and an optional liquid-level offset.
cap.fluid.dispense.v1R2Dispense liquid
Dispense a specified volume from the pipette into a declared labware well, with optional blowout and mixing after dispense.
cap.fluid.level.v1R0Read a liquid level
Detect and report the liquid level and estimated volume in a declared container using a declared detection method.
cap.fluid.mix.v1R1Mix the contents of a well
Mix the contents of a declared well by repeated aspiration and dispense cycles at a bounded volume and speed.
cap.fluid.transfer.v1R2Transfer liquid between wells
Aspirate a volume from a source well and dispense it into a target well as one receipted operation, so a failed transfer cannot leave an untracked half-state.
cap.fluid.wash.v1R1Wash a well or tip
Wash a declared well or the pipette tip with a bounded volume of wash solution, discarding waste to a declared waste container.
sample
Sample 6
Moving, incubating, centrifuging, sealing and storing labware.
cap.sample.centrifuge.v1R2Centrifuge samples
Spin declared samples at a target speed for a declared duration, optionally at a controlled temperature, then report the achieved speed and duration.
cap.sample.incubate.v1R2Incubate samples
Hold samples at a declared temperature, and optionally a declared atmosphere, for a declared duration. The achieved temperature and duration are reported in the output and receipt.
cap.sample.move.v1R1Move a sample or labware
Move a sample, plate or other labware object from one declared location to another using the device's transport mechanism.
cap.sample.seal.v1R1Seal a plate
Apply a declared seal type to a microplate and report completion; the seal consumable is recorded as a consumable use.
cap.sample.store.v1R2Store samples
Place samples into a declared storage location at a declared temperature and record the storage location in the output so later retrieval is unambiguous.
cap.sample.unseal.v1R1Unseal a plate
Remove the seal from a microplate so that the wells are accessible, reporting completion.
sensing
Sensing 5
Scalar sensors, images, point clouds, force/torque and IMUs.
cap.sensing.force_torque.v1R0Read a force/torque sensor
Read the current force and torque vector in a declared frame and return the wrench with its sampling timestamp.
cap.sensing.image.v1R0Capture an image
Capture a single image from a named camera with a declared resolution and exposure and return an image artifact reference.
cap.sensing.imu.v1R0Read an IMU
Read linear acceleration, angular velocity and orientation from an inertial measurement unit, with the declared reference frame and timestamp.
cap.sensing.point_cloud.v1R0Capture a point cloud
Capture a depth point cloud over a declared range and return a point-cloud artifact reference with the point count and coordinate frame.
cap.sensing.read.v1R0Read a sensor
Read the current value of one or more sensor channels and return the values with a sampling timestamp and a monotone sequence number. Volatile channels are also available by…
device
Device 4
Describe, calibrate and self-test the device itself.
cap.device.calibrate.v1R1Calibrate the device
Run the device's calibration procedure against a declared reference or standard and return a calibration artifact reference and validity window.
cap.device.configure.v1R1Configure named device parameters
Write one or more named parameters of a resource (setpoints, ranges, modes, gains) as a partial patch and report what was applied. The binding's effective input schema is derived…
cap.device.describe.v1R0Describe the device
Return the device's generated profile, identity, mode, capability list and the digest of its manifest, so an agent can re-orient without re-discovering the endpoint.
cap.device.self_test.v1R1Run a device self-test
Run the device's built-in self-test and return a pass/fail verdict with per-check results and a report artifact reference. Self-test does not certify safety.
manipulation
Manipulation 4
Grasp, release, pick and place objects.
cap.manipulation.grasp.v1R1Grasp an object
Close the gripper on a target object with a bounded force and report the achieved grasp width. A failed grasp is a completed operation with grasped=false, not a silent success.
cap.manipulation.pick.v1R2Pick an object from a source
Move to a declared source, grasp the object, lift it by a declared clearance and verify the grasp still holds. Combines cartesian motion and grasp under one receipt.
cap.manipulation.place.v1R2Place an object at a target
Place the held object at a declared target location with an approach height, release the gripper and verify the object is no longer held.
cap.manipulation.release.v1R1Release a grasped object
Open the gripper to release the held object, optionally to a declared opening width, and report the achieved width.
actuation
Actuation 3
GPIO, valves and pumps — small physical actions with real effects.
cap.actuation.gpio.v1R1Drive a digital or analog output
Drive a general-purpose output pin to a declared digital or analog value, reporting the applied value. The pin's electrical limits are declared per binding.
cap.actuation.pump.v1R1Run a pump
Run a pump at a declared flow rate for a declared duration or volume in a declared direction, reporting the volume moved.
cap.actuation.valve.v1R1Set a valve position
Open, close or position a valve to a declared state, reporting the achieved position. The port routing map is declared per binding.
imaging
Imaging 3
Microscope capture, focus and illumination.
cap.imaging.capture.v1R0Capture a microscope image
Acquire a microscope image of the current field of view for a declared channel, exposure, binning and region of interest, returning an image artifact.
cap.imaging.focus.v1R1Focus the microscope
Move the focus axis to a target Z position or run an autofocus search over a declared range, returning the achieved Z position and focus score.
cap.imaging.illumination.v1R1Set illumination
Set the illumination channel and intensity used for subsequent imaging or observation, with an optional bounded on-duration after which the light is turned off.
optics
Optics 3
Optical power, shutters and alignment.
cap.optics.align.v1R2Align an optical element
Adjust an optical element along declared axes until a target coupling or position is reached, reporting the achieved offset and alignment quality.
cap.optics.set_power.v1R2Set optical output power
Set the emitted optical power of a laser or light source to a declared setpoint, optionally ramping over a declared duration. Bindings for class 3B+ sources raise the risk class…
cap.optics.shutter.v1R2Open or close an optical shutter
Open or close a mechanical or electronic shutter in the optical path, reporting the resulting state and, for an open shutter, the open duration.
compute
Compute 2
Submitting and cancelling bounded computation.
cap.compute.cancel.v1R0Cancel a compute job
Cancel a previously submitted compute job and report the signal used and whether the job terminated.
cap.compute.submit.v1R1Submit a bounded compute job
Run a bounded command-line computation on the device host with a declared timeout and return exit code and stdout/stderr artifact references. Always R1 or higher.
process
Process 1
Running a bounded local process, always treated as R1+ unless read-only.
thermal
Thermal 1
Temperature setpoints with explicit units and limits.
No classes match
Try a different term or clear the verb filter.
Legend
Verbs, risk classes and semantics
Verbs
read- Observe state or a computed quantity. No physical effect.
write- Set a declared, persisted parameter. Still a revision-bound mutation.
invoke- Run a discrete operation with a physical effect; receipted and cancellable.
subscribe- Receive a sequenced stream; gaps are explicit.
compose- Run a named, versioned composition of capabilities.
Risk classes
- R0
- Observational. No physical effect; data only.
- R1
- Low energy, reversible and bounded.
- R2
- High energy, irreversible or destructive if wrong.
- R3
- Hazardous to people, environment or irreplaceable samples; permit and human presence.
Binding, not inheritance
Classes do not extend one another. A device binds a class to a resource and supplies its limits, units and native mapping. The catalogue is the shared vocabulary; the device manifest carries vendor truth.