Adapters and bridges
One recipe per family
Bridge families are how existing ecosystems join OpenMHS without a rewrite. Each recipe shows the launch shape, the capability mapping, unit and safety handling, the usual blockers, and what “done” means for that family.
OpenMHS family: python-object
Python device SDKs as OpenMHS drivers (direct Driver class)
OpenMHS family: gymnasium
Gymnasium environments as GymnasiumDriver family-configs
OpenMHS family: other
Other engines and protocols (no helper planned)
OpenMHS family: ros2
ROS 2 topics, services and actions through RosDriver
OpenMHS family: mujoco
MuJoCo models and simulators as MujocoDriver family-configs
OpenMHS family: ros1
ROS 1 topics, services and actions through RosDriver
OpenMHS family: gazebo
Gazebo ROS interfaces through RosDriver
OpenMHS family: scpi-visa
SCPI and VISA instruments as ScpiDriver command maps
OpenMHS family: cli-process
Command-line tools (no helper planned)
OpenMHS family: mcp-proxy
MCP servers through McpClientDriver (finite controlled tool contract)
OpenMHS family: isaac-gym
Isaac Gym environments (no helper planned)
OpenMHS family: serial
Serial line instruments as SerialDriver command maps
OpenMHS family: micromanager
Micro-Manager through pymmcore-plus (helper:pymmcore-plus, planned)
OpenMHS family: pybullet
PyBullet simulators (no helper planned)
OpenMHS family: http-api
HTTP and JSON-RPC services (helper:http, planned)
OpenMHS family: isaac-sim
Isaac Sim applications (no helper planned)
OpenMHS family: opentrons
Opentrons robots and protocols (helper:http, planned)
OpenMHS family: docker
Containerised services (no helper planned)
Open family pageOpenMHS family: isaac-lab
Isaac Lab task suites (no helper planned)
OpenMHS family: bluesky-ophyd
Classic Ophyd Devices through OphydDriver
OpenMHS family: tag-bridge
Tag, register and PV devices through TagDriver (Modbus, EPICS Channel Access, ASCOM Alpaca)
OpenMHS family: qcodes
QCoDeS instruments through QcodesDriver
OpenMHS family: pylabrobot
PyLabRobot liquid handlers through PyLabRobotDriver (profile plr-liquid-handler-v1)
OpenMHS family: unity
Unity simulators (no helper planned)
OpenMHS family: airsim
AirSim simulators (no helper planned)
OpenMHS family: sila2
SiLA 2 features through Sila2Driver (controlled peer, one pinned Phenix source profile)
OpenMHS family: webots
Webots worlds (no helper planned)
OpenMHS family: habitat
Habitat and iGibson environments (no helper planned)
OpenMHS family: replay
Recorded-data replay (no helper planned)
OpenMHS family: sapien
SAPIEN and ManiSkill environments (no helper planned)
OpenMHS family: lerobot-real
LeRobot robots (helper:lerobot, planned)
OpenMHS family: dm-env
Dmenv and dmcontrol tasks (no helper planned)
Open family pageOpenMHS family: drake
Drake simulations (no helper planned)
OpenMHS family: madsci
MADSci nodes (helper:http, planned)
OpenMHS family: mavlink
MAVLink vehicles (helper:mavlink, planned)
OpenMHS family: flowchem
Flowchem components (helper:http, planned)
OpenMHS family: brax-mjx
Brax and MJX simulators (no helper planned)
Anatomy
What every recipe must contain
Launch and lifecycle
How the process starts, how readiness is probed, how it stops, and which transports it offers. A bridge that cannot start cleanly cannot be conformant above CL0.
Capability mapping
Native symbol or route to capability class, argument and result transforms, and the unit conversion performed at the boundary. Undocumented internals are marked fragile.
Safety and mode
Limits, interlocks, permits, e-stop independence, and the declared mode and fidelity contract. A recipe never promotes a simulator to hardware.
Evidence and blockers
What was read, what is missing, the concrete next command, and the conformance level that is honestly reachable today.