Awesome Open Source
Awesome Open Source

Awesome Robotic Tooling Awesome

Just a bunch of powerful robotic resources and tools for professional development in C++ or Python with a touch of autonomous driving and aerospace.

Unix philosophy - about the concept of software tooling

Communication and Coordination

  • Agile Development - Manifesto for Agile Software Development
  • 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 - Aims to build a simple, stable and extensible self-hosted Git service that can be setup in the most painless way
  • Woost - Workflow Automation, Collaboration with Externals
  • 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
  • gitlab-triage - GitLab's issues and merge requests triage, automated!
  • Helpy - is a modern, open source helpdesk customer support application
  • ONLYOFFICE - is 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
  • Gerrit - is a code review and project management tool for Git based projects
  • jitsi-meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application
  • mattermost - is an open source, private cloud, Slack-alternative
  • openproject - is the leading open source project management software
  • hackmd - Online Real-time collaborate on team documentation in markdown
  • leantime - Leantime is a lean project management system for innovators
  • buku - Browser-independent bookmark manager

Documentation and Presentation

  • Typora - A Minimalist Markdown Editor
  • Markor - A Simple Markdown Editor for your Android Device
  • Pandoc - Universal markup converter
  • Yaspeller - Command line tool for spell checking
  • ReadtheDocs - Build your local ReadtheDocs Server
  • Doxygen - Doxygen is the de facto standard tool for generating documentation from annotated C++ sources
  • Sphinx - is a tool that makes it easy to create intelligent and beautiful documentation for Python projects
  • Word-to-Markdown - A ruby gem to liberate content from Microsoft Word document
  • carbon - Share beautiful images of your source code
  • undraw - Free Professional business SVGs easy to customize
  • asciinema - lets you easily record terminal sessions and replay them in a terminal as well as in a web browser.
  • inkscape - Inkscape is a professional vector graphics editor for Linux, Windows and macOS
  • Reveal-Hugo - A Hugo theme for Reveal.js that makes authoring and customization a breeze. With it, you can turn any properly-formatted Hugo content into a HTML presentation.
  • Hugo-Webslides - This is a Hugo template to create WebSlides presentation using markdown.
  • jupyter2slides - Cloud Native Presentation Slides with Jupyter Notebook + Reveal.js
  • patat - Terminal-based presentations using Pandoc
  • github-changelog-generator - Automatically generate change log from your tags, issues, labels and pull requests on GitHub.
  • GitLab-Release-Note-Generator - A Gitlab release note generator that generates release note on latest tag
  • OCRmyPDF - adds an OCR text layer to scanned PDF files, allowing them to be searched
  • papermill - is a tool for parameterizing, executing, and analyzing Jupyter Notebooks.
  • docsy - An example documentation site using the Docsy Hugo theme
  • actions-hugo - Deploy website based on Hugo to Github Pages
  • overleaf - An open-source online real-time collaborative LaTeX editor
  • landslide - Generate HTML5 slideshows from markdown, ReST, or textile
  • libreoffice-impress-templates - Freely-licensed LibreOffice Impress templates
  • opensourcedesign - Community and Resources for Free Design and Logo Creation
  • olive - is a free non-linear video editor aiming to provide a fully-featured alternative to high-end professional video editing software

Requirements and Safety

  • awesome-safety-critical - List of resources about programming practices for writing safety-critical software.
  • open-autonomous-safety - OAS is a fully open-source library of Voyage’s safety processes and testing procedures, designed to supplement existing safety programs at self-driving car startups across the world.
  • CarND-Functional-Safety-Project - Create functional safety documents in this Udacity project
  • Automated Valet Parking Safety Documents - created to support the safe testing of the Automated Valet Parking function using the StreetDrone test vehicle in a car park.
  • safe_numerics - Replacements to standard numeric types which throw exceptions on errors
  • Air Vehicle C++ development coding standards - Provide direction and guidance to C++ programmers that will enable them to employ good programming style and proven programming practices leading to safe, reliable, testable, and maintainable code
  • AUTOSAR Coding Standard - Guidelines for the use of the C++14 language in critical and safety-related system
  • The W-Model and Lean Scaled Agility for Engineering - Ford applied an agile V-Model method from Vector that can be used in safety related project management
  • doorstep - Requirements management using version control
  • capella - Comprehensive, extensible and field-proven MBSE tool and method to successfully design systems architecture
  • robmosys - RobMoSys envisions an integrated approach built on top of the current code-centric robotic platforms, by applying model-driven methods and tools
  • Papyrus for Robotics - is graphical editing tool for robotic applications that complies with the RobMoSys approach
  • fossology - a toolkit you can run license, copyright and export control scans from the command line
  • ScenarioArchitect - The Scenario Architect is a basic python tool to generate, import and export short scene snapshots

Architecture and Design

  • Guidelines - on how to architect ROS-based systems
  • yed - yEd is a powerful desktop application that can be used to quickly and effectively generate high-quality diagrams
  • 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_graph - rqt_graph provides a GUI plugin for visualizing the ROS computation graph
  • 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.
  • draw.io - is free online diagram software for making flowcharts, process diagrams, org charts, UML, ER and network diagrams
  • vscode-drawio - This extension integrates Draw.io into VS Code

Frameworks and Stacks

  • ROS - (Robot Operating System) provides libraries and tools to help software developers create robot applications
  • awesome-ros2 - A curated list of awesome Robot Operating System Version 2.0 (ROS 2) resources and libraries.
  • OpenPilot - Open Source Adaptive Cruise Control (ACC) and Lane Keeping Assist System (LKAS)
  • Apollo - High performance, flexible architecture which accelerates the development, testing, and deployment of Autonomous Vehicles.
  • Autoware.ai - Autoware.AI is the world's first "All-in-One" open-source software for autonomous driving technology
  • AutowareAuto - It is a clean slate rewrite of Autoware. Autoware.Auto applies best-in-class software engineering.
  • PythonRobotics - This is a Python code collection of robotics algorithms, especially for autonomous navigation.
  • Stanford Self Driving Car Code - Stanford Code From Cars That Entered DARPA Grand Challenges
  • astrobee - Astrobee is a free-flying robot designed to operate as a payload inside the International Space Station (ISS).
  • CARMAPlatform - enables cooperative automated driving plug-in
  • Automotive Grade Linux - Automotive Grade Linux is a collaborative open source project that is bringing together automakers, suppliers and technology companies to accelerate the development and adoption of a fully open software stack for the connected car
  • PX4 - is an open source flight control software for drones and other unmanned vehicles
  • KubOS - is an open-source software stack for satellites.
  • mod_vehicle_dynamics_control - TUM Roborace Team Software Stack - Path tracking control, velocity control, curvature control and state estimation.
  • Aslan - Open source self-driving software for low speed environments

Development Environment

