Skip to main content

The list of tools and packages for Robot Operating System development!

71
GitHub Stars
65
Curated Resources
10
Categories
4 hours ago
Last Refreshed
Best PracticesDevelopment ToolsBag filesVisualizationCode TestingSimulationHardwareWeb ToolsSecurityOther

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 →