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. 2,086 curated mappings, 985 canonical fields defined.

# normalize telemetry from ROS 2 (DDS), one of 13 protocols Forge reads
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

Why does a cross-vendor canonical data model matter? The Machine Agent breaks it down weekly. Read it →
Get the thesis behind this infrastructure: The Machine Agent, weekly.