Code and Run

  • 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
  • Sublime - A sophisticated text editor for code, markup and prose
  • 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
  • xeus-cling - Jupyter kernel for the C++ programming language
  • ROS IDEs - This page collects experience and advice on using integrated development environments (IDEs) with ROS.
  • TabNine - The all-language autocompleter
  • kite - Use machine learning to give you useful code completions 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
  • mybinder - open notebooks in an executable environment, making your code immediately reproducible by anyone, anywhere.
  • ROSOnWindows - an experimental release of ROS1 for Windows
  • live-share - Real-time collaborative development from the comfort of your favorite tools
  • cocalc - Collaborative Calculation in the Cloud
  • EasyClangComplete - Robust C/C++ code completion for Sublime Text 3

Template

  • ROS - Template for ROS node standardization in C++
  • Launch - Templates on how to create launch files for larger projects
  • Bash - A bash scripting template incorporating best practices & several useful functions
  • URDF - Examples on how to create Unified Robot Description Format (URDF) for different kinds of robots
  • Python - Style guide to be followed in writing Python code for ROS
  • Docker - The Dockerfile in the minimal-ade project shows a minimal example of how to create a custom base image

Build and Deploy

  • qemu-user-static - is to enable an execution of different multi-architecture containers by QEMU and binfmt_misc
  • Cross compile ROS 2 on QNX - introduces how to cross compile ROS 2 on QNX
  • 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
  • robot_systemd - units for managing startup and shutdown of roscore and roslaunch
  • ryo-iso - is 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

Unit and Integration Test

  • setup-ros - This action sets up a ROS and ROS 2 environment for use in Github actions
  • UnitTesting - This page lays out the rationale, best practices, and policies for writing and running unit tests and integration tests for ROS.
  • googletest - Google's C++ test framework
  • pytest - The pytest framework makes it easy to write small tests, yet scales to support complex functional testing
  • doctest - The fastest feature-rich C++11/14/17/20 single-header testing framework for unit tests and TDD
  • osrf_testing_tools_cpp - contains testing tools for C++, and is used in OSRF projects.
  • code_coverage - ROS package to run coverage testing

Lint and Format

  • action-ros-lint - Github action to run linters on ROS 2 packages
  • cppcheck - Static analysis of C/C++ code
  • hadolint - Dockerfile linter, validate inline bash, written in Haskell
  • shellcheck - a static analysis tool for shell scripts
  • catkin_lint - catkin_lint checks package configurations for the catkin build system of ROS.
  • pylint - Pylint is a Python static code analysis tool which looks for programming errors, helps enforcing a coding standard, sniffs for code smells and offers simple refactoring suggestions.
  • black - The uncompromising Python code formatter
  • pydocstyle - pydocstyle is a static analysis tool for checking compliance with Python docstring conventions
  • haros - H(igh) A(ssurance) ROS - Static analysis of ROS application code.

Launch and Monitor

  • rosmon - ROS node launcher & monitoring daemon
  • multimaster_fkie - GUI-based management environment that is very useful to manage ROS-launch configurations and control running nodes

Debugging and Tracing

  • heaptrack - traces all memory allocations and annotates these events with stack traces
  • ros2_tracing - Tracing tools for ROS 2.
  • Linuxperf - Various Linux performance material
  • 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
  • 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.
  • 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.
  • lttng - is an open source software toolkit which you can use to simultaneously trace the Linux kernel, user applications, and user libraries.
  • 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.

Version Control

  • git-fuzzy - A CLI interface to git that relies heavily on fzf
  • meld - Meld is a visual diff and merge tool that helps you compare files, directories, and version controlled projects
  • tig - Text-mode interface for git
  • gitg - is a graphical user interface for git
  • git-cola - The highly caffeinated Git GUI
  • python-gitlab - is a Python package providing access to the GitLab server API.
  • bfg-repo-cleaner - Removes large or troublesome blobs like git-filter-branch does, but faster.
  • nbdime - Tools for diffing and merging of Jupyter notebooks.
  • semantic-release - Fully automated version management and package publishing
  • go-semrel-gitab - Automate version management for Gitlab
  • Git-repo - Git-Repo helps manage many Git repositories, does the uploads to revision control systems, and automates parts of the development workflow
  • dive - A tool for exploring each layer in a docker image
  • dvc - Management and versioning of datasets and machine learning models

Simulation

  • Drake - Drake aims to simulate even very complex dynamics of robots
  • Webots - Webots is an open source robot simulator compatible (among others) with ROS and ROS2.
  • lgsv - LG Electronics America R&D Center has developed an HDRP Unity-based multi-robot simulator for autonomous vehicle developers.
  • carla - Open-source simulator for autonomous driving research
  • awesome-CARLA - A curated list of awesome CARLA tutorials, blogs, and related projects.
  • scenario_runner - Traffic scenario definition and execution engine
  • deepdive - End-to-end simulation for self-driving cars
  • uuv_simulator - Gazebo/ROS packages for underwater robotics simulation
  • AirSim - Open source simulator for autonomous vehicles built on Unreal Engine
  • self-driving-car-sim - A self-driving car simulator built with Unity
  • ROSIntegration - Unreal Engine Plugin to enable ROS Support
  • gym-gazebo - An OpenAI gym extension for using Gazebo known as gym-gazebo
  • highway-env - A collection of environments for autonomous driving and tactical decision-making tasks
  • VREP Interface - ROS Bridge for the VREP simulator
  • car_demo - This is a simulation of a Prius in gazebo 9 with sensor data being published using ROS kinetic.
  • sumo - Eclipse SUMO is an open source, highly portable, microscopic and continuous road traffic simulation package designed to handle large road networks
  • open-simulation-interface - A generic interface for the environmental perception of automated driving functions in virtual scenarios.
  • ESIM - an Open Event Camera Simulator
  • Menge - Crowd Simulation Framework
  • pedsim_ros - Pedestrian simulator powered by the social force model for Gazebo
  • opencrg - open file formats and open source tools for the detailed description, creation and evaluation of road surfaces
  • esmini - is a basic OpenSCENARIO player
  • OpenSceneGraph - is an open source high performance 3D graphics toolkit, used by application developers in fields such as visual simulation, games, virtual reality, scientific visualization and modelling
  • morse - is an academic robotic simulator, based on the Blender Game Engine and the Bullet Physics engine.
  • ROSIntegrationVision - Support for ROS-enabled RGBD data acquisition in Unreal Engine Projects
  • fetch_gazebo - contains the Gazebo simulation for Fetch Robotics Fetch and Freight Research Edition Robots.
  • rotors_simulator - provides some multirotor models
  • flow - is a computational framework for deep RL and control experiments for traffic microsimulation.
  • gnss-ins-sim - GNSS + inertial navigation, sensor fusion simulator. Motion trajectory generator, sensor models, and navigation
  • Ignition Robotics - Test control strategies in safety, and take advantage of simulation in continuous integration tests.
  • simulation assets for the SubT - This collection contains simulation assets for the SubT Challenge Virtual Competition in Gazebo
  • gazebo_ros_motors - contains currently two motor plugins for Gazebo, one with an ideal speed controller and one without a controller that models a DC motor
  • map2gazebo - ROS package for creating Gazebo environments from 2D maps
  • sim_vehicle_dynamics - Vehicle Dynamics Simulation Software of TUM Roborace Team

