Table of Contents
Fetching ...

HyperGraph ROS: An Open-Source Robot Operating System for Hybrid Parallel Computing based on Computational HyperGraph

Shufang Zhang, Jiazheng Wu, Jiacheng He, Kaiyi Wang, Shan An

TL;DR

The paper addresses the overhead and limitations of ROS in real-time, multi-robot settings, including scheduling gaps, serialization costs, and heavy visualization tooling. It proposes HyperGraph ROS, a lightweight open-source OS that unifies intra-, inter-, and cross-device computation as a computational hypergraph, using direct pointer passing for intra-process traffic, ZeroMQ for external links, protobuf for cross-language serialization, and Intel TBB for automated scheduling. Key contributions include a compact ~12 MB core, a distributed architecture without a central master, cross-language support, a high-performance visualization pipeline, and extensive cross-variant performance evaluations showing improved throughput and reduced cross-device latency. The approach offers practical impact for resource-constrained robots (e.g., drones, patrol robots, embedded devices) and is released under the MIT license to encourage adoption and further development.

Abstract

This paper presents HyperGraph ROS, an open-source robot operating system that unifies intra-process, inter-process, and cross-device computation into a computational hypergraph for efficient message passing and parallel execution. In order to optimize communication, HyperGraph ROS dynamically selects the optimal communication mechanism while maintaining a consistent API. For intra-process messages, Intel-TBB Flow Graph is used with C++ pointer passing, which ensures zero memory copying and instant delivery. Meanwhile, inter-process and cross-device communication seamlessly switch to ZeroMQ. When a node receives a message from any source, it is immediately activated and scheduled for parallel execution by Intel-TBB. The computational hypergraph consists of nodes represented by TBB flow graph nodes and edges formed by TBB pointer-based connections for intra-process communication, as well as ZeroMQ links for inter-process and cross-device communication. This structure enables seamless distributed parallelism. Additionally, HyperGraph ROS provides ROS-like utilities such as a parameter server, a coordinate transformation tree, and visualization tools. Evaluation in diverse robotic scenarios demonstrates significantly higher transmission and throughput efficiency compared to ROS 2. Our work is available at https://github.com/wujiazheng2020a/hyper_graph_ros.

HyperGraph ROS: An Open-Source Robot Operating System for Hybrid Parallel Computing based on Computational HyperGraph

TL;DR

The paper addresses the overhead and limitations of ROS in real-time, multi-robot settings, including scheduling gaps, serialization costs, and heavy visualization tooling. It proposes HyperGraph ROS, a lightweight open-source OS that unifies intra-, inter-, and cross-device computation as a computational hypergraph, using direct pointer passing for intra-process traffic, ZeroMQ for external links, protobuf for cross-language serialization, and Intel TBB for automated scheduling. Key contributions include a compact ~12 MB core, a distributed architecture without a central master, cross-language support, a high-performance visualization pipeline, and extensive cross-variant performance evaluations showing improved throughput and reduced cross-device latency. The approach offers practical impact for resource-constrained robots (e.g., drones, patrol robots, embedded devices) and is released under the MIT license to encourage adoption and further development.

Abstract

This paper presents HyperGraph ROS, an open-source robot operating system that unifies intra-process, inter-process, and cross-device computation into a computational hypergraph for efficient message passing and parallel execution. In order to optimize communication, HyperGraph ROS dynamically selects the optimal communication mechanism while maintaining a consistent API. For intra-process messages, Intel-TBB Flow Graph is used with C++ pointer passing, which ensures zero memory copying and instant delivery. Meanwhile, inter-process and cross-device communication seamlessly switch to ZeroMQ. When a node receives a message from any source, it is immediately activated and scheduled for parallel execution by Intel-TBB. The computational hypergraph consists of nodes represented by TBB flow graph nodes and edges formed by TBB pointer-based connections for intra-process communication, as well as ZeroMQ links for inter-process and cross-device communication. This structure enables seamless distributed parallelism. Additionally, HyperGraph ROS provides ROS-like utilities such as a parameter server, a coordinate transformation tree, and visualization tools. Evaluation in diverse robotic scenarios demonstrates significantly higher transmission and throughput efficiency compared to ROS 2. Our work is available at https://github.com/wujiazheng2020a/hyper_graph_ros.

Paper Structure

This paper contains 23 sections, 13 figures.

Figures (13)

  • Figure 1: Overview of the proposed HyperGraph. Circles represent Intel-TBB function_nodes, each executing data processing or algorithms. Solid arrows denote edges between function_nodes within a process, forming an internal computational graph. Dashed arrows represent ZeroMQ edges, connecting the internal computational graphs of each process across different robots or processes, thereby constructing an overarching HyperGraph.
  • Figure 2: Flowchart of the Communication and Parallel Computing Component. This figure illustrates the detailed process of transmitting data from Robot1 to Robot2.
  • Figure 3: Illustration of the transformation_tree. When querying the transformation matrix between the blue nodes /a6 and /a8, the algorithm first identifies their common ancestor /a1. It then computes the transformation matrices from /a6 to /a1 and from /a1 to /a8, whose product yields the transformation matrix between /a6 and /a8.
  • Figure 4: Flowchart of the Visualization Component. It illustrates the rendering and triggering logic of our UI.
  • Figure 5: Cross-Device Communication Case. The Global Optimization Node of Robot1 is deployed on Robot2 during operation, and the results are transmitted back to Robot1.
  • ...and 8 more figures