OhhO Bridge
OhhO Connect handles the transport; OhhO Bridge handles the language. Bridge is a library of protocol adapters that translate between a robot's native protocol — a DDS LowCmd/LowState interface, a MAVLink autopilot, a CANopen motor bus, an OPC UA factory cell, a Modbus PLC arm — and the standard ROS 2 topics every OhhO product already speaks. One adapter per protocol family, and any robot joins the platform.
Roadmap: protocol adapters beyond ROS 2.
ROS 2 is the lingua franca of the OhhO platform — but most commercial robots don't speak it natively. Humanoids talk Cyclone DDS through a native SDK with custom LowCmd/LowState IDL. Drones speak MAVLink. Mobile bases and AGVs speak CANopen over a CAN bus. Factory cells speak OPC UA. Industrial arms speak Modbus, EtherCAT, PROFINET or EtherNet/IP. Warehouse fleets speak VDA 5050 over MQTT. OhhO Bridge is the layer that translates each one into the standard ROS 2 topics the rest of the platform expects.
Each bridge is a thin ROS 2 node — or a browser-side codec for Web Serial — that subscribes to the robot's native protocol and republishes as standard topics: Twist on /cmd_vel, JointState on /joint_states, Imu on /imu/data, Odometry on /odom. In the other direction, it takes your ROS 2 commands and calls the robot's native protocol. For a DDS-native humanoid, that means mapping Twist to HighCmd velocity fields and JointState to LowCmd motor commands with sensible default impedance gains (kp/kd). For a CANopen base, it means SDO/PDO object dictionary translation. For an OPC UA cell, it means browsing the server's address space and mapping nodes to topics.
Bridge is what makes 'any robot' literally true. Without it, OhhO's intelligence and operations products work on any ROS 2-compatible robot — which is a lot, but not everything. With Bridge, a DDS-native humanoid, a MAVLink survey drone, a CANopen AGV, an OPC UA-integrated factory arm and a Modbus-controlled SCARA all appear to the platform as standard ROS 2 robots, and every console works unchanged. And because Bridge speaks the industry standards the factory floor already runs on — PROFINET for German automotive, EtherNet/IP for North American manufacturing, VDA 5050 for warehouse fleets — a robot on OhhO plugs into the systems your facility already has, not the other way around.
- DDS-native humanoid adapter. Translates a native DDS LowCmd/LowState and HighCmd/HighState interface to and from standard ROS 2 topics, with per-model joint-index maps for the humanoid family you're driving.
- MAVLink drone adapter. Bridges MAVLink heartbeat, attitude, global position and manual control to ROS 2 Imu, Odometry and Twist — so a drone appears in the platform like any other robot.
- CAN bus / CANopen adapter. Translates CANopen object dictionaries (CiA 402 motion profile, SDO/PDO) to ROS 2 JointState, Twist and Odometry — the standard protocol for mobile robot motor controllers, AGVs and embedded bases.
- OPC UA adapter. Browses an OPC UA server's address space and maps nodes to ROS 2 topics — so a robot integrates with Industry 4.0 factory cells, MES/SCADA systems and digital twin platforms that already speak OPC UA.
- PROFINET & EtherNet/IP adapters. Real-time industrial Ethernet bridges for the two dominant factory-network ecosystems — PROFINET for European/Siemens manufacturing, EtherNet/IP for North American/Rockwell manufacturing. A robot on OhhO speaks the network your plant already runs.
- MQTT & VDA 5050 adapter. Bridges the VDA 5050 AGV/AMR fleet standard over MQTT — so OhhO Fleet interoperates with warehouse management systems and master control software from Linde, Toyota, MiR, KION and the rest of the VDA 5050 ecosystem.
- Industrial arm adapters. Modbus TCP/RTU and EtherCAT bridges for PLC-driven arms, plus ROS-Industrial compatibility for the major industrial arm families — exposing joint state and joint commands as standard ROS 2 topics.
- PLC integration (IEC 61131-3). Bridge maps ROS 2 topics to PLC-readable signals, so a robot exchanges data with controllers programmed in ladder logic, structured text or function blocks — the languages every factory PLC already speaks.
- Impedance-gain defaults. When translating ROS joint commands into a native DDS motor command, Bridge applies sensible default kp/kd profiles per joint — so position control works out of the box without per-servo tuning.
- Browser-side codecs. For Web Serial connections, Bridge ships browser-native protocol codecs for common serial bases — so Connect can talk firmware-direct with no onboard PC in the loop.
- Community-extensible. Each bridge is a standalone adapter module. New protocols are added as a new adapter — no platform fork, no core rewrite.
Related: OhhO Connect, OhhO Frame, OhhO Pilot