Electronics and Mechanics

  • HRIM - An information model for robot hardware
  • URDF - Repository for Unified Robot Description Format (URDF) parsing code
  • phobos - An add-on for Blender allowing to create URDF, SDF and SMURF robot models in a WYSIWYG environment.
  • urdf-viz - Visualize URDF/XACRO file, URDF Viewer works on Windows/MacOS/Linux
  • solidworks_urdf_exporter - SolidWorks to URDF Exporter
  • FreeCAD - Your own 3D parametric modeler
  • kicad - A Cross Platform and Open Source Electronics Design Automation Suite
  • PcbDraw - Convert your KiCAD board into a nice looking 2D drawing suitable for pinout diagrams
  • PandaPower - An easy to use open source tool for power system modeling, analysis and optimization with a high degree of automation.
  • LibrePCB - A powerful, innovative and intuitive EDA tool for everyone
  • openscad - is software for creating solid 3D CAD models
  • ngspice - is the open source spice simulator for electric and electronic circuits.
  • GNSS-SDR - GNSS-SDR provides interfaces for a wide range of radio frequency front-ends and raw sample file formats, generates processing outputs in standard formats
  • riscv - The Free and Open RISC Instruction Set Architecture
  • urdfpy - is a simple and easy-to-use library for loading, manipulating, saving, and visualizing URDF files.
  • FMPy - Simulate Functional Mockup Units (FMUs) in Python
  • FMIKit-Simulink - Import and export Functional Mock-up Units with Simulink
  • oemof-solph - A modular open source framework to model energy supply systems
  • NASA-3D-Resources - Here you'll find a growing collection of 3D models, textures, and images from inside NASA.
  • SUAVE - An Aircraft Design Toolbox
  • opem - The Open-Source PEMFC Simulation Tool (OPEM) is a modeling tool for evaluating the performance of proton exchange membrane fuel cells
  • pvlib-python - is a community supported tool that provides a set of functions and classes for simulating the performance of photovoltaic energy systems
  • WireViz - is a tool for easily documenting cables, wiring harnesses and connector pinouts.

Sensor Processing

Calibration and Transformation

  • tf2 - transform library, which lets the user keep track of multiple coordinate frames over time
  • lidar_align - A simple method for finding the extrinsic calibration between a 3D lidar and a 6-dof pose sensor
  • kalibr - The Kalibr visual-inertial calibration toolbox
  • Calibnet - Self-Supervised Extrinsic Calibration using 3D Spatial Transformer Networks
  • lidar_camera_calibration - ROS package to find a rigid-body transformation between a LiDAR and a camera
  • ILCC - Reflectance Intensity Assisted Automatic and Accurate Extrinsic Calibration of 3D LiDAR
  • easy_handeye - Simple, straighforward ROS library for hand-eye calibration
  • imu_utils - A ROS package tool to analyze the IMU performance
  • kalibr_allan - IMU Allan standard deviation charts for use with Kalibr and inertial kalman filters
  • pyquaternion - is a full-featured Python module for representing and using quaternions
  • robot_calibration - This package offers calibration of a number of parameters of a robot, such as: 3D Camera intrinsics, extrinsics Joint angle offsets and robot frame offsets
  • multi_sensor_calibration - contains a calibration tool to calibrate a sensor setup consisting of lidars, radars and cameras
  • LiDARTag - A Real-Time Fiducial Tag using Point Clouds Lidar Data
  • multicam_calibration - extrinsic and intrinsic calbration of cameras
  • ikpy - An Inverse Kinematics library aiming performance and modularity
  • livox_camera_lidar_calibration - Calibrate the extrinsic parameters between Livox LiDAR and camera

Perception Pipeline

  • SARosPerceptionKitti - ROS package for the Perception (Sensor Processing, Detection, Tracking and Evaluation) of the KITTI Vision Benchmark Suite
  • multiple-object-tracking-lidar - C++ implementation to Detect, track and classify multiple objects using LIDAR scans or point cloud
  • cadrl_ros - ROS package for dynamic obstacle avoidance for ground robots trained with deep RL
  • AugmentedAutoencoder - RGB-based pipeline for object detection and 6D pose estimation
  • jsk_recognition - is a stack for the perception packages which are used in JSK lab.
  • GibsonEnv - Gibson Environments: Real-World Perception for Embodied Agents
  • morefusion - Multi-object Reasoning for 6D Pose Estimation from Volumetric Fusion

Parallel Processing

  • dask - Parallel computing with task scheduling for Python
  • cupy - NumPy-like API accelerated with CUDA
  • thrust - Thrust is a C++ parallel programming library which resembles the C++ Standard Library.
  • ArrayFire - ArrayFire: a general purpose GPU library.
  • OpenMP - OpenMP is an application programming interface that supports multi-platform shared memory multiprocessing programming in C, C++, and Fortra
  • vexcl - VexCL is a C++ vector expression template library for OpenCL/CUDA/OpenMP
  • PYNQ - is an open-source project from Xilinx that makes it easy to design embedded systems with Zynq All Programmable Systems on Chips

Machine Learning

  • DLIB - A toolkit for making real world machine learning and data analysis applications in C++
  • fastai - The fastai library simplifies training fast and accurate neural nets using modern best practices.
  • tpot - A Python Automated Machine Learning tool that optimizes machine learning pipelines using genetic programming
  • deap - Distributed Evolutionary Algorithms in Python
  • gym - A toolkit for developing and comparing reinforcement learning algorithms.
  • tensorflow_ros_cpp - A ROS package that allows to do Tensorflow inference in C++ without the need to compile TF yourself.
  • Tensorflow Federated - TensorFlow Federated (TFF) is an open-source framework for machine learning and other computations on decentralized data
  • finn - Fast, Scalable Quantized Neural Network Inference on FPGAs
  • neuropod - Neuropod is a library that provides a uniform interface to run deep learning models from multiple frameworks in C++ and Python
  • leela-zero - This is a fairly faithful reimplementation of the system described in the Alpha Go Zero paper "Mastering the Game of Go without Human Knowledge"
  • trax - Trax is a library for deep learning that focuses on sequence models and reinforcement learning
  • mlflow - is a platform to streamline machine learning development, including tracking experiments, packaging code into reproducible runs, and sharing and deploying models

