awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
ros2 avatar

ros2/ros2

0
View on GitHub↗
5,083 stars·857 forks·32 viewsdocs.ros.org↗

Ros2

ROS 2 is a distributed communication middleware for robot systems, built on a peer-to-peer Data Distribution Service (DDS) foundation. It provides a publish-subscribe messaging layer where typed data flows between decoupled components across a network, along with synchronous remote procedure calls and action-based task execution for long-running goals with periodic feedback. The framework includes an interface definition language that generates type-safe code for messages, services, and actions, ensuring cross-language compatibility, and supports fine-grained Quality of Service profiles that control reliability, durability, and delivery guarantees per data stream.

DDS-based decentralized design enables automatic discovery of nodes, topics, and services across a network without a central broker, while a lifecycle state machine manages runtime states from unconfigured through active and finalized for deterministic startup and shutdown. The action server-client protocol handles goal acceptance, cancellation, and result retrieval, and launch file configuration in XML, YAML, or JSON orchestrates multi-node systems with parameter setting and topic remapping. These capabilities distinguish ROS 2 as a self-contained middleware that handles both low-level data transport and high-level coordination patterns.

Beyond core communication, ROS 2 offers command-line tools for system inspection and management, a parameter server for runtime configuration, and facilities for launching and supervising groups of interconnected processes. Data recording and replay captures published messages to files for analysis, and graphical diagnostic tools provide visual monitoring of system state and logs. Shell environment setup makes tools and packages accessible, completing the deployment surface.

Features

  • Distributed Robot Middleware - Connects independent robot software components as a graph for typed message exchange across a network.
  • Network Service Discovery - Automatically discovers active components and their advertised interfaces on a network without manual configuration.
  • Goal-Based - Executes goal-based tasks with periodic progress feedback and preemption or cancellation support.
  • Service and Topic Discovery - Automatically discovers nodes, topics, and services across a network without a central broker.
  • Typed Pub-Sub Communication - Integrates decoupled processes that exchange typed data and call services asynchronously via pub-sub.
  • Topic and Service Schemas - Specifies typed interfaces for topics and services with structured schemas enforcing consistency and versioning.
  • Decentralized - Implements a decentralized peer-to-peer publish-subscribe messaging layer with automatic discovery and QoS.
  • Typed Topic Pub-Sub - Sends and receives typed messages between decoupled components through anonymous publish-subscribe channels.
  • Remote Procedure Calls - Provides synchronous remote procedure calls for requesting computations from other components and waiting for replies.
  • Long-Running Task Protocols - Provides a client-server protocol for long-running robot tasks with periodic feedback and cancellation.
  • Type-Safe Code Generators - Generates type-safe code for messages, services, and actions from abstract definition files.
  • Topic-Based Node Graphs - Enables independent processes to publish and subscribe to messages over named channels in a node graph.
  • Multi-Process Launch Configurations - Ships a launch file system for declaring multi-node robot systems with parameters and topic remapping.
  • Node Runtime State Machines - Manages node runtime states with explicit transitions for deterministic startup and shutdown.
  • Distributed Parameter Servers - Ships a parameter server for distributed components to set and retrieve configuration values at runtime.
  • Distributed Node Lifecycles - Launches, configures, and supervises groups of interconnected nodes from a single configuration file.
  • Data Stream - Defines fine-grained quality-of-service profiles for reliability, durability, and delivery guarantees per data stream.
  • Distributed System CLIs - Provides a command-line interface for managing distributed system components, channels, and settings.
  • Data Stream Recording and Replay - Captures published messages to files and replays them to reproduce and analyze previous system behavior.
  • Robotics Data Recording - Captures published messages to files and replays them to reproduce and analyze previous system behavior.
  • Distributed System Inspectors - Ships command-line tools for inspecting running nodes, topics, services, and parameters across a distributed system.
  • Multi-Node - Launches and supervises multiple interconnected processes from a configuration file with lifecycle monitoring.
  • Robot Frameworks - Core software stack for the Robot Operating System.
  • Documentation and Guides - Core documentation and examples for understanding system concepts.

Star history

