An open API service indexing awesome lists of open source software.

awesome-robotic-tooling

Tooling for professional robotic development in C++ and Python with a touch of ROS, autonomous driving and aerospace.
https://github.com/Ly0n/awesome-robotic-tooling

Last synced: 13 days ago
JSON representation

Architecture and Design

  • Guidelines - How to architect ROS-based systems.
  • yEd - A powerful desktop application that can be used to quickly and effectively generate high-quality diagrams.
  • rqt_graph - Provides a GUI plugin for visualizing the ROS computation graph.
  • yed_py - Generates graphML that can be opened in yEd.
  • Plantuml - Web application to generate UML diagrams on-the-fly in your live documentation.
  • rqt_launchtree - An RQT plugin for hierarchical launchfile configuration introspection.
  • cpp-dependencies - Tool to check C++ #include dependencies (dependency graphs created in .dot format).
  • pydeps - Python Module Dependency graphs.
  • aztarna - A footprinting tool for robots.
  • vscode-drawio - This extension integrates Draw.io into VS Code.
  • Architecture_Decision_Record - A document that captures an important architectural decision made along with its context and consequences.

Behavior and Decision

Vector Map

  • FlexBE - Graphical editor for hierarchical state machines, based on ROS's smach.
  • Groot - Graphical Editor to create BehaviorTrees. Compliant with BehaviorTree.CPP.
  • BehaviorTree.CPP - Behavior Trees Library in C++.
  • RAFCON - Uses hierarchical state machines, featuring concurrent state execution, to represent robot programs.
  • ROSPlan - Generic framework for task planning in a ROS system.
  • ad-rss-lib - Library implementing the Responsibility Sensitive Safety model (RSS) for Autonomous Vehicles.
  • sts_bt_library - This library provides the functionality to set up your own behavior tree logic by using the defined tree structures like Fallback, Sequence or Parallel Nodes.
  • py_trees_ros - Behaviours, trees and utilities that extend py_trees for use with ROS.

Communication and Coordination

  • Agile Development - Manifesto for Agile Software Development.
  • Gerrit - A code review and project management tool for Git based projects.
  • gitlab-triage - Gitlab's issues and merge requests triage, automated.
  • gitter - Gitter is a chat and networking platform that helps to manage, grow and connect communities through messaging, content and discovery.
  • Gitflow - Makes parallel development very easy, by isolating new development from finished work.
  • DeepL - An online translator that outperforms Google, Microsoft and Facebook.
  • Taiga - Agile Projectmanagment Tool.
  • Kanboard - Minimalistic Kanban Board.
  • kanban - Free, open source, self-hosted, Kanban board for GitLab issues.
  • Gitlab - Simple Selfhosted Gitlab Server with Docker.
  • Gogs - Build a simple, stable and extensible self-hosted Git service that can be setup in the most painless way.
  • Wekan - Meteor based Kanban Board.
  • JIRA API - Python Library for REST API of Jira.
  • Taiga API - Python Library for REST API of Taiga.
  • Chronos-Timetracker - Desktop client for JIRA. Track time, upload worklogs without a hassle.
  • Grge - Grge is a daemon and command line utility augmenting GitLab.
  • Helpy - A modern, open source helpdesk customer support application.
  • ONLYOFFICE - A free open source collaborative system developed to manage documents, projects, customer relationship and email correspondence, all in one place.
  • discourse - A platform for community discussion. Free, open, simple.
  • jitsi-meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.
  • openproject - The leading open source project management software.
  • leantime - Leantime is a lean project management system for innovators.
  • mattermost - An open source, private cloud, Slack-alternative.
  • Gerrit - A code review and project management tool for Git based projects.

Datasets