Image Processing

  • image_pipeline - fills the gap between getting raw images from a camera driver and higher-level vision processing
  • gstreamer - is a pipeline-based multimedia framework that links together a wide variety of media processing systems to complete complex workflows
  • ros2_openvino_toolkit - provides a ROS-adaptered runtime framework of neural network which quickly deploys applications and solutions for vision inference
  • vision_visp - Wraps the ViSP moving edge tracker provided by the ViSP visual servoing library into a ROS package
  • apriltag_ros - A ROS wrapper of the AprilTag 3 visual fiducial detector
  • deep_object_pose - Deep Object Pose Estimation
  • DetectAndTrack - Detect-and-Track: Efficient Pose
  • SfMLearner - An unsupervised learning framework for depth and ego-motion estimation
  • imgaug - Image augmentation for machine learning experiments
  • vision_opencv - Packages for interfacing ROS with OpenCV, a library of programming functions for real time computer vision.
  • darknet_ros - YOLO ROS: Real-Time Object Detection for ROS
  • ros_ncnn - YOLACT / YOLO ( among other things ) on NCNN inference engine for ROS
  • tf-pose-estimation - Deep Pose Estimation implemented using Tensorflow with Custom Architectures for fast inference.
  • find-object - Simple Qt interface to try OpenCV implementations of SIFT, SURF, FAST, BRIEF and other feature detectors and descriptors
  • yolact - A simple, fully convolutional model for real-time instance segmentation.
  • Kimera-Semantics - Real-Time 3D Semantic Reconstruction from 2D data
  • detectron2 - is a next-generation research platform for object detection and segmentation.
  • OpenVX - enables performance and power-optimized computer vision processing, especially important in embedded and real-time use cases
  • 3d-vehicle-tracking - Official implementation of Joint Monocular 3D Vehicle Detection and Tracking
  • pysot - The goal of PySOT is to provide a high-quality, high-performance codebase for visual tracking research
  • semantic_slam - Real time semantic slam in ROS with a hand held RGB-D camera
  • kitti_scan_unfolding - We propose KITTI scan unfolding in our paper Scan-based Semantic Segmentation of LiDAR Point Clouds: An Experimental Study.
  • packnet-sfm - Official PyTorch implementation of self-supervised monocular depth estimation methods invented by the ML Team at Toyota Research Institute (TRI)
  • AB3DMOT - This work proposes a simple yet accurate real-time baseline 3D multi-object tracking system
  • lanenet-lane-detection - Unofficial implemention of lanenet model for real time lane detection using deep neural network model
  • OpenDroneMap - An open source command line toolkit for processing aerial drone imagery
  • monoloco - Official implementation of "MonoLoco: Monocular 3D Pedestrian Localization and Uncertainty Estimation" in PyTorch
  • Poly-YOLO - builds on the original ideas of YOLOv3 and removes two of its weaknesses: a large amount of rewritten labels and inefficient distribution of anchors
  • satellite-image-deep-learning - Resources for deep learning with satellite & aerial imagery
  • robosat - Semantic segmentation on aerial and satellite imagery
  • big_transfer - Model for General Visual Representation Learning created by Google Research
  • LEDNet - A Lightweight Encoder-Decoder Network for Real-time Semantic Segmentation
  • TorchSeg - This project aims at providing a fast, modular reference implementation for semantic segmentation models using PyTorch.
  • simpledet - A Simple and Versatile Framework for Object Detection and Instance Recognition

Radar Processing

  • pyroSAR - Framework for large-scale SAR satellite data processing
  • CameraRadarFusionNet - TUM Roborace Team Software Stack - Path tracking control, velocity control, curvature control and state estimation.

Lidar Processing

  • cilantro - A lean C++ library for working with point cloud data
  • open3d - Open3D: A Modern Library for 3D Data Processing
  • SqueezeSeg - Implementation of SqueezeSeg, convolutional neural networks for LiDAR point clout segmentation
  • point_cloud_io - ROS nodes to read and write point clouds from and to files (e.g. ply, vtk).
  • python-pcl - Python bindings to the pointcloud library
  • libpointmatcher - An "Iterative Closest Point" library for 2-D/3-D mapping in Robotics
  • depth_clustering - Fast and robust clustering of point clouds generated with a Velodyne sensor.
  • lidar-bonnetal - Semantic and Instance Segmentation of LiDAR point clouds for autonomous driving
  • CSF - LiDAR point cloud ground filtering / segmentation (bare earth extraction) method based on cloth simulation
  • robot_body_filter - A highly configurable LaserScan/PointCloud2 filter that allows to dynamically remove the 3D body of the robot from the measurements.
  • grid_map - Universal grid map library for mobile robotic mapping
  • elevation_mapping - Robot-centric elevation mapping for rough terrain navigation
  • rangenet_lib - contains simple usage explanations of how the RangeNet++ inference works with the TensorRT and C++ interface.
  • pointcloud_to_laserscan - Converts a 3D Point Cloud into a 2D laser scan.
  • octomap - An Efficient Probabilistic 3D Mapping Framework Based on Octrees
  • pptk - Point Processing Toolkit from HEREMaps
  • gpu-voxels - GPU-Voxels is a CUDA based library which allows high resolution volumetric collision detection between animated 3D models and live pointclouds from 3D sensors of all kinds.
  • spatio_temporal_voxel_layer - A new voxel layer leveraging modern 3D graphics tools to modernize navigation environmental representations
  • LAStools - award-winning software for efficient LiDAR processing
  • PCDet - is a general PyTorch-based codebase for 3D object detection from point cloud.
  • PDAL - is a C++ BSD library for translating and manipulating point cloud data
  • PotreeConverter - Builds a potree octree from las, laz, binary ply, xyz or ptx files.
  • fast_gicp - A collection of GICP-based fast point cloud registration algorithms
  • ndt_omp - Multi-threaded and SSE friendly NDT algorithm
  • spatio_temporal_voxel_layer - voxel layer leveraging modern 3D graphics tools to modernize navigation environmental representations
  • laser_line_extraction - A ROS packages that extracts line segments from LaserScan messages.
  • Go-ICP - Implementation of the Go-ICP algorithm for globally optimal 3D pointset registration
  • PointCNN - is a simple and general framework for feature learning from point clouds
  • segmenters_lib - The LiDAR segmenters library, for segmentation-based detection
  • MotionNet - Joint Perception and Motion Prediction for Autonomous Driving Based on Bird's Eye View Maps
  • PolarSeg - An Improved Grid Representation for Online LiDAR Point Clouds Semantic Segmentation
  • traversability_mapping - takes in point cloud from a Velodyne VLP-16 Lidar and outputs a traversability map for autonomous navigation in real-time
  • lidar_super_resolution - Simulation-based Lidar Super-resolution for Ground Vehicles
  • cupoch - Cupoch is a library that implements rapid 3D data processing and robotics computation using CUDA
  • linefit_ground_segmentation - Implementation of the ground segmentation algorithm
  • draco - Draco is a library for compressing and decompressing 3D geometric meshes and point clouds
  • votenet - Deep Hough Voting for 3D Object Detection in Point Clouds
  • Det3D - A general 3D Object Detection codebase in PyTorch
  • lidar_undistortion - provides lidar motion undistortion based on an external 6DoF pose estimation input.
  • superpoint_graph - Large-scale Point Cloud Semantic Segmentation with Superpoint Graphs
  • RandLA-Net - Efficient Semantic Segmentation of Large-Scale Point Clouds
  • Det3D - Det3D is the first 3D Object Detection toolbox which provides off the box implementations of many 3D object detection algorithms such as PointPillars, SECOND, PIXOR

