Inferensys

Glossary

ROS Graph

The ROS Graph is a peer-to-peer network of ROS nodes, topics, services, and actions that represents the runtime communication topology of a robotic system.
Stylish WeWork-like workspace with hot desks and document wall, professional searching through enterprise knowledge base on a mounted ultrawide display, warm industrial pendants overhead.
ROBOT OPERATING SYSTEM (ROS)

What is ROS Graph?

The ROS Graph is the fundamental runtime architecture of a Robot Operating System (ROS) application, representing all active computational processes and their communication channels as a dynamic, peer-to-peer network.

The ROS Graph is a real-time, computational network representing the communication topology of a running ROS system, composed of nodes (executable processes), topics (asynchronous message buses), services (synchronous request-reply channels), and actions (asynchronous goal-oriented interfaces). This graph is not a static file but a live entity that can be introspected using tools like rqt_graph and ros2 node list, showing how data flows between publishers and subscribers to perform complex robotic tasks such as sensor processing, planning, and control.

This decentralized, peer-to-peer architecture enables modular system design, where nodes can be developed, tested, and deployed independently. The graph's dynamic nature allows nodes to join or leave at runtime, facilitating fault tolerance and system reconfiguration. In ROS 2, the graph is built atop the Data Distribution Service (DDS) middleware, which handles node discovery and message routing across the network, often segmented using ROS_DOMAIN_ID for logical isolation of different robot systems.

ARCHITECTURAL ELEMENTS

Key Components of the ROS Graph

The ROS Graph is a runtime representation of a robotic system's communication topology. It is composed of several fundamental, interacting entities that define how data and control flow between software processes.

ROS GRAPH

How the ROS Graph Works

The ROS Graph is the foundational runtime communication network of a ROS-based robotic system, representing all active participants and their data flows.

The ROS Graph is a peer-to-peer network of computational processes (ROS Nodes) and their communication channels that represents the runtime dataflow topology of a robotic system. It is a dynamic, visualized entity comprising publishers, subscribers, services, actions, and the messages flowing between them. Tools like rqt_graph render this graph, providing engineers with a real-time map of the system's architecture for debugging and understanding data propagation.

This graph is not a centralized server but a decentralized mesh where nodes discover each other via a ROS Master (ROS 1) or through the Data Distribution Service (DDS) discovery protocol (ROS 2). The graph's structure is fluid; nodes can join or leave, and connections can be remapped, enabling flexible system composition. Understanding the graph is essential for diagnosing latency issues, ensuring correct topic connections, and architecting modular, scalable robotic software.

CORE MIDDLEWARE COMPARISON

ROS 1 vs. ROS 2 Graph Architecture

A technical comparison of the fundamental architectural differences in the communication graph between ROS 1 (ROS Kinetic/Melodic) and ROS 2 (Foxy/Humble/Iron).

Architectural FeatureROS 1 (Noetic)ROS 2 (Humble)

Underlying Middleware

Custom TCPROS/UDPROS

DDS Standard (RTPS)

Discovery Mechanism

Centralized Master Node

Decentralized Peer-to-Peer (via DDS)

Communication Model

Publish-Subscribe, Client-Server

Publish-Subscribe, Client-Server, Actions

Real-Time Capability

Not natively supported

Native via configurable QoS policies

Deterministic Execution

Limited

Supported via Executors & Real-Time Executors

Multi-Robot Support

Complex, requires network bridging

Native via Domain ID isolation

Network Topology

Strictly centralized for discovery

Fully decentralized, no single point of failure

Default Transport

TCP

Configurable (Shared Memory, UDP, TCP, etc.)

Lifecycle Management

Ad-hoc (nodes start/stop independently)

Managed via Lifecycle Node state machine

Security (Authentication/Encryption)

None

Native via DDS Security (SROS2)

Quality of Service (QoS) Policies

Best-effort only

Configurable (Reliability, Durability, Deadline, Liveliness)

Parameter Management

Centralized Parameter Server

Distributed, with parameter events

OPERATIONAL INSIGHTS

ROS Graph Visualization and Debugging Tools

A suite of command-line and graphical tools for inspecting, visualizing, and debugging the dynamic communication topology of a running ROS system.

ROS GRAPH

Frequently Asked Questions

The ROS Graph is the fundamental runtime communication network of a robotic system. These FAQs address its core concepts, practical management, and troubleshooting for developers.

The ROS Graph is a peer-to-peer network of computational processes (ROS Nodes) and the communication channels (Topics, Services, Actions) that connect them, representing the real-time data flow and computational topology of a running robotic system.

It is a dynamic, runtime representation of how all software components in a ROS-based robot interact. The graph is not a single file or static diagram but a living network that can be introspected using tools like rqt_graph or the command ros2 topic list. Key entities in the graph include:

  • Nodes: Executable processes that perform computation.
  • Topics: Named buses for asynchronous, many-to-many message streaming (publish/subscribe).
  • Services: Synchronous, request-response communication channels.
  • Actions: Asynchronous interfaces for long-running tasks with feedback.

The graph enables the decoupled, modular architecture central to ROS, allowing developers to build complex systems by connecting specialized, reusable nodes.

Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.