Star history chart for ros2/ros2Star history chart for ros2/ros2

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does ros2/ros2 do?

ROS 2 is a distributed communication middleware for robot systems, built on a peer-to-peer Data Distribution Service (DDS) foundation. It provides a publish-subscribe messaging layer where typed data flows between decoupled components across a network, along with synchronous remote procedure calls and action-based task execution for long-running goals with periodic feedback. The framework includes an interface definition language that generates type-safe code for messages,…

What are the main features of ros2/ros2?

The main features of ros2/ros2 are: Distributed Robot Middleware, Network Service Discovery, Goal-Based, Service and Topic Discovery, Typed Pub-Sub Communication, Topic and Service Schemas, Decentralized, Typed Topic Pub-Sub.

Which projects share features with ros2/ros2?

Projects with overlapping indexed features include: weibocom/motan — Motan is a cross-language RPC framework and distributed service mesh designed for building high-performance… dora-rs/dora — Dora is a robotics dataflow framework and distributed orchestrator used to build and manage processing pipelines. It… realsenseai/realsense-ros — This project is a ROS2 depth camera driver that streams synchronized RGB, depth, infrared, and IMU data from Intel… markfzp/mobile-aloha — Mobile Alohas is a bimanual mobile manipulation framework designed to learn whole-body robot control. It provides an… cysharp/magiconion — MagicOnion is a .NET RPC framework used to build type-safe remote procedure call services using shared interfaces for… apache/brpc — brpc is a high-performance C++ RPC framework and network programming library designed for building distributed…

Projects sharing features with Ros2

These projects share indexed features with Ros2. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • weibocom/motanweibocom avatar

    weibocom/motan

    5,878View on GitHub↗

    Motan is a cross-language RPC framework and distributed service mesh designed for building high-performance distributed services. It functions as a networking layer that manages service discovery, request routing, and traffic distribution across server clusters. The system operates as a cross-datacenter load balancer, distributing requests across multiple clusters and data centers using weighted scheduling. It includes a service discovery registry to automatically locate and link available service instances within a distributed network environment. The framework provides capabilities for dis

    Java
    View on GitHub↗5,878
  • dora-rs/doradora-rs avatar

    dora-rs/dora

    2,929View on GitHub↗

    Dora is a robotics dataflow framework and distributed orchestrator used to build and manage processing pipelines. It enables the deployment of robotics workloads across clusters with remote node execution and provides a real-time data pipeline for predictable performance. The system is distinguished by its support for multi-language nodes written in Rust, Python, C, or C++ that interoperate within a single dataflow. It utilizes a zero-copy shared-memory transport and columnar formats to minimize latency for large payloads, and it includes bidirectional bridges to integrate with external ecosy

    Rustdataflowembodied-ailow-latency
    View on GitHub↗2,929
  • realsenseai/realsense-rosrealsenseai avatar

    realsenseai/realsense-ros

    3,365View on GitHub↗

    This project is a ROS2 depth camera driver that streams synchronized RGB, depth, infrared, and IMU data from Intel RealSense sensors as ROS2 topics. It functions as a managed camera interface using lifecycle nodes with explicit state transitions to ensure deterministic startup and shutdown within robotic systems. The driver includes an RGBD perception pipeline that aligns depth to color and generates 3D point clouds for spatial analysis. It features a depth camera calibration tool that provides ROS2 services for reading and writing on-device calibration and safety configuration parameters. T

    Python
    View on GitHub↗3,365
  • markfzp/mobile-alohaMarkFzp avatar

    MarkFzp/mobile-aloha

    4,440View on GitHub↗

    Mobile Alohas is a bimanual mobile manipulation framework designed to learn whole-body robot control. It provides an integrated imitation learning pipeline that manages the process of collecting human demonstration data and training behavior models to automate complex physical tasks. The system features a robotic teleoperation interface that maps human movements to a mobile robot with dual arms. It includes a whole-body motion dataset tool used for recording, visualizing, and replaying joint and sensor data from manipulation sessions. The framework covers several capability areas, including

    Jupyter Notebookimitation-learningrobotics
    View on GitHub↗4,440
Compare all 30 related projects→