A collection of example packages demonstrating ROS 2 concepts, features, and best practices.
ROS 2 Examples is a collection of code packages that demonstrate how to use ROS 2 (Robot Operating System 2) for building robotic applications. It provides practical implementations of ROS 2 concepts, from basic communication patterns to advanced distributed system architectures. These examples help developers understand ROS 2's capabilities and apply them to real-world robotic systems.
Robotics developers, researchers, and students who are learning ROS 2 or building robotic systems using the ROS 2 framework. It's particularly valuable for those transitioning from ROS 1 or new to robot middleware.
Developers choose ROS 2 Examples because it provides authoritative, well-documented reference implementations directly from the ROS 2 project maintainers. Unlike generic tutorials, these examples follow ROS 2 best practices and demonstrate the officially recommended approaches to common robotic programming challenges.
Example packages for ROS 2
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Examples are maintained by the ROS 2 project, ensuring they follow current development conventions and guidelines as highlighted in the README.
Provides examples in multiple programming languages like Python and C++, covering ROS 2's language-agnostic approach for diverse robotic applications.
Includes implementations of common robotic application patterns and architectures, helping developers move from theory to practice effectively.
Covers fundamentals from nodes and topics to advanced actions, serving as a practical reference for learning ROS 2 core features.
Focuses on isolated code snippets rather than full deployable systems, requiring significant integration work for real projects.
Tied to specific ROS 2 distributions; examples may break with updates or require migration, as indicated by links to rolling tutorials.
Primarily code-based with minimal theoretical background, relying on external tutorials for deeper understanding beyond snippets.