Sensor and Acuator Interfaces

  • Ford Autonomous Vehicle Dataset - Ford presents a challenging multi-agent seasonal dataset collected by a fleet of Ford autonomous vehicles at different days and times.
  • adas-dataset-form - Thermal Dataset for Algorithm Training.
  • h3d - The H3D is a large scale full-surround 3D multi-object detection and tracking dataset from Honda.
  • Mapillary Vistas Dataset - A diverse street-level imagery dataset with pixel‑accurate and instance‑specific human annotations for understanding street scenes around the world.
  • TensorFlow Datasets - TensorFlow Datasets provides many public datasets as tf.data.Datasets.
  • Lyft Level 5 Dataset - Level 5 is developing a self-driving system for the Lyft network. We're collecting and processing data from our autonomous fleet and sharing it with you.
  • UTD19 - Largest multi-city traffic dataset publically available.
  • ASTYX HIRES2019 DATASET - Automotive Radar Dataset for Deep Learning Based 3D Object Detection.
  • ONCE dataset - A large-scale autonomous driving dataset with 2D&3D object annotations.
  • Papers With Code - Thousands of machine learning datasets provided by Papers With Code.
  • KITTI-360 - This large-scale dataset contains 320k images and 100k laser scans in a driving distance of 73.7km.
  • waymo_ros - This is a ROS package to connect Waymo open dataset to ROS.
  • waymo-open-dataset - The Waymo Open Dataset is comprised of high-resolution sensor data collected by Waymo self-driving cars in a wide variety of conditions.
  • awesome-robotics-datasets - A collection of useful datasets for robotics and computer vision.
  • nuscenes-devkit - The devkit of the nuScenes dataset.
  • dataset-api - This is a repo of toolkit for ApolloScape Dataset, CVPR 2019 Workshop on Autonomous Driving Challenge and ECCV 2018 challenge.
  • utbm_robocar_dataset - EU Long-term Dataset with Multiple Sensors for Autonomous Driving.
  • DBNet - A Large-Scale Dataset for Driving Behavior Learning.
  • argoverse-api - Official GitHub repository for Argoverse dataset.
  • DDAD - A new autonomous driving benchmark from TRI (Toyota Research Institute) for long range (up to 250m) and dense depth estimation in challenging and diverse urban conditions.
  • pandaset-devkit - Public large-scale dataset for autonomous driving provided by Hesai & Scale.
  • a2d2_to_ros - Utilities for converting A2D2 data sets to ROS bags.
  • awesome-satellite-imagery-datasets - List of satellite image training datasets with annotations for computer vision and deep learning.
  • sentinelsat - Search and download Copernicus Sentinel satellite images.
  • racetrack-database - Contains center lines (x- and y-coordinates), track widths and race lines for over 20 race tracks (mainly F1 and DTM) all over the world.
  • BlenderProc - A procedural Blender pipeline for photorealistic training image generation.
  • Atlatec Sample Map Data - 3D map for autonomous driving and simulation created from nothing but two cameras and GPS in downtown San Francisco.
  • holicity - A City-Scale Data Platform for Learning Holistic 3D Structures.
  • ASTYX HIRES2019 DATASET - Automotive Radar Dataset for Deep Learning Based 3D Object Detection.
  • adas-dataset-form - Thermal Dataset for Algorithm Training.

Data Visualization and Mission Control

Annotation

  • labelbox - The fastest way to annotate data to build and ship artificial intelligence applications.
  • PixelAnnotationTool - Annotate quickly images.
  • point_labeler - Tool for labeling of a single point clouds or a stream of point clouds.
  • napari - A fast, interactive, multi-dimensional image viewer for python.
  • semantic-segmentation-editor - A web based labeling tool for creating AI training data sets (2D and 3D).
  • 3d-bat - 3D Bounding Box Annotation Tool for Point cloud and Image Labeling.
  • labelme - Image Polygonal Annotation with Python (polygon, rectangle, circle, line, point and image-level flag annotation).
  • universal-data-tool - Collaborate & label any type of data, images, text, or documents, in an easy web interface or desktop app.
  • BMW-Labeltool-Lite - Provides you with a easy to use labeling tool for State-of-the-art Deep Learning training purposes.
  • 3d-annotation-tool - Lightweight tool to annotate point clouds with bounding boxes, rectangles, keypoints and more.
  • LabelImg - A graphical image annotation tool and label object bounding boxes in images.
  • cvat - Powerful and efficient Computer Vision Annotation Tool (CVAT).
  • label-studio - Label Studio is a multi-type data labeling and annotation tool with standardized output format.

