FoundryNet / Error codes / ROS 2 (DDS) RCL_RET_TIMEOUT
ROS 2 (DDS) error code

RCL_RET_TIMEOUT (2) — Operation timed out

An rcl operation did not complete within its timeout — typically a service call or an action goal that got no response.

Start free ROS 2 (DDS) → canonical

Diagnosis

When you hit this


Resolution

How to fix it

  1. Wait for the service properly
    Use wait_for_service before calling. Discovery is not instantaneous and a call issued too early times out.
  2. Do not call services from callbacks on a single-threaded executor
    This deadlocks: the callback holds the executor that would process the response. Use a MultiThreadedExecutor with separate callback groups.

Normalization

What Forge does about it

This is a transport failure, so there is nothing for Forge to normalize: the reading never arrives. What Forge does is refuse to let the gap look like good data. The read-time dropout check flags a field that fell to zero and recovered as a communication glitch rather than a real measurement, and the stuck-sensor check fires when a value repeats for 20 consecutive readings — which is what a cached or last-known value looks like after a link drops. Forge does not retry or reconnect for you; that is your client's or your gateway's job.


Connect

Normalize ROS 2 (DDS) telemetry

One MCP endpoint serves every protocol adapter. 16,908 curated mappings, 366 canonical fields.

# normalize telemetry from ROS 2 (DDS) — and 13 other protocols
claude mcp add --transport http forge https://mcp.foundrynet.io/mcp \
  --header 'Authorization: Bearer YOUR_FORGE_KEY'
✓ forge connected — 32 tools available

Related

Keep reading

Other ROS 2 (DDS) codes: Incompatible QoS No publishers discovered Failed to find a free participant index

Equipment that speaks ROS 2 (DDS): ABB Robotics KUKA MiR (Mobile Industrial Robots) Universal Robots Fanuc Robotics OTTO Motors Yaskawa Motoman 6 River Systems AGILOX Doosan Robotics

ROS 2 (DDS) protocol hub

Other protocols: Modbus OPC UA MQTT / Sparkplug B FANUC FOCAS EtherNet/IP PROFINET / S7 BACnet/IP J1939 (CAN) MTConnect SNMP MAVLink HTTP / REST CSV ingest

All error codes · All OEMs · All protocols

Industrial AI fails at the data layer. The Machine Agent explains why, weekly. Read it →
Get the thesis behind this infrastructure — The Machine Agent, weekly.