Your first time on this page? Allow me to give some explanations.
Awesome Robotic Tooling
Tooling for professional robotic development in C++ and Python with a touch of ROS, autonomous driving and aerospace: https://freerobotics.tools/
Here you can see meta information about this topic like the time we last updated this page, the original creator of the awesome list and a link to the original GitHub repository.
Thank you protontypes & contributors
View Topic on GitHub:
protontypes/awesome-robotic-tooling
Search for resources by name or description.
Simply type in what you are looking for and the results will be filtered on the fly.
Further filter the resources on this page by type (repository/other resource), number of stars on GitHub and time of last commit in months.
Communication and Coordination
Git extensions to provide high-level repository operations for Vincent Driessen's branching model.
A Python library and application enabling translation via the DeepL translator available at deepl.com.
Docker container for Taiga https://taiga.io
Kanban project management software
Dockerized GitLab
Gogs is a painless self-hosted Git service
The Open Source kanban (built with Meteor). Keep variable/table/field names camelCase. For translations, only add Pull Request changes to wekan/i18n/en.i18n.json , other translations are done at https://transifex.com/wekan/wekan only.
Python JIRA Library is the easiest way to automate JIRA. Support for py27 was dropped on 2019-10-14, do not raise bugs related to it.
Python module for communicating with the Taiga API
Desktop client for JIRA. Track time, upload worklogs without a hassle.
Helpy is a modern, open source helpdesk customer support application. Features include knowledgebase, community discussions and support tickets integrated with email.
Free open source office suite with business productivity tools: document and project management, CRM, mail aggregator.
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.
Open source Slack-alternative in Golang and React - Mattermost
OpenProject is the leading open source project management software.
Leantime is a lean project management system for innovators. Designed to help you manage your projects from ideation to delivery.
Documentation and Presentation
Text editor - Notes & ToDo (for Android) - Markdown, todo.txt, plaintext, math, ..
Universal markup converter
🔍 Search tool typos in the text, files and websites
Official doxygen git repository
Main repository for the Sphinx documentation builder
A ruby gem to liberate content from Microsoft Word documents
Scan, index, and archive all of your paper documents
Create and share beautiful images of your source code
Terminal session recorder 📹
📽️ Create rich HTML-based presentations with Hugo and Reveal.js
This is a Hugo template to create WebSlides presentation using markdown.
Cloud Native Presentation Slides with Jupyter Notebook + Reveal.js
Terminal-based presentations using Pandoc
Automatically generate change log from your tags, issues, labels and pull requests on GitHub.
A Gitlab release note generator
OCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched
📚 Parameterize, execute, and analyze notebooks
An example documentation site using the Docsy Hugo theme
A web-based collaborative LaTeX editor
Generate HTML5 slideshows from markdown, ReST, or textile
Freely-licensed LibreOffice Impress templates
Browser-independent bookmark manager
Create PDF documents using web technologies
A personal knowledge management and sharing system for VSCode
HedgeDoc - The best platform to write and share markdown.
Build interactive, publication-quality documents from Jupyter Notebooks
Deep neural network to extract intelligent information from invoice documents.
Tesseract Open Source OCR Engine (main repository)
Project documentation with Markdown.
Latex code for making neural networks diagrams
Virtual whiteboard for sketching hand-drawn like diagrams
A simple, Git-powered wiki with a sweet API and local frontend.
A minimal Markdown editor. ![Mac OS X][macosx] ![Linux][linux] ![Windows][windows]
Inkscape is a professional vector graphics editor for Linux, Windows and macOS.
Open source cross-platform non-linear video editor. ![Open-Source Software][oss icon] ![Freeware][freeware icon]
Requirements and Safety
List of resources about programming practices for writing safety-critical software.
Open Autonomous Safety
Replacements to standard numeric types which throw exceptions on errors
Requirements management using version control.
FOSSology is an open source license compliance software system and toolkit. As a toolkit you can run license, copyright and export control scans from the command line. As a system, a database and web ui are provided to give you a compliance workflow. License, copyright and export scanners are tools used in the workflow.
The Scenario Architect provides a lightweight graphical user interface that allows a straightforward realization and manipulation of concrete driving testing scenarios. Exemplary usecases are the validation of an online verification framework or training of an prediction algorithm.
Architecture and Design
Replication package of the paper titled "How do you Architect your Robots? State of the Practice and Guidelines for ROS-based Systems" published at ICSE-SEIP 2020
Making graphs for yEd
PlantUML Online Server
An RQT plugin for hierarchical launchfile configuration introspection.
Tool to check C++ #include dependencies (dependency graphs created in .dot format)
Python Module Dependency graphs
aztarna, a footprinting tool for robots.
This unofficial extension integrates Draw.io (also known as diagrams.net) into VS Code.
Architecture decision record (ADR) examples for software planning, IT leadership, and template documentation
Online diagrams stored locally, in Google Drive, OneDrive or Dropbox. Free for all features and storage levels
Frameworks and Stacks
The Robot Operating System Version 2.0 is awesome!
openpilot is an open source driver assistance system. openpilot performs the functions of Automated Lane Centering and Adaptive Cruise Control for over 85 supported car makes and models.
An open autonomous driving platform
Python sample codes for robotics algorithms.
Stanford Code From Cars That Entered DARPA Grand Challenges
NASA Astrobee Robot Software
CARMA Platform is built on robot operating system (ROS) and utilizes open source software (OSS) that enables Cooperative Driving Automation (CDA) features to allow Automated Driving Systems to interact and cooperate with infrastructure and other vehicles through communication.
PX4 Autopilot Software
An open source platform for satellites
TUM Roborace Team Software Stack - Path tracking control, velocity control, curvature control and state estimation.
Open source self-driving software for low speed environments
A build-it-yourself, 6-wheel rover based on the rovers on Mars!
The Python Toolbox for Robotics
Makani was a project to develop a commercial-scale airborne wind turbine, culminating in a flight test of the Makani M600 off the coast of Norway. All Makani software has now been open-sourced. This repository contains the working Makani flight simulator, controller (autopilot), visualizer, and command center flight monitoring tools. Additionally, almost all avionics firmware is also included, albeit potentially not in a buildable state, due to the removal of some third-party proprietary code. We hope that this code will be inspirational and useful to the kite-based windpower and wider communities.
ROS support for the MiR100 Robot. This is a community project to use the MiR Robots with ROS. It is not affiliated with Mobile Industrial Robots.
Robotic fabrication package for the COMPAS Framework.
Learn Robotics with JdeRobot
ROS-based framework and RPi image to control PX4-powered drones 🍀
ArduPlane, ArduCopter, ArduRover source
F' - A flight software and embedded systems framework
Code and Run
Vim plugin for ROS development
Visual Studio Code
The hackable text editor
Share your workspace with team members and collaborate on code in real time in Atom
A Dockerfile generator for running OpenGL (GLX) applications with nvidia-docker2, CUDA, ROS, and Gazebo on a remote headless server system by using VirtualGL&VNC and Lubuntu Desktop
Jupyter widget helpers for ROS, the Robot Operating System
ROS Qt Creator Plug-in (https://ros-qtc-plugin.readthedocs.io)
Jupyter kernel for the C++ programming language
AI Code Completions
Awesome autocompletion, static analysis and refactoring library for python
Python ROS Bridge library
Seamless operability between C++11 and Python
Sourcetrail - free and open-source interactive source explorer
Command-line tool that instantly fetches Stack Overflow results when an exception is thrown
Real-time collaborative development from the comfort of your favorite tools
CoCalc: Collaborative Calculation in the Cloud
Robust C/C++ code completion for Sublime Text 3
Visual Studio Code extension for Robot Operating System (ROS) development
A curated list of awesome header-only C++ libraries
Gitpod automates the provisioning of ready-to-code development environments.
Template
Best practices, conventions, and tricks for ROS. Do you want to become a robotics master? Then consider graduating or working at the Robotics Systems Lab at ETH in Zürich!
A best practices Bash script template with several useful functions
A template for using VSCode as an IDE for ROS2 development.
Build and Deploy
/usr/bin/qemu-*-static
A release automation tool which makes releasing catkin (http://ros.org/wiki/catkin) packages easier.
An extended platform release manager for Robot Operating System
Command line tools for working with catkin
Easy continuous integration repository for ROS repositories
Mirror kept for legacy. Moved to https://github.com/llvm/llvm-project
Bundle python requirements in a catkin package via virtualenv
Simple Python version management
aptly - Debian repository management tool
A tool to build ROS and ROS2 workspaces for various targets
A repository to hold definitions of docker images maintained by OSRF
ROS package of helper functions related to bringing up roslaunch on system startup.
A single thread pure C implementation of the ROS framework
GitLab has integrated CI to test, build and deploy your code with the use of GitLab runners.
Unit and Integration Test
Github Action to setup ROS 2 on hosts
Googletest - Google Testing and Mocking Framework
The pytest framework makes it easy to write small tests, yet scales to support complex functional testing
The fastest feature-rich C++11/14/17/20 single-header testing framework
Common testing tools for C++ which are used for testing in various OSRF projects.
ROS package to run coverage testing
Github Action to build and test ROS 2 packages using colcon
Lint and Format
Github action to run linters on ROS 2 packages
static analysis of C/C++ code
Dockerfile linter, validate inline bash, written in Haskell
ShellCheck, a static analysis tool for shell scripts
Check catkin packages for common errors
It's not just a linter that annoys you!
The uncompromising Python code formatter
docstring style checker
H(igh) A(ssurance) ROS - Static analysis of ROS application code.
Data parsing and validation using Python type hints
Debugging and Tracing
A heap memory profiler for Linux
Trace any Python program, anywhere!
Performant type-checking for python.
Stack trace visualizer
GPU Trace Visualizer
AddressSanitizer, ThreadSanitizer, MemorySanitizer
C++ Insights - See your source code with the eyes of a compiler
Python Performance Benchmark Suite
QEMU Interactive Runtime Analyser
☕ GDBFrontend is an easy, flexible and extensionable gui debugger.
Framework to evaluate peformance of ROS2
BCC - Tools for BPF-based Linux IO analysis, networking, monitoring, and more
C++ frame profiler
High-level tracing language for Linux eBPF
Full-screen console debugger for Python
A beautiful stack trace pretty printer for C++
Modular visual interface for GDB in Python
The Linux perf GUI for performance analysis.
Monitor Memory usage of Python code
An extension for VS Code that visualizes data during debugging.
Debug your GitHub Actions via SSH by using tmate to get access to the runner system itself.
ROS 2 library providing classes to collect measurements and calculate statistics across them.
Lightweight, real-time system metrics collector for ROS2 systems
Version Control
interactive git
with the help of fzf
Read-only mirror of https://gitlab.gnome.org/GNOME/meld
Text-mode interface for git
Read-only mirror of https://gitlab.gnome.org/GNOME/gitg
git-cola: The highly caffeinated Git GUI
Python wrapper for the GitLab API
Removes large or troublesome blobs like git-filter-branch does, but faster. And written in Scala
Tools for diffing and merging of Jupyter notebooks.
Fully automated version management and package publishing
A tool for exploring each layer in a docker image
🦉Data Version Control | Git for Data & Models
An interactive git visualization to challenge and educate!
Version controlled file system
A bash-tool to store your private data inside a git repository.
A command-line tool that helps you clean up Git branches that have been merged into master.
simple terminal UI for git commands
An open-source GitLab command line tool bringing GitLab's cool features to your command line
Simulation
Model-based design and verification for robotics.
Webots Robot Simulator
A ROS/ROS2 Multi-robot Simulator for Autonomous Vehicles
Open-source simulator for autonomous driving research.
👉 CARLA resources such as tutorial, blog, code and etc https://github.com/carla-simulator/carla
ROS bridge for CARLA Simulator
Traffic scenario definition and execution engine
Deepdrive is a simulator that allows anyone with a PC to push the state-of-the-art in self-driving
Gazebo/ROS packages for underwater robotics simulation
Open source simulator for autonomous vehicles built on Unreal Engine / Unity, from Microsoft AI & Research
A self-driving car simulator built with Unity
Unreal Engine Plugin to enable ROS Support
Refer to https://github.com/AcutronicRobotics/gym-gazebo2 for the new version
A minimalist environment for decision-making in autonomous driving
Eclipse SUMO is an open source, highly portable, microscopic and continuous traffic simulation package designed to handle large networks. It allows for intermodal simulation including pedestrians and comes with a large set of tools for scenario creation.
A generic interface for the environmental perception of automated driving functions in virtual scenarios.
ESIM: an Open Event Camera Simulator
The source code for the Menge crowd simulation framework
Pedestrian simulator powered by the social force model
a basic OpenSCENARIO player
OpenSceneGraph git repository
Support for ROS-enabled RGBD data acquisition in Unreal Engine Projects
Gazebo simulator for Fetch
RotorS is a UAV gazebo simulator
Computational framework for reinforcement learning in traffic control
Open-source GNSS + inertial navigation, sensor fusion simulator. Motion trajectory generator, sensor models, and navigation
Motor simulation plugins for Gazebo - ROS
TUM Roborace Team Software Stack - Vehicle Simulation
An OpenAI gym wrapper for CARLA simulator
High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton.
Model database
Modular autonomous driving platform running on the CARLA simulator and real-world vehicles.
An Open Flexible Quadrotor Simulator
𓃡 Quadruped Robot based on MIT Cheetah I
OpenAI Gym environments for an open-source quadruped robot (SpotMicro)
Trick Simulation Environment. Trick provides a common set of simulation capabilities and utilities to build simulations automatically.
Unmanned Surface Vehicle simulation on Gazebo with water current and winds
Simulation for spacecraft attitude control system analysis and design
The Complete Street Rule for ArcGIS CityEngine is a scenario oriented design tool intended to enable users to quickly create procedural generated multimodal streets.
Generate random crop fields for Ignition Gazebo
Central repository for tools, tutorials, resources, and documentation for robotic simulation in Unity.
The open source air traffic simulator
Cloe
Electronics and Mechanics
An information model for robot hardware. Facilitates interoperability across modules from different robot manufacturers. Built around ROS 2.0
Repository for URDF parsing code
An add-on for Blender allowing to create URDF, SDF and SMURF robot models in a WYSIWYG environment.
visualize URDF/XACRO file, URDF Viewer works on Windows/MacOS/Linux
SolidWorks to URDF Exporter
This is the official source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler. Issues are managed on our own bug tracker at https://www.freecadweb.org/tracker
Convert your KiCAD board into a nice looking 2D drawing suitable for pinout diagrams
Tools made by others to augment the KiCad PCB EDA suite.
A powerful, innovative and intuitive EDA tool for everyone!
OpenSCAD - The Programmers Solid 3D CAD Modeller
GNSS-SDR, an open-source software-defined GNSS receiver
Python parser for URDFs
Simulate Functional Mockup Units (FMUs) in Python
Import and export Functional Mock-up Units with Simulink
A model generator for energy system modelling and optimisation (LP/MILP).
Here you'll find a growing collection of 3D models, textures, and images from inside NASA.
An Aircraft Design Toolbox
OPEM (Open Source PEM Fuel Cell Simulation Tool)
A set of documented functions for simulating the performance of photovoltaic energy systems.
Easily document cables and wiring harnesses
Horizon is a free EDA package
The TiGL Geometry Library to process aircraft geometries in pre-design.
Design, simulate, validate, and operate within complex systems
OpenMDAO repository.
High performance motor control
An open-source mathematical tire modelling library
OpenAeroStruct is a lightweight tool that performs aerostructural optimization using OpenMDAO.
Calibration and Transformation
A simple method for finding the extrinsic calibration between a 3D lidar and a 6-dof pose sensor
The Kalibr visual-inertial calibration toolbox
Self-Supervised Extrinsic Calibration using 3D Spatial Transformer Networks
ROS package to find a rigid-body transformation between a LiDAR and a camera for "LiDAR-Camera Calibration using 3D-3D Point correspondences"
Intensity-based_Lidar_Camera_Calibration
Automated, hardware-independent Hand-Eye Calibration
A ROS package tool to analyze the IMU performance.
IMU Allan standard deviation charts for use with Kalibr and inertial kalman filters.
A fully featured, pythonic library for representing and using quaternions
Generic calibration for robots
An Inverse Kinematics library aiming performance and modularity
Calibrate the extrinsic parameters between Livox LiDAR and camera
Light-weight camera LiDAR calibration package for ROS using OpenCV and PCL (PnP + LM optimization)
Perception Pipeline
ROS package for the Perception (Sensor Processing, Detection, Tracking and Evaluation) of the KITTI Vision Benchmark Suite
C++ implementation to Detect, track and classify multiple objects using LIDAR scans or point cloud
ROS package for dynamic obstacle avoidance for ground robots trained with deep RL
Official Code: Implicit 3D Orientation Learning for 6D Object Detection from RGB Images
JSK perception ROS packages
Gibson Environments: Real-World Perception for Embodied Agents
MoreFusion: Multi-object Reasoning for 6D Pose Estimation from Volumetric Fusion
Machine Learning
A toolkit for making real world machine learning and data analysis applications in C++
The fastai deep learning library
A Python Automated Machine Learning tool that optimizes machine learning pipelines using genetic programming.
Distributed Evolutionary Algorithms in Python
A toolkit for developing and comparing reinforcement learning algorithms.
Catkin-friendly C++ bindings for tensorflow.
A framework for implementing federated learning
Dataflow compiler for QNN inference on FPGAs
A uniform interface to run deep learning models from multiple frameworks
Go engine with no human-provided knowledge, modeled after the AlphaGo Zero paper.
Trax — Deep Learning with Clear Code and Speed
Open source platform for the machine learning lifecycle
Visualizer for neural network, deep learning, and machine learning models
MNN is a blazing fast, lightweight deep learning framework, battle-tested by business-critical use cases in Alibaba
Tensorforce: a TensorFlow library for applied reinforcement learning
Dopamine is a research framework for fast prototyping of reinforcement learning algorithms.
Accelerated deep learning R&D
An open source framework that provides a simple, universal API for building distributed applications. Ray is packaged with RLlib, a scalable reinforcement learning library, and Tune, a scalable hyperparameter tuning library.
TF-Agents is a library for Reinforcement Learning in TensorFlow
A platform for Reasoning systems (Reinforcement Learning, Contextual Bandits, etc.)
A curated list of awesome mobile machine learning resources for iOS, Android, and edge devices.
Learning Convolutional Neural Networks with Interactive Visualization.
A collection of machine-learned models for use in autonomous driving applications.
NNStreamer extension plugins for ROS support
Parallel Processing
Parallel computing with task scheduling
A NumPy-compatible array library accelerated by CUDA
The C++ parallel algorithms library.
ArrayFire: a general purpose GPU library.
VexCL is a C++ vector expression template library for OpenCL/CUDA/OpenMP
Python Productivity for ZYNQ
NumPy aware dynamic Python compiler using LLVM
TensorRT is a C++ library for high performance inference on NVIDIA GPUs and deep learning accelerators.
The C++ Standard Library for your entire system.
Set of C pragmas designed to allow for easy parallelization of code. 3-clause BSD