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: 2 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.
      • argoverse-api - Official GitHub repository for Argoverse dataset.
      • Objectron - A collection of short, object-centric video clips, which are accompanied by AR session metadata that includes camera poses, sparse point-clouds and characterization of the planar surfaces in the surrounding environment.
  • 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.
      • rviz stereo - 3D stereo rendering displays a different view to each eye so that the scene appears to have depth.
      • 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.
      • cros - A single thread pure C implementation of the ROS framework.
    • 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.
      • live-share - Real-time collaborative development from the comfort of your favorite tools.
    • 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.