Localization and State Estimation

  • evo - Python package for the evaluation of odometry and SLAM
  • robot_localization - is a package of nonlinear state estimation nodes
  • fuse - General architecture for performing sensor fusion live on a robot.
  • GeographicLib - A C++ library for geographic projections.
  • ntripbrowser - A Python API for browsing NTRIP (Networked Transport of RTCM via Internet Protocol).
  • imu_tools - IMU-related filters and visualizers.
  • RTKLIB - A version of RTKLIB optimized for single and dual frequency low cost GPS receivers, especially u-blox receivers
  • gLAB - performs precise modeling of GNSS observables (pseudorange and carrier phase) at the centimetre level, allowing standalone GPS positioning, PPP, SBAS and DGNSS
  • mola - is a Modular system for Localization and Mapping
  • ai-imu-dr - contains the code of our novel accurate method for dead reckoning of wheeled vehicles based only on an IMU
  • Kalman-and-Bayesian-Filters-in-Python - Kalman Filter book using Jupyter Notebook
  • mcl_3dl - A ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s)
  • se2lam - On-SE(2) Localization and Mapping for Ground Vehicles by Fusing Odometry and Vision
  • mmWave-localization-learning - ML-based positioning method from mmWave transmissions - with high accuracy and energy efficiency
  • python-sgp4 - computes the position and velocity of an earth-orbiting satellite, given the satellite’s TLE orbital elements from a source like Celestrak.
  • dynamic_robot_localization - is a ROS package that offers 3 DoF and 6 DoF localization using PCL and allows dynamic map update using OctoMap

Simultaneous Localization and Mapping

Lidar

  • loam_velodyne - Laser Odometry and Mapping (Loam) is a realtime method for state estimation and mapping using a 3D lidar.
  • lio-mapping - Implementation of Tightly Coupled 3D Lidar Inertial Odometry and Mapping (LIO-mapping)
  • A-LOAM - Advanced implementation of LOAM
  • floam - Fast LOAM: Fast and Optimized Lidar Odometry And Mapping
  • cartographer_ros - Provides ROS integration for Cartographer
  • loam_livox - A robust LiDAR Odometry and Mapping (LOAM) package for Livox-LiDAR
  • StaticMapping - Use LiDAR to map the static world
  • semantic_suma - Semantic Mapping using Surfel Mapping and Semantic Segmentation
  • slam_toolbox - Slam Toolbox for lifelong mapping and localization in potentially massive maps with ROS
  • maplab - An open visual-inertial mapping framework.
  • hdl_graph_slam - is an open source ROS package for real-time 6DOF SLAM using a 3D LIDAR
  • interactive_slam - In contrast to existing automatic SLAM packages, we with minimal human effort.
  • LeGO-LOAM - Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain
  • pyslam - contains a monocular Visual Odometry (VO) pipeline in Python
  • PointCNN - is a simple and general framework for feature learning from point cloud, which refreshed five benchmark records in point cloud processing
  • Kitware SLAM - LiDAR-only visual SLAM developped by Kitware, as well as ROS and ParaView wrappings for easier use.
  • horizon_highway_slam - horizon_highway_slam is a robust, low drift, and real time highway SLAM package suitable for Livox Horizon liadr

Visual

  • orb_slam_2_ros - A ROS implementation of ORB_SLAM2
  • orbslam-map-saving-extension - In this extensions the map of ORB-features be saved to the disk as a reference for future runs along the same track
  • dso - Direct Sparse Odometry
  • viso2 - A ROS wrapper for libviso2, a library for visual odometry
  • xivo - X Inertial-aided Visual Odometry
  • rovio - Robust Visual Inertial Odometry Framework
  • MIT Kimera-Semantics - C++ library for real-time metric-semantic visual-inertial Simultaneous Localization And Mapping (SLAM)
  • LSD-SLAM - LSD-SLAM: Large-Scale Direct Monocular SLAM is a real-time monocular SLAM
  • CubeSLAM and ORB SLAM - Monocular 3D Object Detection and SLAM Package of CubeSLAM and ORB SLAM
  • VINS-Fusion - A Robust and Versatile Multi-Sensor Visual-Inertial State Estimator
  • openvslam - OpenVSLAM: A Versatile Visual SLAM Framework
  • basalt - Visual-Inertial Mapping with Non-Linear Factor Recovery
  • Kimera - is a C++ library for real-time metric-semantic simultaneous localization and mapping, which uses camera images and inertial data to build a semantically annotated 3D mesh of the environment
  • tagslam - is a ROS-based package for Simultaneous Localization and Mapping using AprilTag fiducial markers
  • LARVIO - A lightweight, accurate and robust monocular visual inertial odometry based on Multi-State Constraint Kalman Filter.
  • fiducials - Simultaneous localization and mapping using fiducial markers.

Vector Map

  • OpenDRIVE - OpenDRIVE® is an open file format for the logical description of road networks
  • MapsModelsImporter - A Blender add-on to import models from google maps
  • Lanelet2 - Map handling framework for automated driving
  • barefoot - Online and Offline map matching that can be used stand-alone and in the cloud
  • iD - The easy-to-use OpenStreetMap editor in JavaScript
  • RapiD - an enhanced version of iD for mapping with AI created by Facebook
  • segmap - A map representation based on 3D segments
  • Mapbox - is a JavaScript library for interactive, customizable vector maps on the web
  • osrm-backend - Open Source Routing Machine - C++ backend
  • robosat - Semantic segmentation on aerial and satellite imagery. Extracts features such as: buildings, parking lots, roads, water, clouds
  • assuremapingtools - Desktop based tool for viewing, editing and saving road network maps for autonomous vehicle platforms such as Autoware.
  • geopandas - is a project to add support for geographic data to pandas objects.
  • MapToolbox - Plugins to make Autoware vector maps in Unity
  • imagery-index - An index of aerial and satellite imagery useful for mapping
  • mapillary_tools - is a library for processing and uploading images to Mapillary.

Prediction

Behavior and Decision

  • 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
  • FlexBE - Graphical editor for hierarchical state machines, based on ROS's smach.
  • 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
  • SMACC - An Event-Driven, Asynchronous, Behavioral State Machine Library for real-time ROS (Robotic Operating System) applications written in C++
  • py_trees_ros - Behaviours, trees and utilities that extend py_trees for use with ROS.

