A collection of command line interface tools for interacting with and managing ROS 2 systems.
ros2cli is the official collection of command line interface tools for ROS 2, providing a unified way to interact with robotic systems from the terminal. It allows users to inspect the ROS 2 graph, manage nodes, topics, and services, and perform system diagnostics. These tools are essential for development, debugging, and operational tasks in ROS 2 environments.
ROS 2 developers, roboticists, and system integrators who need to manage, debug, and interact with ROS 2-based robotic systems via the command line.
Developers choose ros2cli because it is the standard, officially supported CLI for ROS 2, ensuring compatibility and reliability. Its extensible design via Python entry points allows for customization and integration of project-specific tools, making it a versatile foundation for robotic system management.
ROS 2 command line interface tools
Included with every standard ROS 2 distribution, ensuring compatibility and reliability across all ROS 2 installations, as stated in the GitHub description.
Provides essential commands to inspect the ROS 2 graph, including nodes, topics, and services, which are critical for debugging and system monitoring, as highlighted in the Key Features.
Supports adding new commands and verbs using Python entry points, allowing for customization and project-specific extensions, with examples provided in the README.
Offers detailed documentation through --help flags at multiple command levels, making it easy to discover and learn without external references, as demonstrated in the Usage section.
Adding custom commands requires Python and knowledge of entry points, which can be a barrier in environments that use other programming languages or prefer minimal dependencies.
It is tightly coupled with ROS 2, so it cannot be used with other robotic frameworks or for general-purpose CLI tasks, limiting its applicability outside the ROS 2 ecosystem.
Key examples and cheatsheets are hosted externally, such as on GitHub, leading to fragmentation and inconvenience for users who need integrated resources.
Central repository for tools, tutorials, resources, and documentation for robotics simulation in Unity.
High-performance ROS2 solution for Unity3D
ROS 3D Robot Visualizer
Rosbag2 is the native recording and playback tool for ROS 2 systems, serving as the successor to the original ROS rosbag. It enables efficient capture and replay of timestamped communication data between ROS nodes, which is essential for debugging, analysis, and simulation in robotics development. ## Key Features - **Efficient Recording** — Designed to support complex robotic systems in real time with minimal overhead. - **Flexible Playback** — Replays recorded data with options for rate control, topic filtering, and service-based remote control. - **File Splitting** — Automatically splits bag files based on maximum size or duration thresholds during recording. - **Compression Support** — Offers optional compression (e.g., zstd) to reduce storage footprint. - **Snapshot Mode** — Maintains an in-memory circular buffer to capture and save data only on demand, useful for triggered events. - **QoS Overrides** — Allows custom Quality of Service profiles per topic via YAML configuration. - **Storage Plugins** — Supports multiple storage backends like MCAP and SQLite3 via a plugin architecture. - **Composable Nodes** — Recorder and player can be run as composable C++ nodes to enable intra-process communication for higher performance. ## Philosophy Rosbag2 prioritizes efficiency and flexibility, aiming to handle real-time data flows in complex robotic systems while providing a modular, plugin-based architecture for storage and serialization formats.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.