intra-process-comms

Enable zero-copy intra-process messaging for ROS 2 components.

18|2|Updated Apr 20, 2026
One-click install
npx skills add https://github.com/wimblerobotics/ros2-copilot-skills --skill intra-process-comms
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: intra-process-comms
Source: https://github.com/wimblerobotics/ros2-copilot-skills/tree/main/intra-process-comms
Command: npx skills add https://github.com/wimblerobotics/ros2-copilot-skills --skill intra-process-comms

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Intra-process communication enables zero-copy messaging between nodes in the same process, dramatically reducing latency by avoiding DDS serialization.

Core Features & Use Cases

  • Zero-copy publishing and subscription within a component container to minimize data copies.
  • Clear guidance for enabling intra-process comms in NodeOptions and in multi-node launch configurations.
  • Practical scenarios including high-throughput image streams and point cloud processing where latency is critical.

Quick Start

Enable intra-process communications by configuring NodeOptions to use_intra_process_comms in a single-container ROS 2 setup.

Frequently Asked Questions about intra-process-comms

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I enable zero-copy ROS 2 messaging within a single process?

Enable zero-copy ROS 2 messaging by setting use_intra_process_comms on all NodeOptions for publishers and subscribers running within the same component container, which avoids DDS serialization and reduces latency.

When should I use intra-process communication in ROS 2?

Use intra-process communication in ROS 2 for high-throughput pipelines such as image or point cloud processing where latency is critical, allowing nodes sharing the same process to transfer data without serialization overhead.

Does intra-process communication work with rclpy Python nodes?

Intra-process communication support is limited for Python (rclpy) nodes, making it best suited for C++ component containers where full zero-copy messaging can be enabled across the publisher and subscriber chain.

What happens if one node in the ROS 2 pipeline does not enable intra-process comms?

If any node in the ROS 2 pipeline does not opt into intra-process comms, the entire communication chain falls back to standard inter-process DDS, reintroducing serialization overhead and losing zero-copy benefits.

What ROS 2 versions support zero-copy component container communication?

Zero-copy component container communication is applicable for ROS 2 Jazzy and Rolling distributions, enabling shared-memory messaging between components to minimize data copies in high-throughput scenarios.