Planning and Control

  • pacmod - is designed to allow the user to control a vehicle with the PACMod drive-by-wire system.
  • mpcc - Model Predictive Contouring Controller for Autonomous Racing
  • rrt - C++ RRT (Rapidly-exploring Random Tree) implementation
  • HypridAStarTrailer - A path planning algorithm based on Hybrid A* for trailer truck.
  • path_planner - Hybrid A* Path Planner for the KTH Research Concept Vehicle
  • open_street_map - ROS packages for working with Open Street Map geographic information.
  • Open Source Car Control - is an assemblage of software and hardware designs that enable computer control of modern cars in order to facilitate the development of autonomous vehicle technology
  • fastrack - A ROS implementation of Fast and Safe Tracking (FaSTrack).
  • commonroad - Composable benchmarks for motion planning on roads
  • traffic-editor - A graphical editor for robot traffic flows.
  • steering_functions - contains a C++ library that implements steering functions for car-like robots with limited turning radius
  • moveit - Easy-to-use robotics manipulation platform for developing applications, evaluating designs, and building integrated products
  • flexible-collision-library - is a library for performing three types of proximity queries on a pair of geometric models composed of triangles.
  • aikido - Artificial Intelligence for Kinematics, Dynamics, and Optimization
  • casADi - is a symbolic framework for numeric optimization implementing automatic differentiation in forward and reverse modes on sparse matrix-valued computational graphs
  • ACADO Toolkit - is a software environment and algorithm collection for automatic control and dynamic optimization
  • control-toolbox - an efficient C++ library for control, estimation, optimization and motion planning in robotics
  • CrowdNav - Crowd-aware Robot Navigation with Attention-based Deep Reinforcement Learning
  • ompl - consists of many state-of-the-art sampling-based motion planning algorithms.
  • openrave - Open Robotics Automation Virtual Environment: An environment for testing, developing, and deploying robotics motion planning algorithms.
  • teb_local_planner - An optimal trajectory planner considering distinctive topologies for mobile robots based on Timed-Elastic-Bands
  • pinocchio - A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
  • control-toolbox - an efficient C++ library for control, estimation, optimization and motion planning in robotics.
  • rmf_core - The rmf_core packages provide the centralized functions of the Robotics Middleware Framework (RMF)
  • OpEn - is a solver for Fast & Accurate Embedded Optimization for next-generation Robotics and Autonomous Systems
  • autogenu-jupyter - This project provides the continuation/GMRES method (C/GMRES method) based solvers for nonlinear model predictive control (NMPC) and an automatic code generator for NMPC
  • global_racetrajectory_optimization - This repository contains multiple approaches for generating global racetrajectories.

User Interaction

Graphical User Interface

  • imgui - is designed to enable fast iterations and to empower programmers to create content creation tools and visualization / debug tools
  • qtpy - Provides an uniform layer to support PyQt5, PySide2, PyQt4 and PySide with a single codebase
  • mir - Mir is set of libraries for building Wayland based shells
  • rqt - rqt is a Qt-based framework for GUI development for ROS. It consists of three parts/metapackages
  • cage - This is Cage, a Wayland kiosk. A kiosk runs a single, maximized application.
  • chilipie - Easy-to-use Raspberry Pi image for booting directly into full-screen Chrome
  • pencil - A tool for making diagrams and GUI prototyping that everyone can use.
  • dynamic_reconfigure - The focus of dynamic_reconfigure is on providing a standard way to expose a subset of a node's parameters to external reconfiguration
  • ddynamic_reconfigure - allows modifying parameters of a ROS node using the dynamic_reconfigure framework without having to write cfg files
  • elements - is a lightweight, fine-grained, resolution independent, modular GUI library

Acoustic User Interface

  • pyo - is a Python module written in C containing classes for a wide variety of audio signal processing types
  • rhasspy - Rhasspy (pronounced RAH-SPEE) is an offline, multilingual voice assistant toolkit inspired by Jasper that works well with Home Assistant, Hass.io, and Node-RED
  • mycroft-core - Mycroft is a hackable open source voice assistant

Command Line Interface

  • the-art-of-command-line - Master the command line, in one page
  • dotfiles of cornerman - Powerful zsh and vim dotfiles
  • dotbot - A tool that bootstraps your dotfiles
  • prompt-hjem - A beautiful zsh prompt
  • ag - A code-searching tool similar to ack, but faster.
  • fzf - A command-line fuzzy finder
  • pkgtop - Interactive package manager and resource monitor designed for the GNU/Linux.
  • asciimatics - A cross platform package to do curses-like operations, plus higher level APIs and widgets to create text UIs and ASCII art animations
  • gocui - Minimalist Go package aimed at creating Console User Interfaces.
  • TerminalImageViewer- Small C++ program to display images in a (modern) terminal using RGB ANSI codes and unicode block graphics characters
  • rosshow - Visualize ROS topics inside a terminal with Unicode/ASCII art
  • python-prompt-toolkit - Library for building powerful interactive command line applications in Python
  • bash-script-template - A best practices Bash script template with several useful functions
  • guake - Drop-down terminal for GNOME
  • wemux - Multi-User Tmux Made Easy
  • tmuxp - tmux session manager built on libtmux
  • mapscii - World map renderer for your console
  • terminator - The goal of this project is to produce a useful tool for arranging terminals
  • bat - A cat(1) clone with wings.
  • fx - Command-line tool and terminal JSON viewer

Data Visualization and Mission Control

  • xdot - Interactive viewer for graphs written in Graphviz's dot language
  • guacamole - clientless remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH
  • 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.
  • rqt_bag - provides a GUI plugin for displaying and replaying ROS bag files.
  • 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 - 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
  • 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.
  • 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

Annotation

  • rviz_cloud_annotation - Point cloud annotation tool based on RViz
  • PixelAnnotationTool - Annotate quickly images
  • LabelImg - LabelImg is a graphical image annotation tool and label object bounding boxes in images
  • cvat - Powerful and efficient Computer Vision Annotation Tool (CVAT)
  • point_labeler - Tool for labeling of a single point clouds or a stream of point clouds
  • label-studio - Label Studio is a multi-type data labeling and annotation tool with standardized output format
  • 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)

Point Cloud

  • CloudCompare - CloudCompare is a 3D point cloud (and triangular mesh) processing software.
  • Potree - WebGL point cloud viewer for large datasets
  • point_cloud_viewer - makes viewing massive point clouds easy and convenient
  • ParaView - VTK-based Data Analysis and Visualization Application
  • entwine - is a data organization library for massive point clouds, designed to conquer datasets of trillions of points as well as desktop-scale point clouds.
  • polyscope - A C++ & Python viewer for 3D data like meshes and point clouds