Command Line Interface

  • guacamole - Clientless remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH.
  • rqt_bag - Provides a GUI plugin for displaying and replaying ROS bag files.
  • octave - Provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab.
  • K3D-tools - Jupyter notebook extension for 3D visualization.
  • xdot - Interactive viewer for graphs written in Graphviz's dot language.
  • ros3djs - 3D Visualization Library for use with the ROS JavaScript Libraries.
  • webviz - Web-based visualization libraries like rviz.
  • plotly.py - An open-source, interactive graphing library for Python.
  • PlotJuggler - The timeseries visualization tool that you deserve.
  • bokeh - Interactive Data Visualization in the browser, from Python.
  • voila - From Jupyter notebooks to standalone web applications and dashboards.
  • Pangolin - Pangolin is a lightweight portable rapid development library for managing OpenGL display / interaction and abstracting video input.
  • kepler.gl - Kepler.gl is a powerful open source geospatial analysis tool for large-scale data sets.
  • qgis_ros - Access bagged and live topic data in a highly featured GIS environment.
  • openmct - A web based mission control framework.
  • web_video_server - HTTP Streaming of ROS Image Topics in Multiple Formats.
  • RVizWeb - Provides a convenient way of building and launching a web application with features similar to RViz.
  • marvros - MAVLink to ROS gateway with proxy for Ground Control Station.
  • streetscape.gl - Streetscape.gl is a toolkit for visualizing autonomous and robotics data in the XVIZ protocol.
  • urdf-loaders - URDF Loaders for Unity and THREE.js with example ATHLETE URDF File.
  • obs-studio - Free and open source software for live streaming and screen recording.
  • PyQtGraph - Fast data visualization and GUI tools for scientific / engineering applications.
  • Foxglove Studio - Web and desktop app for robotics visualization and debugging; actively maintained fork of webviz.
  • ROS-Mobile - Visualization and controlling application for Android.
  • octave - Provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab.
  • ipygany - 3-D Scientific Visualization in the Jupyter Notebook.
  • streetscape.gl - Streetscape.gl is a toolkit for visualizing autonomous and robotics data in the XVIZ protocol.
  • rqt_bag - Provides a GUI plugin for displaying and replaying ROS bag files.

Point Cloud

  • CloudCompare - CloudCompare is a 3D point cloud (and triangular mesh) processing software.
  • Potree - WebGL point cloud viewer for large datasets.
  • LidarView - Performs real-time visualization and easy processing of live captured 3D LiDAR data from Lidar sensors.
  • VeloView - Performs real-time visualization of live captured 3D LiDAR data from Velodyne's HDL sensors.
  • polyscope - A C++ & Python viewer for 3D data like meshes and point clouds.
  • Pcx - Point cloud importer & renderer for Unity.
  • ImmersivePoints - A web-application for virtual reality devices to explore 3D data in the most natural way possible.
  • entwine - A data organization library for massive point clouds, designed to conquer datasets of trillions of points as well as desktop-scale point clouds.

RViz

  • rviz stereo - 3D stereo rendering displays a different view to each eye so that the scene appears to have depth.
  • mapviz - Modular ROS visualization tool for 2D data.
  • rviz_cinematographer - Easy to use tools to create and edit trajectories for the rviz camera.
  • rviz_visual_tools - C++ API wrapper for displaying shapes and meshes in Rviz.
  • xpp - Visualization of motion-plans for legged robots.
  • jsk_visualization - Jsk visualization ros packages for rviz and rqt.
  • moveit_visual_tools - Helper functions for displaying and debugging MoveIt! data in Rviz via published markers.

Development Environment

Build and Deploy

  • Cross compile ROS 2 on QNX - Introduces how to cross compile ROS 2 on QNX.
  • robot_systemd - Units for managing startup and shutdown of roscore and roslaunch.
  • ryo-iso - A modern ISO builder that streamlines the process of deploying a complete robot operating system from a yaml config file.
  • network_autoconfig - Automatic configuration of ROS networking for most use cases without impacting usage that require manual configuration.
  • rosbuild - The ROS build farm.
  • qemu-user-static - Enable an execution of different multi-architecture containers by QEMU and binfmt_misc.
  • bloom - A release automation tool which makes releasing catkin packages easier.
  • superflore - An extended platform release manager for Robot Operating System.
  • catkin_tools - Command line tools for working with catkin.
  • industrial_ci - Easy continuous integration repository for ROS repositories.
  • ros_gitlab_ci - Contains helper scripts and instructions on how to use Continuous Integration (CI) for ROS projects hosted on a GitLab instance.
  • gitlab-runner - Runs tests and sends the results to GitLab.
  • colcon-core - Command line tool to improve the workflow of building, testing and using multiple software packages.
  • gitlab-release - Simple python3 script to upload files (from ci) to the current projects release (tag).
  • clang - This is a compiler front-end for the C family of languages (C, C++, Objective-C, and Objective-C++) which is built as part of the LLVM compiler infrastructure project.
  • catkin_virtualenv - Bundle python requirements in a catkin package via virtualenv.
  • pyenv - Simple Python version management.
  • aptly - Debian repository management tool.
  • cross_compile - Assets used for ROS2 cross-compilation.
  • docker_images - Official Docker images maintained by OSRF on ROS(2) and Gazebo.
  • robot_upstart - Presents a suite of scripts to assist with launching background ROS processes on Ubuntu Linux PCs.
  • cros - A single thread pure C implementation of the ROS framework.
  • robot_systemd - Units for managing startup and shutdown of roscore and roslaunch.
  • network_autoconfig - Automatic configuration of ROS networking for most use cases without impacting usage that require manual configuration.

