awesome-ros-tools
github.com/oleg-shipitko/awesome-ros-tools ↗The list of tools and packages for Robot Operating System development!
Use this list with your AI agent
Add the Context Awesome MCP server to Claude, Cursor, or any MCP client, then ask:
"Show me managing (storing, organizing, searching, migrating and so on) resources from awesome-ros-tools"
Installation instructions →What's inside
Security
- alurity
a modular and composable toolbox for robot security. Featuring dozens of different robot cyber security tools, it simplifies and speeds up the cyber security research in robotics.
- ROSPenTo
ROS penetration testing tool which can send XML remote procedure calls (XMLRPC) to the ROS-Master and to ROS-Nodes.
Other
- aruco_pose
aruco_pose package consists of two nodelets:
- imagezero_transport
fast, lossless compression algorithm for 24-bit color photographic images. It compresses more than 20 times faster than PNG and decompresses about twice as fast, which means it is suitable for lossless compression of real-time camera video feeds.
- message_serialization
a header-only utility for serializing C++ structures (specifically ROS messages) into YAML-formatted and binary-formatted files that can be loaded to/from disk.
- multimaster_fkie
the ROS stack of fkie_multimaster offers a complete solution for using ROS with multicores. In addition, Node Manager with a daemon provide a GUI-based management environment that is very useful to manage ROS-launch configurations and control running nodes, also in a single-core system.
- robo-gym
an open source toolkit for distributed reinforcement learning on real and simulated robots.
- rosmon
rosmon is a drop-in replacement for the standard roslaunch tool. Rather unlike roslaunch, rosmon is focused on (remote) process monitoring.
Bag files
- bag-databaseManaging (storing, organizing, searching, migrating and so on)
web-based application that monitors a directory for ROS bag files, parses their metadata, and provides a friendly web interface for searching for bags and downloading them. Its goal is to make it easy to catalog thousands of bag files, search through them for relevant data such as topic names and message types, view information about them, and download them.
- bag_toolsExtracting data
set of useful bag processing tools (make_video from topic, change_frame_id, change_camera_info, extract_stereo_images etc.).
- batch_rosRecording/Playing
provides a framework for batch execution under ROS, to ensure a node consumes every message in a rosbag, allowing for repeatable results and ensure no message dropping. This not only allows for rigorous testing of a ROS node but also running tests on Continuous Integration (CI) based on rosbag data.
- marv-roboticsManaging (storing, organizing, searching, migrating and so on)
MARV Robotics is an extensible data management platform for robot logs. New robot logs are found by a scanner and configured nodes are run to extract, filter and process data from them. The robot logs are visualized in a web-based application that features a listing view with filters and summary, and detail views of individual log files.
- rbb_coreManaging (storing, organizing, searching, migrating and so on)
tool to index/visualize/manage rosbags on remote storage systems. Additionally it provides a web interface and framework for automated simulations.
- rosbag_compressManaging (storing, organizing, searching, migrating and so on)
a python command line tool for compression or decompression of multiple ROS bag files. This tool searchs bag files recrusively,compress or compress them at same time. It is executed in parallel process, so the task is done fastly.
Simulation
- CARLA
an open-source simulator for autonomous driving research.
- Dataset of Gazebo Worlds Models and Maps
a set of Gazebo worlds models and maps.
- Unity Robotics Hub
central repository for tools, tutorials, resources, and documentation for robotic simulation in Unity including integration with ROS.
- World Construction Tool
automatic tool for gazebo world construction: from a grayscale image to a 3d solid model.
- xmacro
looks like a simplified version of ros/xacro, it's simpler, but it works well both for urdf and sdf. In addition it's flexible, and also easy to use.
Development Tools
- catkin_tools
command line tools for working with catkin
- log_viewLogging
an ncurses text UI for viewing rosout logs. Allows to receive, filter, and navigate through all published rosout log messages from within a terminal to support debugging a robot live.
- pal_statistics
provides a way of gathering, aggregating, storing and visualizing statistics from arbitrary sources in a flexible and real-time safe way in ROS. From internal variables values to high level statistics about, but not limited to, robot performance.
- qt_metapackagesQt
contains ROS metapackages that are useful for depending on the right version of Qt depending on which distribution of ROS you are using.
- ros2-migration-tools
contains a set of tools for migrating a ROS1 package to a ROS2 package. The C++ source code migration uses libclang8 and its corresponding python bindings.
- rosautodocDocumentation
the rosautodoc project provides a python executable that can automatically generate documentation for ROS nodes that are running on the system.
Code Testing
- code_coverage
ROS package to run coverage testing.
- hypothesis-ros
data generators for Property Based Testing and Fuzzy Testing of ROS nodes (Unmantained!)
- ros1_fuzzer
Fuzzer aims to help developers and researchers to find bugs and vulnerabilities in ROS nodes by performing fuzz tests over topics that the target nodes process
- roschaos
functionality for process reliability/fault recovery testing in ROS
- Ros-Test-Example
a ROS Workspace containing an example car simulation to show GTest and Rostest.
Hardware
- DRV8825_ROS
uses an Arduino Uno Rev.3 as a ROS node to control a stepper motor by using DRV8825 motor driver.
- imu_toolsSensors
IMU-related filters and visualizers including Madgwick filter, Complementary filter and rviz IMU plugin for visualizing
- kalibrSensors
Kalibr is a toolbox that solves the following calibration problems:
- NovAtel GPS Driver
C++ ROS driver for NovAtel GPS / GNSS Receivers.
- OpenCR
Open Source Control Module for ROS. OpenCR is developed for ROS embedded systems to provide completely open-source hardware and software.
- ros_imu_covariance_calculatorSensors
ROS Package to estimate the variance of the inertial data from an IMU to be used to populate the error covariance matrix.
Visualization
- mapviz
ROS based visualization tool with a plug-in system similar to RVIZ focused on visualizing 2D data
- PlotJuggler
QT5 based application to display time series in plots, using an intuitive "drag and drop" interface It can be used either to load static data from file or connect to live streaming of data
- rosshow
Displays various sensor messages in a useful fashion using Unicode Braille art in the terminal
- rqt_multiplot_plugin
GUI rqt plugin for visualizing numeric values in multiple 2D plots using the Qwt plotting backend
- rviz_satellite
Plugin for rviz for displaying satellite maps loaded from the internet.
- webviz
Web-based application for playback and visualization of ROS bag files. This repository also contains some libraries that can be used independently to build web-based visualization tools
Showing a sample of 65 resources. View the full list on GitHub →