RViz

  • mapviz - Modular ROS visualization tool for 2D data.
  • rviz_cinematographer - Easy to use tools to create and edit trajectories for the rviz camera.
  • rviz_satellite - Display internet satellite imagery in RViz
  • rviz_visual_tools - C++ API wrapper for displaying shapes and meshes in Rviz
  • xpp - visualization of motion-plans for legged robots
  • rviz stereo - 3D stereo rendering displays a different view to each eye so that the scene appears to have depth
  • jsk_visualization - jsk visualization ros packages for rviz and rqt

Operation System

Monitoring

  • lnav - is an enhanced log file viewer that takes advantage of any semantic information that can be gleaned from the files being viewed, such as timestamps and log levels
  • htop - htop is an interactive text-mode process viewer for Unix systems. It aims to be a better 'top'.
  • atop - System and process monitor for Linux with logging and replay function
  • psutil - Cross-platform lib for process and system monitoring in Python
  • gputil - A Python module for getting the GPU status from NVIDA GPUs using nvidia-smi programmically in Python
  • gpustat - A simple command-line utility for querying and monitoring GPU status
  • nvtop - NVIDIA GPUs htop like monitoring tool
  • spdlog - Very fast, header-only/compiled, C++ logging library
  • ctop - Top-like interface for container metrics
  • ntop - Web-based Traffic and Security Network Traffic Monitoring
  • jupyterlab-nvdashboard - A JupyterLab extension for displaying dashboards of GPU usage

Database and Record

  • ncdu - Ncdu is a disk usage analyzer with an ncurses interface
  • borg - Deduplicating archiver with compression and authenticated encryption
  • bag-database - A server that catalogs bag files and provides a web-based UI for accessing them
  • marv-robotics - MARV Robotics is a powerful and extensible data management platform
  • kitti2bag - Convert KITTI dataset to ROS bag file the easy way!
  • pykitti - Python tools for working with KITTI data
  • rosbag_editor - Create a rosbag from a given one, using a simple GUI
  • nextcloud - Nextcloud is a suite of client-server software for creating and using file hosting services.
  • ros_type_introspection - Deserialize ROS messages that are unknown at compilation time
  • syncthing - is a continuous file synchronization program
  • rqt_bag_exporter - Qt GUI to export ROS bag topics to files (CSV and/or video)
  • xviz - A protocol for real-time transfer and visualization of autonomy data
  • kitti_to_rosbag - dataset tools for working with the KITTI dataset raw data and converting it to a ROS bag. Also allows a library for direct access to poses, velodyne scans, and images.
  • ros_numpy - Tools for converting ROS messages to and from numpy arrays
  • kitti_ros - A ROS-based player to replay KiTTI dataset
  • duckdb - DuckDB is an embeddable SQL OLAP Database Management System

Network Distributed File System

  • sshfs - File system based on the SSH File Transfer Protocol
  • moosefs - a scalable distributed storage system
  • ceph - is a distributed object, block, and file storage platform
  • nfs - is a distributed file system protocol originally developed by Sun Microsystems

Server Infrastructure

  • mass - Self-service, remote installation of Windows, CentOS, ESXi and Ubuntu on real servers turns your data centre into a bare metal cloud.
  • polyaxon - A platform for reproducing and managing the whole life cycle of machine learning and deep learning applications.
  • localstack - A fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline
  • nvidia-docker - Build and run Docker containers leveraging NVIDIA GPUs
  • kubeflow - Machine Learning Toolkit for Kubernetes
  • log-pilot - Collect logs for docker containers
  • traefik - The Cloud Native Edge Router
  • graylog2-server - Free and open source log management
  • ansible - Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy
  • pyinfra - It can be used for ad-hoc command execution, service deployment, configuration management and more
  • docker-py - A Python library for the Docker Engine API
  • noVNC - VNC client using HTML5
  • Slurm - Slurm: A Highly Scalable Workload Manager
  • jupyterhub - Multi-user server for Jupyter notebooks
  • Portainer - Making Docker management easy
  • enroot - A simple, yet powerful tool to turn traditional container/OS images into unprivileged sandboxes.
  • docker-firefox - Run a Docker Container with Firefox and noVNC for remote access to headless servers

Embedded Operation System

  • awesome-embedded-linux - A curated list of awesome Embedded Linux resources
  • vxworks7-ros2-build - Build system to automate the build of VxWorks 7 and ROS2
  • Yocto - Produce tools and processes that enable the creation of Linux distributions for embedded software that are independent of the underlying architecture of the embedded hardware
  • Automotive Graded Linux - is a collaborative open source project that is bringing together automakers, suppliers and technology companies to build a Linux-based, open software platform for automotive applications that can serve as the de facto industry standard
  • ROSBerryPI - Installing ROS Kinetic on the Raspberry Pi
  • bitbake - is a generic task execution engine that allows shell and Python tasks to be run efficiently and in parallel while working within complex inter-task dependency constraints.
  • Jailhouse - Jailhouse is a partitioning Hypervisor based on Linux
  • Xen - is an open-source (GPL) type-1 or baremetal hypervisor
  • QEMU - is a generic and open source machine emulator and virtualizer
  • qemu-xilinx - A fork of Quick EMUlator (QEMU) with improved support and modelling for the Xilinx platforms
  • rosserial - A ROS client library for small, embedded devices, such as Arduino
  • meta-ros - OpenEmbedded Layer for ROS Applications
  • meta-balena - Run Docker containers on embedded devices
  • micro-ros - The major changes compared to "regular" ROS 2 is that micro-ROS uses a Real-Time Operating System (RTOS) instead of Linux, and DDS for eXtremely Resource Constrained Environments
  • nvidia-container-runtime - NVIDIA Container Runtime is a GPU aware container runtime, compatible with the Open Containers Initiative (OCI) specification used by Docker, CRI-O, and other popular container technologie
  • fusesoc - Package manager and build abstraction tool for FPGA/ASIC development
  • jetson_easy - Automatically script to setup and configure your NVIDIA Jetson
  • docker-jetpack-sdk - allows for usage of the NVIDIA JetPack SDK within a docker container for download, flashing, and install
  • Pressed - provides a way to set answers to questions asked during the installation process of debian, without having to manually enter the answers while the installation is running
  • jetson_stats - is a package to monitoring and control your NVIDIA Jetson [Xavier NX, Nano, AGX Xavier, TX1, TX2] Works with all NVIDIA Jetson ecosystem.

Real-Time Kernel

  • ELISA - Project is to make it easier for companies to build and certify Linux-based safety-critical applications – systems whose failure could result in loss of human life, significant property damage or environmental damage
  • PREEMPT_RT kernel patch - Aim of the PREEMPT_RT kernel patch is to minimize the amount of kernel code that is non-preemptible

