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.