Code and Run

  • Sublime - A sophisticated text editor for code, markup and prose.
  • ROS IDEs - This page collects experience and advice on using integrated development environments (IDEs) with ROS.
  • mybinder - Open notebooks in an executable environment, making your code immediately reproducible by anyone, anywhere.
  • Vim-ros - Vim plugin for ROS development.
  • Visual Studio Code - Code editor for edit-build-debug cycle.
  • atom - Hackable text editor for the 21st century.
  • Teletype - Share your workspace with team members and collaborate on code in real time in Atom.
  • ade-cli - The ADE Development Environment (ADE) uses docker and Gitlab to manage environments of per project development tools and optional volume images.
  • recipe-wizard - A Dockerfile generator for running OpenGL (GLX) applications with nvidia-docker2, CUDA, ROS, and Gazebo on a remote headless server system.
  • Jupyter ROS - Jupyter widget helpers for ROS, the Robot Operating System.
  • ros_rqt_plugin - The ROS Qt Creator Plug-in for Python.
  • jedi - Autocompletion and static analysis library for python.
  • roslibpy - Python ROS Bridge library allows to use Python and IronPython to interact with ROS, the open-source robotic middleware.
  • pybind11 - Seamless operability between C++11 and Python.
  • Sourcetrail - Free and open-source cross-platform source explorer.
  • rebound - Command-line tool that instantly fetches Stack Overflow results when an exception is thrown.
  • ROSOnWindows - An experimental release of ROS1 for Windows.
  • cocalc - Collaborative Calculation in the Cloud.
  • EasyClangComplete - Robust C/C++ code completion for Sublime Text 3.
  • vscode-ros - Visual Studio Code extension for Robot Operating System (ROS) development.
  • awesome-hpp - A curated list of awesome header-only C++ libraries.
  • Gitpod - An open source developer platform that automates the provisioning of ready-to-code development environments.
  • xeus-cling - Jupyter kernel for the C++ programming language.
  • kite - Use machine learning to give you useful code completions for Python.
  • ROS IDEs - This page collects experience and advice on using integrated development environments (IDEs) with ROS.
  • TabNine - The all-language autocompleter.

Debugging and Tracing

  • Linuxperf - Various Linux performance material.
  • inspect - The inspect module provides functions for learning about live objects, including modules, classes, instances, functions, and methods.
  • Roslaunch Nodes in Valgrind or GDB - When debugging roscpp nodes that you are launching with roslaunch, you may wish to launch the node in a debugging program like gdb or valgrind instead.
  • lttng - An open source software toolkit which you can use to simultaneously trace the Linux kernel, user applications, and user libraries.
  • heaptrack - Traces all memory allocations and annotates these events with stack traces.
  • ros2_tracing - Tracing tools for ROS 2.
  • lptrace - It lets you see in real-time what functions a Python program is running.
  • pyre-check - Performant type-checking for python.
  • FlameGraph - Visualize profiled code.
  • gpuvis - GPU Trace Visualizer.
  • sanitizer - AddressSanitizer, ThreadSanitizer, MemorySanitizer.
  • cppinsights - C++ Insights - See your source code with the eyes of a compiler.
  • pyperformance - Python Performance Benchmark Suite.
  • qira - QIRA is a competitor to strace and gdb.
  • gdb-frontend - GDBFrontend is an easy, flexible and extensionable gui debugger.
  • ros2-performance - Allows to easily create arbitrary ROS2 systems and then measures their performance.
  • bcc - Tools for BPF-based Linux IO analysis, networking, monitoring, and more.
  • tracy - A real time, nanosecond resolution, remote telemetry frame profiler for games and other applications.
  • pudb - Full-screen console debugger for Python.
  • backward-cpp - A beautiful stack trace pretty printer for C++.
  • gdb-dashboard - GDB dashboard is a standalone .gdbinit file written using the Python API that enables a modular interface showing relevant information about the program being debugged.