Every industrial robot vendor names the same measurement differently. Forge maps 12 of them into one canonical field set so your agent reads one shape.
| OEM | Vertical | Protocols | Coverage | Mapped |
|---|---|---|---|---|
| ABB Robotics | industrial robot | OPC UA EtherNet/IP PROFINET / S7 ROS 2 (DDS) | 99% | 11 fields |
| KUKA | industrial robot | OPC UA ROS 2 (DDS) PROFINET / S7 EtherNet/IP | 99% | 11 fields |
| Universal Robots | industrial robot | ROS 2 (DDS) Modbus TCP OPC UA HTTP / REST | 99% | 11 fields |
| Fanuc Robotics | industrial robot | EtherNet/IP PROFINET / S7 ROS 2 (DDS) | 95% | 11 fields |
| Yaskawa Motoman | industrial robot | EtherNet/IP ROS 2 (DDS) MTConnect | 95% | 11 fields |
| Doosan Robotics | industrial robot | ROS 2 (DDS) Modbus TCP EtherNet/IP | 91% | 11 fields |
| Epson Robots | industrial robot | EtherNet/IP ROS 2 (DDS) Modbus TCP | 91% | 11 fields |
| Franka Emika | industrial robot | ROS 2 (DDS) HTTP / REST | 91% | 11 fields |
| Kawasaki Robotics | industrial robot | EtherNet/IP ROS 2 (DDS) PROFINET / S7 | 91% | 11 fields |
| Omron Robotics | industrial robot | EtherNet/IP ROS 2 (DDS) Modbus TCP | 91% | 11 fields |
| Stäubli | industrial robot | OPC UA ROS 2 (DDS) PROFINET / S7 | 91% | 11 fields |
| Techman Robot | industrial robot | Modbus TCP ROS 2 (DDS) EtherNet/IP | 91% | 11 fields |
One real example per vendor — the clearest illustration of why a per-vendor parser does not scale.
| Raw tag in | Canonical field out | Source | |
|---|---|---|---|
| CJointT.rax_1: 42.7 | → | robot.joint.position: 42.7 | ABB Robotics |
| $AXIS_ACT.A1: 88.2 | → | robot.joint.position: 88.2 | KUKA |
| actual_q_0: 1.57 | → | robot.joint.position: 1.57 | Universal Robots |
| J1_pos: 30.5 | → | robot.joint.position: 30.5 | Fanuc Robotics |
| S_axis_deg: 45.0 | → | robot.joint.position: 45.0 | Yaskawa Motoman |
| joint_1_deg: 37.4 | → | robot.joint.position: 37.4 | Doosan Robotics |
ROS 2 (DDS) (12) EtherNet/IP (9) PROFINET / S7 (5) Modbus TCP (5) OPC UA (4) HTTP / REST (2) MTConnect (1)
robot.joint.currentrobot.joint.effortrobot.joint.positionrobot.joint.temperaturerobot.joint.velocityrobot.moderobot.payloadrobot.safety.status_bitsrobot.tcp.forcerobot.tcp.poserobot.tcp.speed
Full schema: FoundryNet/canonical-schema (MIT, 366 fields).