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.
-
Programming Languages
Categories
Sensor Processing
165
Development Environment
126
Operation System
83
Network and Middleware
82
Simultaneous Localization and Mapping
66
Simulation
64
Data Visualization and Mission Control
58
Documentation and Presentation
43
Planning and Control
41
User Interaction
41
Electronics and Mechanics
37
Datasets
32
Security
30
Communication and Coordination
24
Frameworks and Stacks
24
Localization and State Estimation
19
Requirements and Safety
16
Architecture and Design
11
Behavior and Decision
8
Prediction
2
Footnotes
2
Sub Categories
Version Control
121
Sensor and Acuator Interfaces
94
Vector Map
73
Lidar and Point Cloud Processing
72
Image Processing
48
Command Line Interface
48
Debugging and Tracing
30
Code and Run
27
Build and Deploy
25
Machine Learning
24
Lidar
23
Embedded Operation System
23
Calibration and Transformation
21
Visual
21
Controller Area Network
20
Server Infrastructure and High Performance Computing
20
Real-Time Kernel
18
Database and Record
17
Monitoring
16
Ethernet and Wireless Networking
16
Annotation
13
Graphical User Interface
13
Parallel Processing
10
RViz
9
Lint and Format
9
Point Cloud
8
Acoustic User Interface
8
Unit and Integration Test
8
Perception Pipeline
7
Template
7
Network Distributed File System
5
Radar Processing
2
Keywords
python
95
ros
90
robotics
68
deep-learning
44
machine-learning
39
computer-vision
38
slam
25
lidar
24
cpp
22
point-cloud
22
pytorch
21
ros2
20
c-plus-plus
20
linux
19
docker
19
tensorflow
18
autonomous-driving
17
reinforcement-learning
17
security
16
c
15
javascript
15
mapping
13
git
12
robot
11
terminal
11
gpu
11
semantic-segmentation
11
object-detection
11
simulation
11
segmentation
11
cli
10
go
10
localization
10
artificial-intelligence
10
cuda
10
autonomous-vehicles
10
visualization
10
3d
9
self-driving-car
9
jupyter
9
calibration
9
markdown
9
numpy
9
gazebo
8
real-time
8
simulator
8
motion-planning
8
windows
8
open-source
8
imu
8