Network and Middleware

  • Tesla-API - provides functionality to monitor and control the Model S (and future Tesla vehicles) remotely
  • pyshark - Python wrapper for tshark, allowing python packet parsing using wireshark dissectors
  • pingtop - Ping multiple servers and show results in a top-like terminal UI
  • termshark - A terminal UI for tshark, inspired by Wireshark
  • nethogs - It groups bandwidth by process
  • canmatrix - Converting CAN Database Formats .arxml .dbc .dbf .kcd
  • performance_test - Tool to test the performance of pub/sub based communication frameworks.
  • realtime_support - Minimal real-time testing utility for measuring jitter and latency.
  • tcpreplay - Pcap editing and replay tools
  • iperf - A TCP, UDP, and SCTP network bandwidth measurement tool
  • can-utils - Linux-CAN / SocketCAN user space applications
  • ros_canopen - CANopen driver framework for ROS
  • decanstructor - The definitive ROS CAN analysis tool
  • ros1_bridge - ROS 2 package that provides bidirectional communication between ROS 1 and ROS 2
  • Fast-RTPS - protocol, which provides publisher-subscriber communications over unreliable transports such as UDP, as defined and maintained by the Object Management Group (OMG) consortium
  • ptpd - PTP daemon (PTPd) is an implementation the Precision Time Protocol (PTP) version 2 as defined by 'IEEE Std 1588-2008'. PTP provides precise time coordination of Ethernet LAN connected computers
  • wireless - Making info about wireless networks available to ROS.
  • wavemon - is an ncurses-based monitoring application for wireless network devices
  • protobuf - Google's data interchange format
  • CANdevStudio - CANdevStudio aims to be cost-effective replacement for CAN simulation software. It can work with variety of CAN hardware interfaces
  • opensplice - Vortex OpenSplice Community Edition
  • ros_ethercat - This is a reimplementation of the main loop of pr2_ethercat without dependencies on PR2 software
  • cyclonedds - Eclipse Cyclone DDS is a very performant and robust open-source DDS implementation
  • udpreplay - Replay UDP packets from a pcap file
  • iceoryx - an IPC middleware for POSIX-based systems
  • cantools - CAN BUS tools in Python 3
  • libuavcan - is an open lightweight protocol designed for reliable communication in aerospace and robotic applications over robust vehicular networks such as CAN bus.
  • opendbc - The project to democratize access to the decoder ring of your car.
  • cabana - CAN visualizer and DBC maker
  • rdbox - RDBOX is a IT infrastructure for ROS robots
  • CANopenNode - is the internationally standardized (EN 50325-4) (CiA301) CAN-based higher-layer protocol for embedded control system.
  • uds-c - Unified Diagnostics Service (UDS) and OBD-II (On Board Diagnostics for Vehicles) C Library
  • python-can - The can package provides controller area network support for Python developers
  • autosar - A set of python modules for working with AUTOSAR XML files
  • python-udsoncan - Python implementation of UDS (ISO-14229) standard
  • airalab - AIRA is reference Robonomics network client for ROS-enabled cyber-physical systems.
  • rosbridge_suite - provides a JSON interface to ROS, allowing any client to send JSON to publish or subscribe to ROS topics, call ROS services, and more
  • netplan - simply create a YAML description of the required network interfaces and what each should be configured to do
  • ros2arduino - This library helps the Arduino board communicate with the ROS2 using XRCE-DDS.

Security

  • launch_ros_sandbox - can define launch files running nodes in restrained environments, such as Docker containers or separate user accounts with limited privileges
  • wolfssl - is a small, fast, portable implementation of TLS/SSL for embedded devices to the cloud
  • CANalyzat0r - Security analysis toolkit for proprietary car protocols
  • RSF - Robot Security Framework (RSF) is a standardized methodology to perform security assessments in robotics
  • How-to-Secure-A-Linux-Server - An evolving how-to guide for securing a Linux server.
  • lynis - Security auditing tool for Linux, macOS, and UNIX-based systems. Assists with compliance testing (HIPAA/ISO27001/PCI DSS) and system hardening
  • OpenVPN - is an open source VPN daemon
  • openfortivpn - openfortivpn is a client for PPP+SSL VPN tunnel services and compatible with Fortinet VPNs
  • WireGuard - WireGuard is a novel VPN that runs inside the Linux Kernel and utilizes state-of-the-art cryptography
  • ssh-auditor - Scans for weak ssh passwords on your network
  • vulscan - Advanced vulnerability scanning with Nmap NSE
  • nmap-vulners - NSE script based on Vulners.com API
  • brutespray - Automatically attempts default creds on found services.
  • fail2ban - Daemon to ban hosts that cause multiple authentication errors
  • DependencyCheck - is a software composition analysis utility that detects publicly disclosed vulnerabilities in application dependencies
  • firejail - Firejail is a SUID sandbox program that reduces the risk of security breaches by restricting the running environment of untrusted applications using Linux namespaces, seccomp-bpf and Linux capabilities
  • RVD - Robot Vulnerability Database. Community-contributed archive of robot vulnerabilities and weaknesses
  • ros2_dds_security - adding security enhancements by defining a Service Plugin Interface (SPI) architecture, a set of builtin implementations of the SPIs, and the security model enforced by the SPIs
  • Security-Enhanced Linux - is a Linux kernel security module that provides a mechanism for supporting access control security policies, including mandatory access controls (MAC)
  • OpenTitan - will make the silicon Root of Trust design and implementation more transparent, trustworthy, and secure for enterprises, platform providers, and chip manufacturers. OpenTitan is administered by lowRISC CIC as a collaborative project to produce high quality, open IP for instantiation as a full-featured product
  • bandit - is a tool designed to find common security issues in Python code.
  • hardening - A quick way to make a Ubuntu server a bit more secure.
  • gopass - is a password manager for the command line written in Go
  • pass - the standard unix password manager
  • vault - Vault is a tool for securely accessing secrets. A secret is anything that you want to tightly control access to, such as API keys, passwords, certificates, and more
  • legion - is an open source, easy-to-use, super-extensible and semi-automated network penetration testing framework that aids in discovery, reconnaissance and exploitation of information systems

Datasets

  • 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.
  • 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 - DBNet: A Large-Scale Dataset for Driving Behavior Learning
  • argoverse-api - Official GitHub repository for Argoverse dataset
  • DDAD - is 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.
  • argoverse-api - Official GitHub repository for Argoverse dataset
  • 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
  • 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
  • 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
Alternatives To Awesome Robotic Tooling
Select To Compare


Alternative Project Comparisons
Related Awesome Lists
Top Programming Languages

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Python (888,878
C Plus Plus (257,777
Machine Learning (40,833
Robot (17,110
Awesome List (13,877
Ros (10,027
Gitlab (5,610
Robotics (5,570
Jira (3,609
Autonomous (2,348
Agile (1,995
Point Cloud (1,819
Kanban (1,164
Self Driving Car (851
Autonomous Driving (595
Ros2 (555
Aerospace (86
Rosbag (61