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: 1 day ago
JSON representation
-
Frameworks and Stacks
- awesome-ros2 - A curated list of awesome Robot Operating System Version 2.0 (ROS 2) resources and libraries.
- ROS - (Robot Operating System) provides libraries and tools to help software developers create robot applications.
- Autoware.Auto - Autoware.Auto applies best-in-class software engineering for autonomous driving.
- Autoware.ai - Autoware.AI is the world's first "All-in-One" open-source software for autonomous driving technology.
- 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.
- OpenPilot - Open Source Adaptive Cruise Control (ACC) and Lane Keeping Assist System (LKAS).
- ArduPilot - Open source control software for autonomous vehicles - copters/planes/rovers/boats/submersibles.
- Apollo - High performance, flexible architecture which accelerates the development, testing, and deployment of Autonomous Vehicles.
- open-source-rover - A build-it-yourself, 6-wheel rover based on the rovers on Mars from JPL.
- Aslan - Open source self-driving software for low speed environments.
- F Prime - A component-driven framework that enables rapid development and deployment of spaceflight and other embedded software applications.
- KubOS - An open-source software stack for satellites.
- astrobee - Astrobee is a free-flying robot designed to operate as a payload inside the International Space Station (ISS).
- makani - Contains the working Makani flight simulator, controller (autopilot), visualizer, and command center flight monitoring tools.
- mod_vehicle_dynamics_control - TUM Roborace Team Software Stack - Path tracking control, velocity control, curvature control and state estimation.
- pybotics - An open-source and peer-reviewed Python toolbox for robot kinematics and calibration.
- mir_robot - This is a community project to use the MiR Robots with ROS.
- COMPAS - Robotic fabrication package for the COMPAS Framework.
- JdeRobot Academy - JdeRobot Academy is an open source collection of exercises to learn robotics in a practical way.
- clover - ROS-based framework and RPi image to control PX4-powered drones.
- Stanford Self Driving Car Code - Stanford Code From Cars That Entered DARPA Grand Challenges.
- PX4 - An open source flight control software for drones and other unmanned vehicles.
-
Documentation and Presentation
- inkscape - Inkscape is a professional vector graphics editor for Linux, Windows and macOS.
- Typora - A Minimalist Markdown Editor.
- undraw - Free Professional business SVGs easy to customize.
- actions-hugo - Deploy website based on Hugo to GitHub Pages.
- opensourcedesign - Community and Resources for Free Design and Logo Creation.
- olive - A free non-linear video editor aiming to provide a fully-featured alternative to high-end professional video editing software.
- swiftlatex - A WYSIWYG Browser-based LaTeX Editor.
- SVGrepo - Download free SVG Vectors for commercial use.
- carbon - Share beautiful images of your source code.
- buku - Browser-independent bookmark manager.
- paperless - Index and archive all of your scanned paper documents.
- Doxygen - Doxygen is the de facto standard tool for generating documentation from annotated C++ sources.
- docsy - An example documentation site using the Docsy Hugo theme.
- Pandoc - Universal markup converter.
- github-changelog-generator - Automatically generate change log from your tags, issues, labels and pull requests on GitHub.
- Excalidraw - Virtual whiteboard for sketching hand-drawn like diagrams.
- tesseract - Open Source OCR Engine.
- patat - Terminal-based presentations using Pandoc.
- ReLaXed - Allows complex PDF layouts to be defined with CSS and JavaScript, while writing the content in a friendly, minimal syntax close to Markdown or LaTeX.
- Zotero - A free, easy-to-use tool to help you collect, organize, cite, and share your research sources.
- asciinema - Lets you easily record terminal sessions and replay them in a terminal as well as in a web browser.
- foam - Foam is a personal knowledge management and sharing system inspired by Roam Research, built on Visual Studio Code and GitHub.
- Markor - A Simple Markdown Editor for your Android Device.
- overleaf - An open-source online real-time collaborative LaTeX editor.
- gollum - A simple, Git-powered wiki with a sweet API and local frontend.
- papermill - A tool for parameterizing, executing, and analyzing Jupyter Notebooks.
- jupyter2slides - Cloud Native Presentation Slides with Jupyter Notebook + Reveal.js.
- Word-to-Markdown - A ruby gem to liberate content from Microsoft Word document.
- InvoiceNet - Deep neural network to extract intelligent information from invoice documents.
- landslide - Generate HTML5 slideshows from markdown, ReST, or textile.
- PlotNeuralNet - Latex code for drawing neural networks for reports and presentation.
- Yaspeller - Command line tool for spell checking.
- Hugo-Webslides - This is a Hugo template to create WebSlides presentation using markdown.
- GitLab-Release-Note-Generator - A Gitlab release note generator that generates release note on latest tag.
- libreoffice-impress-templates - Freely-licensed LibreOffice Impress templates.
- GanttLab - The easy to use, fully functional Gantt chart for GitLab and GitHub.
- Sphinx - A tool that makes it easy to create intelligent and beautiful documentation for Python projects.
- mkdocs - A fast, simple and downright gorgeous static site generator that's geared towards building project documentation.
- OCRmyPDF - Adds an OCR text layer to scanned PDF files, allowing them to be searched.
- 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.
- actions-hugo - Deploy website based on Hugo to GitHub Pages.
- CodiMD - Open Source Online Real-time collaborate on team documentation in markdown.
- jupyter-book - Build interactive, publication-quality documents from Jupyter Notebooks.
-
Development Environment
-
Code and Run
- mybinder - Open notebooks in an executable environment, making your code immediately reproducible by anyone, anywhere.
- 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.
- atom - Hackable text editor for the 21st century.
- awesome-hpp - A curated list of awesome header-only C++ libraries.
- Visual Studio Code - Code editor for edit-build-debug cycle.
- Gitpod - An open source developer platform that automates the provisioning of ready-to-code development environments.
- pybind11 - Seamless operability between C++11 and Python.
- Sourcetrail - Free and open-source cross-platform source explorer.
- jedi - Autocompletion and static analysis library for python.
- cocalc - Collaborative Calculation in the Cloud.
- EasyClangComplete - Robust C/C++ code completion for Sublime Text 3.
- rebound - Command-line tool that instantly fetches Stack Overflow results when an exception is thrown.
- Teletype - Share your workspace with team members and collaborate on code in real time in Atom.
- Vim-ros - Vim plugin for ROS development.
- 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.
- roslibpy - Python ROS Bridge library allows to use Python and IronPython to interact with ROS, the open-source robotic middleware.
- ROSOnWindows - An experimental release of ROS1 for Windows.
- vscode-ros - Visual Studio Code extension for Robot Operating System (ROS) development.
- kite - Use machine learning to give you useful code completions 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.
-
Template
- ROS - Template for ROS node standardization in C++.
- Launch - Templates on how to create launch files for larger projects.
- 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.
- Bash - A bash scripting template incorporating best practices & several useful functions.
- VS Code ROS2 Workspace Template - Template for using VSCode as an IDE for ROS2 development.
-
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.
- pyenv - Simple Python version management.
- gitlab-runner - Runs tests and sends the results to GitLab.
- 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.
- docker_images - Official Docker images maintained by OSRF on ROS(2) and Gazebo.
- cross_compile - Assets used for ROS2 cross-compilation.
- qemu-user-static - Enable an execution of different multi-architecture containers by QEMU and binfmt_misc.
- aptly - Debian repository management tool.
- 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.
- 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).
- catkin_virtualenv - Bundle python requirements in a catkin package via virtualenv.
- 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.
-
Unit and Integration Test
- 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.
- code_coverage - ROS package to run coverage testing.
- osrf_testing_tools_cpp - Contains testing tools for C++, and is used in OSRF projects.
- setup-ros - This action sets up a ROS and ROS 2 environment for use in GitHub actions.
- action-ros-ci - GitHub Action to build and test ROS 2 packages using colcon.
- 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.
-
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.
- sanitizer - AddressSanitizer, ThreadSanitizer, MemorySanitizer.
- FlameGraph - Visualize profiled code.
- pudb - Full-screen console debugger for Python.
- backward-cpp - A beautiful stack trace pretty printer for C++.
- bcc - Tools for BPF-based Linux IO analysis, networking, monitoring, and more.
- hotspot - The Linux perf GUI for performance analysis.
- gdb-dashboard - GDB dashboard is a standalone .gdbinit file written using the Python API that enables a modular interface showing relevant information about the program being debugged.
- cppinsights - C++ Insights - See your source code with the eyes of a compiler.
- qira - QIRA is a competitor to strace and gdb.
- gdb-frontend - GDBFrontend is an easy, flexible and extensionable gui debugger.
- memory_profiler - A python module for monitoring memory consumption of a process as well as line-by-line analysis of memory consumption for python programs.
- pyre-check - Performant type-checking for python.
- action-tmate - Debug your GitHub Actions via SSH by using tmate to get access to the runner system itself.
- vscode-debug-visualizer - An extension for VS Code that visualizes data during debugging.
- tracy - A real time, nanosecond resolution, remote telemetry frame profiler for games and other applications.
- lptrace - It lets you see in real-time what functions a Python program is running.
- pyperformance - Python Performance Benchmark Suite.
- gpuvis - GPU Trace Visualizer.
- heaptrack - Traces all memory allocations and annotates these events with stack traces.
- ros1_fuzzer - This fuzzer aims to help developers and researchers to find bugs and vulnerabilities in ROS nodes by performing fuzz tests over topics that the target nodes process.
- ros2_tracing - Tracing tools for ROS 2.
- ros2-performance - Allows to easily create arbitrary ROS2 systems and then measures their performance.
- libstatistics_collector - ROS 2 library providing classes to collect measurements and calculate statistics across them.
- system_metrics_collector - Lightweight, real-time system metrics collector for ROS2 systems.
- bpftrace - High-level tracing language for Linux eBPF.
-
Version Control
- Git-repo - Git-Repo helps manage many Git repositories, does the uploads to revision control systems, and automates parts of the development workflow.
- tig - Text-mode interface for git.
- lazygit - A simple terminal UI for git commands, written in Go with the gocui library.
- semantic-release - Fully automated version management and package publishing.
- learnGitBranching - A git repository visualizer, sandbox, and a series of educational tutorials and challenges.
- git-fuzzy - A CLI interface to git that relies heavily on fzf.
- git-secret - Encrypts files with permitted users' public keys, allowing users you trust to access encrypted data using pgp and their secret keys.
- dive - A tool for exploring each layer in a docker image.
- bfg-repo-cleaner - Removes large or troublesome blobs like git-filter-branch does, but faster.
- python-gitlab - A Python package providing access to the GitLab server API.
- git-cola - The highly caffeinated Git GUI.
- glab - An open-source GitLab command line tool.
- git-sweep - A command-line tool that helps you clean up Git branches that have been merged into master.
- meld - Meld is a visual diff and merge tool that helps you compare files, directories, and version controlled projects.
- nbdime - Tools for diffing and merging of Jupyter notebooks.
- gitg - A graphical user interface for git.
- go-semrel-gitab - Automate version management for Gitlab.
- gitfs - You can mount a remote repository's branch locally, and any subsequent changes made to the files will be automatically committed to the remote.
- dvc - Management and versioning of datasets and machine learning models.
- Git-repo - Git-Repo helps manage many Git repositories, does the uploads to revision control systems, and automates parts of the development workflow.
-
Lint and Format
- black - The uncompromising Python code formatter.
- shellcheck - A static analysis tool for shell scripts.
- hadolint - Dockerfile linter, validate inline bash, written in Haskell.
- cppcheck - Static analysis of C/C++ code.
- pydocstyle - A static analysis tool for checking compliance with Python docstring conventions.
- catkin_lint - Checks package configurations for the catkin build system of ROS.
- haros - Static analysis of ROS application code.
- action-ros-lint - GitHub action to run linters on ROS 2 packages.
- pydantic - Data parsing and validation using Python type hints.
-
-
Sensor Processing
-
Image Processing
- gstreamer - A pipeline-based multimedia framework that links together a wide variety of media processing systems to complete complex workflows.
- OpenVX - Enables performance and power-optimized computer vision processing, especially important in embedded and real-time use cases.
- EasyOCR - Ready-to-use Optical character recognition (OCR) with 40+ languages supported including Chinese, Japanese, Korean and Thai.
- Simd - C++ image processing and machine learning library with using of SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX-512, VMX(Altivec) and VSX(Power7), NEON for ARM.
- opendatacam - Only saves surveyed meta-data, in particular the path an object moved or number of counted objects at a certain point.
- SfMLearner - An unsupervised learning framework for depth and ego-motion estimation.
- vision_opencv - Packages for interfacing ROS with OpenCV, a library of programming functions for real time computer vision.
- libvips - A fast image processing library with low memory needs.
- darknet_ros - YOLO ROS: Real-Time Object Detection for ROS.
- detectron2 - A next-generation research platform for object detection and segmentation.
- pytracking - A general python framework for visual object tracking and video object segmentation, based on PyTorch.
- yolact - A simple, fully convolutional model for real-time instance segmentation.
- pysot - The goal of PySOT is to provide a high-quality, high-performance codebase for visual tracking research.
- AB3DMOT - This work proposes a simple yet accurate real-time baseline 3D multi-object tracking system.
- 3d-vehicle-tracking - Official implementation of Joint Monocular 3D Vehicle Detection and Tracking.
- flownet2-pytorch - Pytorch implementation of FlowNet 2.0: Evolution of Optical Flow Estimation with Deep Networks.
- Cam2BEV - TensorFlow Implementation for Computing a Semantically Segmented Bird's Eye View (BEV) Image Given the Images of Multiple Vehicle-Mounted Cameras.
- ros_ncnn - YOLACT / YOLO *( among other things )* on NCNN inference engine for ROS.
- meshroom - Meshroom is a free, open-source 3D Reconstruction Software based on the AliceVision Photogrammetric Computer Vision framework.
- fawkes - Privacy preserving tool against facial recognition systems.
- AliceVision - A Photogrammetric Computer Vision Framework which provides a 3D Reconstruction and Camera Tracking algorithms.
- CV-pretrained-model - A collection of computer vision pre-trained models.
- imgaug - Image augmentation for machine learning experiments.
- deep_object_pose - Deep Object Pose Estimation.
- satpy - A python library for reading and manipulating meteorological remote sensing data and writing it to various image and data file formats.
- robosat - Semantic segmentation on aerial and satellite imagery.
- eo-learn - A collection of open source Python packages that have been developed to seamlessly access and process spatio-temporal image sequences acquired by any satellite fleet in a timely and automatic manner.
- big_transfer - Model for General Visual Representation Learning created by Google Research.
- 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.
- DetectAndTrack - Detect-and-Track: Efficient Pose.
- find-object - Simple Qt interface to try OpenCV implementations of SIFT, SURF, FAST, BRIEF and other feature detectors and descriptors.
- Kimera-Semantics - Real-Time 3D Semantic Reconstruction from 2D data.
- ros_deep_learning - Deep learning inference nodes for ROS with support for NVIDIA Jetson TX1/TX2/Xavier and TensorRT.
- image_pipeline - Fills the gap between getting raw images from a camera driver and higher-level vision processing.
- 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).
- 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.
- 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.
- hyperpose - HyperPose: A Flexible Library for Real-time Human Pose Estimation.
- anonymizer - An anonymizer to obfuscate faces and license plates.
- satellite-image-deep-learning - Resources for deep learning with satellite & aerial imagery.
- TorchSeg - This project aims at providing a fast, modular reference implementation for semantic segmentation models using PyTorch.
- tf-pose-estimation - Deep Pose Estimation implemented using Tensorflow with Custom Architectures for fast inference.
-
Parallel Processing
- OpenMP - An application programming interface that supports multi-platform shared memory multiprocessing programming in C, C++, and Fortran.
- dask - Parallel computing with task scheduling for Python.
- numba - NumPy aware dynamic Python compiler using LLVM.
- VexCL - VexCL is a C++ vector expression template library for OpenCL/CUDA/OpenMP.
- ArrayFire - A general purpose GPU library.
- TensorRT - A C++ library for high performance inference on NVIDIA GPUs and deep learning accelerators.
- cupy - NumPy-like API accelerated with CUDA.
- libcudacxx - Provides a heterogeneous implementation of the C++ Standard Library that can be used in and between CPU and GPU code.
- PYNQ - An open-source project from Xilinx that makes it easy to design embedded systems with Zynq All Programmable Systems on Chips.
- Thrust - A C++ parallel programming library which resembles the C++ Standard Library.
-
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.
- imu_utils - A ROS package tool to analyze the IMU performance.
- LiDARTag - A Real-Time Fiducial Tag using Point Clouds Lidar Data.
- kalibr - The Kalibr visual-inertial calibration toolbox.
- lidar_camera_calibration - ROS package to find a rigid-body transformation between a LiDAR and a camera.
- livox_camera_lidar_calibration - Calibrate the extrinsic parameters between Livox LiDAR and camera.
- lidar_camera_calibration - Camera LiDAR Calibration using ROS, OpenCV, and PCL.
- ILCC - Reflectance Intensity Assisted Automatic and Accurate Extrinsic Calibration of 3D LiDAR.
- Calibnet - Self-Supervised Extrinsic Calibration using 3D Spatial Transformer Networks.
- easy_handeye - Simple, straighforward ROS library for hand-eye calibration.
- kalibr_allan - IMU Allan standard deviation charts for use with Kalibr and inertial kalman filters.
- pyquaternion - A full-featured Python module for representing and using quaternions.
- TriP - A Inverse Kinematics library for serial robots, parallel robots and hybrids of both.
- multicam_calibration - Extrinsic and intrinsic calbration of cameras.
- ikpy - An Inverse Kinematics library aiming performance and modularity.
- e2calib - Contains code that implements video reconstruction from event data for calibration.
-
Lidar and Point Cloud Processing
- 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.
- pptk - Point Processing Toolkit from HEREMaps.
- CamVox - A low-cost SLAM system based on camera and Livox lidar.
- ndt_omp - Multi-threaded and SSE friendly NDT algorithm.
- Go-ICP - Implementation of the Go-ICP algorithm for globally optimal 3D pointset registration.
- rangenet_lib - Contains simple usage explanations of how the RangeNet++ inference works with the TensorRT and C++ interface.
- grid_map - Universal grid map library for mobile robotic mapping.
- pointcloud_to_laserscan - Converts a 3D Point Cloud into a 2D laser scan.
- Cupoch - A library that implements rapid 3D data processing and robotics computation using CUDA.
- LAStools - Award-winning software for efficient LiDAR processing.
- cilantro - A lean C++ library for working with point cloud data.
- PDAL - A C++ BSD library for translating and manipulating point cloud data.
- CSF - LiDAR point cloud ground filtering / segmentation (bare earth extraction) method based on cloth simulation.
- depth_clustering - Fast and robust clustering of point clouds generated with a Velodyne sensor.
- linefit_ground_segmentation - Implementation of the ground segmentation algorithm.
- urban_road_filter - Real-time LIDAR-based Urban Road and Sidewalk detection for Autonomous Vehicles.
- octomap - An Efficient Probabilistic 3D Mapping Framework Based on Octrees.
- Draco - A library for compressing and decompressing 3D geometric meshes and point clouds.
- python-pcl - Python bindings to the pointcloud library.
- MotionNet - Joint Perception and Motion Prediction for Autonomous Driving Based on Bird's Eye View Maps.
- OverlapNet - A modified Siamese Network that predicts the overlap and relative yaw angle of a pair of range images generated by 3D LiDAR scans.
- SalsaNext - Uncertainty-aware Semantic Segmentation of LiDAR Point Clouds for Autonomous Driving.
- SA-SSD - Structure Aware Single-stage 3D Object Detection from Point Cloud.
- lidar-bonnetal - Semantic and Instance Segmentation of LiDAR point clouds for autonomous driving.
- mmdetection3d - Next-generation platform for general 3D object detection.
- OpenPCDet - A Toolbox for LiDAR-based 3D Object Detection.
- PolarSeg - An Improved Grid Representation for Online LiDAR Point Clouds Semantic Segmentation.
- Votenet - Deep Hough Voting for 3D Object Detection in Point Clouds.
- RandLA-Net - Efficient Semantic Segmentation of Large-Scale Point Clouds.
- PointCNN - A simple and general framework for feature learning from point clouds.
- SqueezeSeg - Implementation of SqueezeSeg, convolutional neural networks for LiDAR point clout segmentation.
- kaolin - A PyTorch Library for Accelerating 3D Deep Learning Research.
- torch-points3d - Pytorch framework for doing deep learning on point clouds.
- gpd - Takes a point cloud as input and produces pose estimates of viable grasps as output.
- point_cloud_io - ROS nodes to read and write point clouds from and to files (e.g. ply, vtk).
- robot_body_filter - A highly configurable LaserScan/PointCloud2 filter that allows to dynamically remove the 3D body of the robot from the measurements.
- elevation_mapping - Robot-centric elevation mapping for rough terrain navigation.
- spatio_temporal_voxel_layer - A new 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.
- PotreeConverter - Builds a potree octree from las, laz, binary ply, xyz or ptx files.
- 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.
- 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.
- mp2p_icp - A repertory of multi primitive-to-primitive (MP2P) ICP algorithms in C++.
- PolyFit - Polygonal Surface Reconstruction from Point Clouds.
- open3d - Open3D: A Modern Library for 3D Data Processing.
- Super-Fast-Accurate-3D-Object-Detection - Super Fast and Accurate 3D Object Detection based on 3D LiDAR Point Clouds (The PyTorch implementation).
-
Machine Learning
- fastai - The fastai library simplifies training fast and accurate neural nets using modern best practices.
- DLIB - A toolkit for making real world machine learning and data analysis applications in C++.
- MNN - A blazing fast, lightweight deep learning framework, battle-tested by business-critical use cases in Alibaba.
- Tensorforce - An open-source deep reinforcement learning framework, with an emphasis on modularized flexible library design and straightforward usability for applications in research and practice.
- gym - A toolkit for developing and comparing reinforcement learning algorithms.
- tpot - A Python Automated Machine Learning tool that optimizes machine learning pipelines using genetic programming.
- ray - A fast and simple framework for building and running distributed applications.
- mlflow - A platform to streamline machine learning development, including tracking experiments, packaging code into reproducible runs, and sharing and deploying models.
- Dopamine - A research framework for fast prototyping of reinforcement learning algorithms.
- Trax - A library for deep learning that focuses on sequence models and reinforcement learning.
- Netron - Visualizer for neural network, deep learning and machine learning models.
- finn - Fast, Scalable Quantized Neural Network Inference on FPGAs.
- modelzoo - A collection of machine-learned models for use in autonomous driving applications.
- deap - Distributed Evolutionary Algorithms in Python.
- catalyst - Was developed with a focus on reproducibility, fast experimentation and code/ideas reusing.
- tf-agents - A reliable, scalable and easy to use TensorFlow library for Contextual Bandits and Reinforcement Learning.
- ReAgent - An open source end-to-end platform for applied reinforcement learning (RL) developed and used at Facebook.
- cnn-explainer - Learning Convolutional Neural Networks with Interactive Visualization.
- 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".
- neuropod - Neuropod is a library that provides a uniform interface to run deep learning models from multiple frameworks in C++ and Python.
- tensorflow_ros_cpp - A ROS package that allows to do Tensorflow inference in C++ without the need to compile TF yourself.
- nnstreamer-ros - A set of Gstreamer plugins and ROS examples that allow Gstreamer developers to adopt neural network models easily and efficiently and neural network developers to manage neural network pipelines and their filters easily and efficiently.
- Awesome-Mobile-Machine-Learning - A curated list of awesome mobile machine learning resources for iOS, Android, and edge devices.
- Tensorflow Federated - TensorFlow Federated (TFF) is an open-source framework for machine learning and other computations on decentralized data.
-
Perception Pipeline
- multiple-object-tracking-lidar - C++ implementation to Detect, track and classify multiple objects using LIDAR scans or point cloud.
- GibsonEnv - Gibson Environments: Real-World Perception for Embodied Agents.
- AugmentedAutoencoder - RGB-based pipeline for object detection and 6D pose estimation.
- SARosPerceptionKitti - ROS package for the Perception (Sensor Processing, Detection, Tracking and Evaluation) of the KITTI Vision Benchmark Suite.
- jsk_recognition - A stack for the perception packages which are used in JSK lab.
- morefusion - Multi-object Reasoning for 6D Pose Estimation from Volumetric Fusion.
- se(3)-TrackNet - A package for 6D pose tracking of dynamic objects when object's CAD model is available.
-
Radar Processing
- CameraRadarFusionNet - TUM Roborace Team Software Stack - Path tracking control, velocity control, curvature control and state estimation.
- pyroSAR - Framework for large-scale SAR satellite data processing.
-
-
Data Visualization and Mission Control
-
Command Line Interface
- 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.
- 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.
- K3D-tools - Jupyter notebook extension for 3D visualization.
- streetscape.gl - Streetscape.gl is a toolkit for visualizing autonomous and robotics data in the XVIZ protocol.
- PlotJuggler - The timeseries visualization tool that you deserve.
- bokeh - Interactive Data Visualization in the browser, from Python.
- openmct - A web based mission control framework.
- obs-studio - Free and open source software for live streaming and screen recording.
- plotly.py - An open-source, interactive graphing library for Python.
- PyQtGraph - Fast data visualization and GUI tools for scientific / engineering applications.
- kepler.gl - Kepler.gl is a powerful open source geospatial analysis tool for large-scale data sets.
- marvros - MAVLink to ROS gateway with proxy for Ground Control Station.
- Pangolin - Pangolin is a lightweight portable rapid development library for managing OpenGL display / interaction and abstracting video input.
- webviz - Web-based visualization libraries like rviz.
- voila - From Jupyter notebooks to standalone web applications and dashboards.
- xdot - Interactive viewer for graphs written in Graphviz's dot language.
- web_video_server - HTTP Streaming of ROS Image Topics in Multiple Formats.
- qgis_ros - Access bagged and live topic data in a highly featured GIS environment.
- RVizWeb - Provides a convenient way of building and launching a web application with features similar to RViz.
- Foxglove Studio - Web and desktop app for robotics visualization and debugging; actively maintained fork of webviz.
- ROS-Mobile - Visualization and controlling application for Android.
- ros3djs - 3D Visualization Library for use with the ROS JavaScript Libraries.
- urdf-loaders - URDF Loaders for Unity and THREE.js with example ATHLETE URDF File.
- 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.
-
RViz
- 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.
- 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.
-
Annotation
- labelbox - The fastest way to annotate data to build and ship artificial intelligence applications.
- 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.
- semantic-segmentation-editor - A web based labeling tool for creating AI training data sets (2D and 3D).
- point_labeler - Tool for labeling of a single point clouds or a stream of point clouds.
- 3d-bat - 3D Bounding Box Annotation Tool for Point cloud and Image Labeling.
- PixelAnnotationTool - Annotate quickly images.
- napari - A fast, interactive, multi-dimensional image viewer for python.
- 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.
- label-studio - Label Studio is a multi-type data labeling and annotation tool with standardized output format.
- LabelImg - A graphical image annotation tool and label object bounding boxes in images.
- cvat - Powerful and efficient Computer Vision Annotation Tool (CVAT).
-
Point Cloud
- CloudCompare - CloudCompare is a 3D point cloud (and triangular mesh) processing software.
- polyscope - A C++ & Python viewer for 3D data like meshes and point clouds.
- LidarView - Performs real-time visualization and easy processing of live captured 3D LiDAR data from Lidar sensors.
- Potree - WebGL point cloud viewer for large datasets.
- VeloView - Performs real-time visualization of live captured 3D LiDAR data from Velodyne's HDL sensors.
- 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.
-
-
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.
- jitsi-meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.
- Gogs - Build a simple, stable and extensible self-hosted Git service that can be setup in the most painless way.
- Gitflow - Makes parallel development very easy, by isolating new development from finished work.
- discourse - A platform for community discussion. Free, open, simple.
- Wekan - Meteor based Kanban Board.
- Chronos-Timetracker - Desktop client for JIRA. Track time, upload worklogs without a hassle.
- leantime - Leantime is a lean project management system for innovators.
- Kanboard - Minimalistic Kanban Board.
- Gitlab - Simple Selfhosted Gitlab Server with Docker.
- openproject - The leading open source project management software.
- JIRA API - Python Library for REST API of Jira.
- ONLYOFFICE - A free open source collaborative system developed to manage documents, projects, customer relationship and email correspondence, all in one place.
- Taiga - Agile Projectmanagment Tool.
- Taiga API - Python Library for REST API of Taiga.
- Helpy - A modern, open source helpdesk customer support application.
- DeepL - An online translator that outperforms Google, Microsoft and Facebook.
- Grge - Grge is a daemon and command line utility augmenting GitLab.
- kanban - Free, open source, self-hosted, Kanban board for GitLab issues.
- mattermost - An open source, private cloud, Slack-alternative.
-
Requirements and Safety
- 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.
- 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.
- capella - Comprehensive, extensible and field-proven MBSE tool and method
- 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 - A graphical editing tool for robotic applications that complies with the RobMoSys approach.
- awesome-safety-critical - List of resources about programming practices for writing safety-critical software.
- fossology - A toolkit you can run license, copyright and export control scans from the command line.
- 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.
- safe_numerics - Replacements to standard numeric types which throw exceptions on errors.
- doorstop - Requirements management using version control.
- ScenarioArchitect - The Scenario Architect is a basic python tool to generate, import and export short scene snapshots.
- Papyrus for Robotics - A graphical editing tool for robotic applications that complies with the RobMoSys approach.
- capella - Comprehensive, extensible and field-proven MBSE tool and method
-
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.
- cpp-dependencies - Tool to check C++ #include dependencies (dependency graphs created in .dot format).
- vscode-drawio - This extension integrates Draw.io into VS Code.
- pydeps - Python Module Dependency graphs.
- Plantuml - Web application to generate UML diagrams on-the-fly in your live documentation.
- yed_py - Generates graphML that can be opened in yEd.
- rqt_launchtree - An RQT plugin for hierarchical launchfile configuration introspection.
- aztarna - A footprinting tool for robots.
- Architecture_Decision_Record - A document that captures an important architectural decision made along with its context and consequences.
-
Simulation
-
Version Control
- VREP Interface - ROS Bridge for the VREP simulator.
- opencrg - Open file formats and open source tools for the detailed description, creation and evaluation of road surfaces.
- morse - An academic robotic simulator, based on the Blender Game Engine and the Bullet Physics engine.
- 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.
- AutoCore simulation - Provides test environment for Autoware and still during early development, contents below may changed during updates.
- simbody - High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton.
- carla - Open-source simulator for autonomous driving research.
- self-driving-car-sim - A self-driving car simulator built with Unity.
- AirSim - Open source simulator for autonomous vehicles built on Unreal Engine.
- OpenCDA - A generalized framework for prototyping full-stack cooperative driving automation applications under CARLA+SUMO.
- pylot - Autonomous driving platform running on the CARLA simulator.
- lgsv - LG Electronics America R&D Center has developed an HDRP Unity-based multi-robot simulator for autonomous vehicle developers.
- Unity-Robotics-Hub - Central repository for tools, tutorials, resources, and documentation for robotic simulation in Unity.
- gym-pybullet-drones - PyBullet-based Gym environments for single and multi-agent reinforcement learning of quadcopter control.
- champ - ROS Packages for CHAMP Quadruped Controller.
- AI2-THOR - Python framework with a Unity backend providing interaction, navigation, and manipulation support for household based robotic agents, consisting of 200+ of custom scenes, 1500+ custom annotated objects, and 200+ actions.
- deepdive - End-to-end simulation for self-driving cars.
- OpenSceneGraph - 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.
- Webots - Webots is an open source robot simulator compatible (among others) with [ROS](http://wiki.ros.org/webots_ros) and [ROS2](http://wiki.ros.org/webots_ros2).
- rex-gym - OpenAI Gym environments for an open-source quadruped robot (SpotMicro).
- Drake - Drake aims to simulate even very complex dynamics of robots.
- uuv_simulator - Gazebo/ROS packages for underwater robotics simulation.
- ROSIntegration - Unreal Engine Plugin to enable ROS Support.
- gym-gazebo - An OpenAI gym extension for using Gazebo known as gym-gazebo.
- car_demo - This is a simulation of a Prius in gazebo 9 with sensor data being published using ROS kinetic.
- open-simulation-interface - A generic interface for the environmental perception of automated driving functions in virtual scenarios.
- Menge - Crowd Simulation Framework.
- pedsim_ros - Pedestrian simulator powered by the social force model for Gazebo.
- gnss-ins-sim - GNSS + inertial navigation, sensor fusion simulator. Motion trajectory generator, sensor models, and navigation.
- awesome-CARLA - A curated list of awesome CARLA tutorials, blogs, and related projects.
- ros-bridge - ROS bridge for CARLA Simulator.
- scenario_runner - Traffic scenario definition and execution engine.
- safe-control-gym - PyBullet-based CartPole and Quadrotor environments—with CasADi symbolic dynamics and constraints—for safe and robust learning-based control.
- esmini - A basic OpenSCENARIO player.
- 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 - A computational framework for deep RL and control experiments for traffic microsimulation.
- 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.
- gym-carla - An OpenAI gym wrapper for CARLA simulator.
- gazebo_models - This repository holds the Gazebo model database.
- flightmare - Flightmare is composed of two main components: a configurable rendering engine built on Unity and a flexible physics engine for dynamics simulation.
- Trick - Developed at the NASA Johnson Space Center, is a powerful simulation development framework that enables users to build applications for all phases of space vehicle development.
- usv_sim_lsa - Unmanned Surface Vehicle simulation on Gazebo with water current and winds.
- 42 - Simulation for spacecraft attitude control system analysis and design.
- Complete_Street_Rule - A scenario oriented design tool intended to enable users to quickly create procedurally generated multimodal streets in ArcGIS CityEngine.
- fields-ignition - Generate random crop fields for Ignition Gazebo.
- BlueSky - The goal of BlueSky is to provide everybody who wants to visualize, analyze or simulate air traffic with a tool to do so without any restrictions, licenses or limitations.
- Cloe - Empowers developers of automated-driving software components by providing a unified interface to closed-loop simulation.
- Dynamic_logistics_Warehouse - Gazebo simulation of dynamics environment in warehouses.
- highway-env - A collection of environments for autonomous driving and tactical decision-making tasks.
- opencrg - Open file formats and open source tools for the detailed description, creation and evaluation of road surfaces.
- simulation assets for the SubT - This collection contains simulation assets for the SubT Challenge Virtual Competition in Gazebo.
- opencrg - Open file formats and open source tools for the detailed description, creation and evaluation of road surfaces.
- sumo - Eclipse SUMO is an open source, highly portable, microscopic and continuous road traffic simulation package designed to handle large road networks.
- ESIM - An Open Event Camera Simulator.
-
-
Electronics and Mechanics
-
Version Control
- kicad - A Cross Platform and Open Source Electronics Design Automation Suite.
- ngspice - A open source spice simulator for electric and electronic circuits.
- riscv - The Free and Open RISC Instruction Set Architecture.
- ngspice - A open source spice simulator for electric and electronic circuits.
- FreeCAD - Your own 3D parametric modeler.
- openscad - A software for creating solid 3D CAD models.
- 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.
- PcbDraw - Convert your KiCAD board into a nice looking 2D drawing suitable for pinout diagrams.
- opem - The Open-Source PEMFC Simulation Tool (OPEM) is a modeling tool for evaluating the performance of proton exchange membrane fuel cells.
- NASA-3D-Resources - Here you'll find a growing collection of 3D models, textures, and images from inside NASA.
- phobos - An add-on for Blender allowing to create URDF, SDF and SMURF robot models in a WYSIWYG environment.
- Horizon - EDA is an Electronic Design Automation package supporting an integrated end-to-end workflow for printed circuit board design including parts management and schematic entry.
- LibrePCB - A powerful, innovative and intuitive EDA tool for everyone.
- solidworks_urdf_exporter - SolidWorks to URDF Exporter.
- FMPy - Simulate Functional Mockup Units (FMUs) in Python.
- FMIKit-Simulink - Import and export Functional Mock-up Units with Simulink.
- HRIM - An information model for robot hardware.
- URDF - Repository for Unified Robot Description Format (URDF) parsing code.
- pvlib-python - A community supported tool that provides a set of functions and classes for simulating the performance of photovoltaic energy systems.
- kicad-3rd-party-tools - Tools made by others to augment the KiCad PCB EDA suite.
- urdfpy - A simple and easy-to-use library for loading, manipulating, saving, and visualizing URDF files.
- oemof-solph - A modular open source framework to model energy supply systems.
- SUAVE - An Aircraft Design Toolbox.
- tigl - The TiGL Geometry Library can be used for the computation and processing of aircraft geometries stored inside CPACS files.
- foxBMS - A free, open and flexible development environment to design battery management systems.
- cadCAD - A Python package that assists in the processes of designing, testing and validating complex systems through simulation, with support for Monte Carlo methods, A/B testing and parameter sweeping.
- OpenMDAO - An open-source framework for efficient multidisciplinary optimization.
- ODrive - The aim is to make it possible to use inexpensive brushless motors in high performance robotics projects.
- OpenTirePython - An open-source mathematical tire modelling library.
- Inkscape Ray Optics - An extension for Inkscape that makes it easier to draw optical diagrams.
- OpenAeroStruct - A lightweight tool that performs aerostructural optimization using OpenMDAO.
- WireViz - A tool for easily documenting cables, wiring harnesses and connector pinouts.
- ngspice - A open source spice simulator for electric and electronic circuits.
- kicad-3rd-party-tools - Tools made by others to augment the KiCad PCB EDA suite.
- ODrive - The aim is to make it possible to use inexpensive brushless motors in high performance robotics projects.
-
-
Datasets
-
Sensor and Acuator Interfaces
- UTD19 - Largest multi-city traffic dataset publically available.
- 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.
- 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.
- dataset-api - This is a repo of toolkit for ApolloScape Dataset, CVPR 2019 Workshop on Autonomous Driving Challenge and ECCV 2018 challenge.
- 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-satellite-imagery-datasets - List of satellite image training datasets with annotations for computer vision and deep learning.
- nuscenes-devkit - The devkit of the nuScenes dataset.
- sentinelsat - Search and download Copernicus Sentinel satellite images.
- BlenderProc - A procedural Blender pipeline for photorealistic training image generation.
- 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.
- DBNet - A Large-Scale Dataset for Driving Behavior Learning.
- pandaset-devkit - Public large-scale dataset for autonomous driving provided by Hesai & Scale.
- awesome-robotics-datasets - A collection of useful datasets for robotics and computer vision.
- 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.
- utbm_robocar_dataset - EU Long-term Dataset with Multiple Sensors for Autonomous Driving.
- argoverse-api - Official GitHub repository for Argoverse dataset.
- a2d2_to_ros - Utilities for converting A2D2 data sets to ROS bags.
- 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.
- 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.
-
-
Simultaneous Localization and Mapping
-
Lidar
- Kitware SLAM - LiDAR-only visual SLAM developped by Kitware, as well as ROS and ParaView wrappings for easier use.
- hdl_graph_slam - An open source ROS package for real-time 6DOF SLAM using a 3D LIDAR.
- Fast LOAM - Fast and Optimized Lidar Odometry And Mapping.
- StaticMapping - Use LiDAR to map the static world.
- M-LOAM - Robust Odometry and Mapping for Multi-LiDAR Systems with Online Extrinsic Calibration.
- lio-mapping - Implementation of Tightly Coupled 3D Lidar Inertial Odometry and Mapping (LIO-mapping).
- A-LOAM - Advanced implementation of LOAM.
- horizon_highway_slam - A robust, low drift, and real time highway SLAM package suitable for Livox Horizon lidar.
- maplab - An open visual-inertial mapping framework.
- LIO_SAM - Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping.
- LeGO-LOAM - Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain.
- pyslam - Contains a monocular Visual Odometry (VO) pipeline in Python.
- loam_livox - A robust LiDAR Odometry and Mapping (LOAM) package for Livox-LiDAR.
- loam_velodyne - Laser Odometry and Mapping (Loam) is a realtime method for state estimation and mapping using a 3D lidar.
- slam_toolbox - Slam Toolbox for lifelong mapping and localization in potentially massive maps with ROS .
- mola - A Modular System for Localization and Mapping.
- LaMa - LaMa is a C++11 software library for robotic localization and mapping.
- KISS-ICP - A LiDAR Odometry pipeline that just works on most of the cases without tunning any parameter.
- DH3D - Deep Hierarchical 3D Descriptors for Robust Large-Scale 6DOF Relocalization.
- cartographer_ros - Provides ROS integration for Cartographer.
-
Vector Map
- OpenDRIVE - An open file format for the logical description of road networks.
- Mapbox - A JavaScript library for interactive, customizable vector maps on the web.
- osrm-backend - Open Source Routing Machine - C++ backend.
- mapnik - Combines pixel-perfect image output with lightning-fast cartographic algorithms, and exposes interfaces in C++, Python, and Node.
- barefoot - Online and Offline map matching that can be used stand-alone and in the cloud.
- imagery-index - An index of aerial and satellite imagery useful for mapping.
- iD - The easy-to-use OpenStreetMap editor in JavaScript.
- Lanelet2 - Map handling framework for automated driving.
- segmap - A map representation based on 3D segments.
- geopandas - A project to add support for geographic data to pandas objects.
- osmnx - Python for street networks. Retrieve, model, analyze, and visualize street networks and other spatial data from OpenStreetMap.
- gdal - GDAL is an open source X/MIT licensed translator library for raster and vector geospatial data formats.
- grass - GRASS GIS - free and open source Geographic Information System (GIS).
- MapsModelsImporter - A Blender add-on to import models from google maps.
- MapToolbox - Plugins to make Autoware vector maps in Unity.
- RapiD - An enhanced version of iD for mapping with AI created by Facebook.
- mapillary_tools - A library for processing and uploading images to Mapillary.
- 3d-tiles - Specification for streaming massive heterogeneous 3D geospatial datasets.
- imagery-index - An index of aerial and satellite imagery useful for mapping.
- OpenDRIVE - An open file format for the logical description of road networks.
-
Visual
- open_vins - An open source platform for visual-inertial navigation research.
- VINS-Fusion - A Robust and Versatile Multi-Sensor Visual-Inertial State Estimator.
- LSD-SLAM - Large-Scale Direct Monocular SLAM is a real-time monocular SLAM.
- ORB_SLAM3 - ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM.
- openvslam - OpenVSLAM: A Versatile Visual SLAM Framework.
- CubeSLAM and ORB SLAM - Monocular 3D Object Detection and SLAM Package of CubeSLAM and ORB SLAM.
- ESVO - A novel pipeline for real-time visual odometry using a stereo event-based camera.
- Kimera - 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.
- rovio - Robust Visual Inertial Odometry Framework.
- LARVIO - A lightweight, accurate and robust monocular visual inertial odometry based on Multi-State Constraint Kalman Filter.
- basalt - Visual-Inertial Mapping with Non-Linear Factor Recovery.
- xivo - X Inertial-aided Visual Odometry.
- vilib - This library focuses on the front-end of VIO pipelines with CUDA.
- orb_slam_2_ros - A ROS implementation of ORB_SLAM2.
- viso2 - A ROS wrapper for libviso2, a library for visual odometry.
- 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.
- tagslam - A ROS-based package for Simultaneous Localization and Mapping using AprilTag fiducial markers.
- fiducials - Simultaneous localization and mapping using fiducial markers.
- Atlas - End-to-End 3D Scene Reconstruction from Posed Images.
- hloc - A modular toolbox for state-of-the-art 6-DoF visual localization. It implements Hierarchical Localization, leveraging image retrieval and feature matching, and is fast, accurate, and scalable.
- gradslam - An open source differentiable dense SLAM library for PyTorch.
-
-
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.
-
-
Planning and Control
-
Vector Map
- commonroad - Composable benchmarks for motion planning on roads.
- Ruckig - Instantaneous Motion Generation. Real-time. Jerk-constrained. Time-optimal.
- mb planner - Aerial vehicle planner for tight spaces. Used in DARPA SubT Challenge.
- 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.
- traffic-editor - A graphical editor for robot traffic flows.
- casADi - A symbolic framework for numeric optimization implementing automatic differentiation in forward and reverse modes on sparse matrix-valued computational graphs.
- EGO-Planner - A lightweight gradient-based local planner without ESDF construction, which significantly reduces computation time compared to some state-of-the-art methods.
- path_planner - Hybrid A* Path Planner for the KTH Research Concept Vehicle.
- Open Source Car Control - An assemblage of software and hardware designs that enable computer control of modern cars in order to facilitate the development of autonomous vehicle technology.
- openrave - Open Robotics Automation Virtual Environment: An environment for testing, developing, and deploying robotics motion planning algorithms.
- rrt - C++ RRT (Rapidly-exploring Random Tree) implementation.
- fastrack - A ROS implementation of Fast and Safe Tracking (FaSTrack).
- steering_functions - Contains a C++ library that implements steering functions for car-like robots with limited turning radius.
- flexible-collision-library - 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.
- ACADO Toolkit - A software environment and algorithm collection for automatic control and dynamic optimization.
- CrowdNav - Crowd-aware Robot Navigation with Attention-based Deep Reinforcement Learning.
- ompl - Consists of many state-of-the-art sampling-based 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.
- rmf_core - The rmf_core packages provide the centralized functions of the Robotics Middleware Framework (RMF).
- global_racetrajectory_optimization - This repository contains multiple approaches for generating global racetrajectories.
- toppra - A library for computing the time-optimal path parametrization for robots subject to kinematic and dynamic constraints.
- tinyspline - TinySpline is a small, yet powerful library for interpolating, transforming, and querying arbitrary NURBS, B-Splines, and Bézier curves.
- dual quaternions ros - ROS python package for dual quaternion SLERP.
- ilqr - Iterative Linear Quadratic Regulator with auto-differentiatiable dynamics models.
- pykep - A scientific library providing basic tools for research in interplanetary trajectory design.
- am_traj - Alternating Minimization Based Trajectory Generation for Quadrotor Aggressive Flight.
- GraphBasedLocalTrajectoryPlanner - Was used on a real race vehicle during the Roborace Season Alpha and achieved speeds above 200km/h.
- control-toolbox - An efficient C++ library for control, estimation, optimization and motion planning in robotics.
- mpcc - Model Predictive Contouring Controller for Autonomous Racing.
- open_street_map - ROS packages for working with Open Street Map geographic information.
- OpEn - A solver for Fast & Accurate Embedded Optimization for next-generation Robotics and Autonomous Systems.
- se2_navigation - Pure pursuit controller and Reeds-Shepp sampling based planner for navigation in SE(2) space.
- mb planner - Aerial vehicle planner for tight spaces. Used in DARPA SubT Challenge.
- pacmod - Designed to allow the user to control a vehicle with the PACMod drive-by-wire system.
- HypridAStarTrailer - A path planning algorithm based on Hybrid A* for trailer truck.
- traffic-editor - A graphical editor for robot traffic flows.
- 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.
- moveit - Easy-to-use robotics manipulation platform for developing applications, evaluating designs, and building integrated products.
-
-
User Interaction
-
Graphical User Interface
- rqt - A Qt-based framework for GUI development for ROS. It consists of three parts/metapackages.
- 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.
- mir - Mir is set of libraries for building Wayland based shells.
- cage - This is Cage, a Wayland kiosk. A kiosk runs a single, maximized application.
- pencil - A tool for making diagrams and GUI prototyping that everyone can use.
- imgui - Designed to enable fast iterations and to empower programmers to create content creation tools and visualization / debug tools.
- elements - A lightweight, fine-grained, resolution independent, modular GUI library.
- NanoGUI - A minimalistic cross-platform widget library for OpenGL 3.x or higher.
- qtpy - Provides an uniform layer to support PyQt5, PySide2, PyQt4 and PySide with a single codebase.
- ddynamic_reconfigure - Allows modifying parameters of a ROS node using the dynamic_reconfigure framework without having to write cfg files.
- chilipie - Easy-to-use Raspberry Pi image for booting directly into full-screen Chrome.
- mir - Mir is set of libraries for building Wayland based shells.
- cage - This is Cage, a Wayland kiosk. A kiosk runs a single, maximized application.
-
Command Line Interface
- terminator - The goal of this project is to produce a useful tool for arranging terminals.
- ag - A code-searching tool similar to ack, but faster.
- fx - Command-line tool and terminal JSON viewer.
- fzf - A command-line fuzzy finder.
- gocui - Minimalist Go package aimed at creating Console User Interfaces.
- bat - A cat(1) clone with wings.
- the-art-of-command-line - Master the command line, in one page.
- mapscii - World map renderer for your console.
- dotbot - A tool that bootstraps your dotfiles.
- pkgtop - Interactive package manager and resource monitor designed for the GNU/Linux.
- TerminalImageViewer - Small C++ program to display images in a (modern) terminal using RGB ANSI codes and unicode block graphics characters.
- asciimatics - A cross platform package to do curses-like operations, plus higher level APIs and widgets to create text UIs and ASCII art animations.
- tmuxp - A session manager built on libtmux.
- guake - Drop-down terminal for GNOME.
- tmate - Instant terminal sharing.
- python-prompt-toolkit - Library for building powerful interactive command line applications in Python.
- wemux - Multi-User Tmux Made Easy.
- rosshow - Visualize ROS topics inside a terminal with Unicode/ASCII art.
- dotfiles of cornerman - Powerful zsh and vim dotfiles.
- prompt-hjem - A beautiful zsh prompt.
-
Acoustic User Interface
- DeepSpeech - An open source Speech-To-Text engine, using a model trained by machine learning techniques based on Baidu's Deep Speech research paper.
- TTS - A deep learning toolkit for Text-to-Speech, battle-tested in research and production.
- NoiseTorch - Creates a virtual microphone that suppresses noise, in any application.
- mycroft-core - Mycroft is a hackable open source voice assistant.
- waveglow - A Flow-based Generative Network for Speech Synthesis.
- 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.
- DDSP - A library of differentiable versions of common DSP functions (such as synthesizers, waveshapers, and filters).
- pyo - A Python module written in C containing classes for a wide variety of audio signal processing types.
-
-
Operation System
-
Database and Record
- ncdu - Ncdu is a disk usage analyzer with an ncurses interface.
- nextcloud - Nextcloud is a suite of client-server software for creating and using file hosting services.
- borg - Deduplicating archiver with compression and authenticated encryption.
- syncthing - A continuous file synchronization program.
- rosbag_editor - Create a rosbag from a given one, using a simple GUI.
- kitti_to_rosbag - A 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.
- kitti2bag - Convert KITTI dataset to ROS bag file the easy way.
- pykitti - Python tools for working with KITTI data.
- 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.
- ros_type_introspection - Deserialize ROS messages that are unknown at compilation time.
- rqt_bag_exporter - Qt GUI to export ROS bag topics to files (CSV and/or video).
- ros_numpy - Tools for converting ROS messages to and from numpy arrays.
- xviz - A protocol for real-time transfer and visualization of autonomy data.
- kitti_ros - A ROS-based player to replay KiTTI dataset.
-
Monitoring
- ShellHub - ShellHub is a modern SSH server for remotely accessing linux devices via command line (using any SSH client) or web-based user interface, designed as an alternative to sshd. Think ShellHub as centralized SSH for the the edge and cloud computing.
- htop - An interactive text-mode process viewer for Unix systems. It aims to be a better 'top'.
- ctop - Top-like interface for container metrics.
- spdlog - Very fast, header-only/compiled, C++ logging library.
- nvtop - NVIDIA GPUs htop like monitoring tool.
- atop - System and process monitor for Linux with logging and replay function.
- ntop - Web-based Traffic and Security Network Traffic Monitoring.
- psutil - Cross-platform lib for process and system monitoring in Python.
- Sshwifty - Sshwifty is a SSH and Telnet connector made for the Web.
- gpustat - A simple command-line utility for querying and monitoring GPU status.
- jupyterlab-nvdashboard - A JupyterLab extension for displaying dashboards of GPU usage.
- multimaster_fkie - GUI-based management environment that is very useful to manage ROS-launch configurations and control running nodes.
- rosmon - ROS node launcher & monitoring daemon.
- gputil - A Python module for getting the GPU status from NVIDA GPUs using nvidia-smi programmically in Python.
-
Embedded Operation System
- 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 - 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.
- Xen - An open-source (GPL) type-1 or baremetal hypervisor.
- QEMU - A generic and open source machine emulator and virtualizer.
- 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.
- 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.
- fusesoc - Package manager and build abstraction tool for FPGA/ASIC development.
- meta-balena - Run Docker containers on embedded devices.
- bitbake - 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.
- acrn-hypervisor - Defines a device hypervisor reference stack and an architecture for running multiple software subsystems, managed securely, on a consolidated system by means of a virtual machine manager.
- Jailhouse - Jailhouse is a partitioning Hypervisor based on Linux.
- jetson_stats - A package to monitoring and control your NVIDIA Jetson (Xavier NX, Nano, AGX Xavier, TX1, TX2) Works with all NVIDIA Jetson ecosystem.
- OpenCR - Open-source Control Module for ROS.
- rosserial - A ROS client library for small, embedded devices, such as Arduino.
- jetson_easy - Automatically script to setup and configure your NVIDIA Jetson.
- qemu-xilinx - A fork of Quick EMUlator (QEMU) with improved support and modelling for the Xilinx platforms.
- jetson-containers - Machine Learning Containers for Jetson and JetPack 4.4.
- ros_jetson_stats - The ROS jetson-stats wrapper. The status of your NVIDIA jetson in diagnostic messages.
- vxworks7-ros2-build - Build system to automate the build of VxWorks 7 and ROS2.
- docker-jetpack-sdk - Allows for usage of the NVIDIA JetPack SDK within a docker container for download, flashing, and install.
- 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.
-
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.
-
Server Infrastructure and High Performance Computing
- Portainer - Making Docker management easy.
- localstack - A fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline.
- luigi - A Python module that helps you build complex pipelines of batch jobs. It handles dependency resolution, workflow management, visualization etc. It also comes with Hadoop support built in.
- noVNC - VNC client using HTML5.
- nvidia-docker - Build and run Docker containers leveraging NVIDIA GPUs.
- ansible - Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy.
- docker-py - A Python library for the Docker Engine API.
- graylog2-server - Free and open source log management.
- kubeflow - Machine Learning Toolkit for Kubernetes.
- jupyterhub - Multi-user server for Jupyter notebooks.
- polyaxon - A platform for reproducing and managing the whole life cycle of machine learning and deep learning applications.
- Slurm - Slurm: A Highly Scalable Workload Manager.
- cudf - Provides a pandas-like API that will be familiar to data engineers & data scientists, so they can use it to easily accelerate their workflows without going into the details of CUDA programming.
- log-pilot - Collect logs for docker containers.
- 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.
- traefik - The Cloud Native Edge Router.
- pyinfra - It can be used for ad-hoc command execution, service deployment, configuration management and more.
-
Network Distributed File System
- sshfs - File system based on the SSH File Transfer Protocol.
- nfs - A distributed file system protocol originally developed by Sun Microsystems.
- ceph - A distributed object, block, and file storage platform.
- moosefs - A scalable distributed storage system.
- ansible-role-nfs - Installs NFS utilities on RedHat/CentOS or Debian/Ubuntu.
-
-
Network and Middleware
-
Real-Time Kernel
- eCAL - The enhanced communication abstraction layer (eCAL) is a middleware that enables scalable, high performance interprocess communication on a single computer node or between different nodes in a computer network.
- protobuf - Google's data interchange format.
- micro-ROS for Arduino - A experimental micro-ROS library for baremetal projects based on Arduino IDE or Arduino CLI.
- performance_test - Tool to test the performance of pub/sub based communication frameworks.
- 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.
- opensplice - Vortex OpenSplice Community Edition.
- realtime_support - Minimal real-time testing utility for measuring jitter and latency.
- ros1_bridge - ROS 2 package that provides bidirectional communication between ROS 1 and ROS 2.
- cyclonedds - Eclipse Cyclone DDS is a very performant and robust open-source DDS implementation.
- ros2arduino - This library helps the Arduino board communicate with the ROS2 using XRCE-DDS.
- mqtt_bridge - Provides a functionality to bridge between ROS and MQTT in bidirectional.
- Fast-RTPS - A Protocol, which provides publisher-subscriber communications over unreliable transports such as UDP, as defined and maintained by the Object Management Group (OMG) consortium.
-
Ethernet and Wireless Networking
- netplan - Simply create a YAML description of the required network interfaces and what each should be configured to do.
- airalab - AIRA is reference Robonomics network client for ROS-enabled cyber-physical systems.
- termshark - A terminal UI for tshark, inspired by Wireshark.
- iperf - A TCP, UDP, and SCTP network bandwidth measurement tool.
- tcpreplay - Pcap editing and replay tools.
- nethogs - It groups bandwidth by process.
- pingtop - Ping multiple servers and show results in a top-like terminal UI.
- wavemon - An ncurses-based monitoring application for wireless network devices.
- openwifi - Linux mac80211 compatible full-stack IEEE802.11/Wi-Fi design based on Software Defined Radio.
- 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.
- udpreplay - Replay UDP packets from a pcap file.
- pyshark - Python wrapper for tshark, allowing python packet parsing using wireshark dissectors.
- SOES - SOES is an EtherCAT slave stack written in C.
- wireless - Making info about wireless networks available to ROS.
- ros_ethercat - This is a reimplementation of the main loop of pr2_ethercat without dependencies on PR2 software.
-
Controller Area Network
- Open-Vehicle-Monitoring-System-3 - The system provides live monitoring of vehicle metrics like state of charge, temperatures, tyre pressures and diagnostic fault conditions.
- CANopenNode - The internationally standardized (EN 50325-4) (CiA301) CAN-based higher-layer protocol for embedded control system.
- can-utils - Linux-CAN / SocketCAN user space applications.
- ros_canopen - CANopen driver framework for ROS.
- SavvyCAN - A Qt5 based cross platform tool which can be used to load, save, and capture canbus frames.
- awesome CAN - A curated list of awesome CAN bus tools, hardware and resources.
- opendbc - The project to democratize access to the decoder ring of your car.
- python-can - The can package provides controller area network support for Python developers.
- ddt4all - DDT4All is a tool to create your own ECU parameters screens and connect to a CAN network with a cheap ELM327 interface.
- python-udsoncan - Python implementation of UDS (ISO-14229) standard.
- uds-c - Unified Diagnostics Service (UDS) and OBD-II (On Board Diagnostics for Vehicles) C Library.
- CANdevStudio - CANdevStudio aims to be cost-effective replacement for CAN simulation software. It can work with variety of CAN hardware interfaces.
- cabana - CAN visualizer and DBC maker.
- canmatrix - Converting CAN Database Formats .arxml .dbc .dbf .kcd.
- autosar - A set of python modules for working with AUTOSAR XML files.
- canopen - A Python implementation of the CANopen standard. The aim of the project is to support the most common parts of the CiA 301 standard in a Pythonic interface.
- kvaser_interface - This package was developed as a standardized way to access Kvaser CAN devices from ROS.
- decanstructor - The definitive ROS CAN analysis tool.
- AndrOBD - Android OBD diagnostics with any ELM327 adapter.
- cantools - CAN BUS tools in Python 3.
-
Sensor and Acuator Interfaces
- ros2_ouster_drivers - These are an implementation of ROS2 drivers for the Ouster OS-1 3D lidars.
- velodyne - A collection of ROS packages supporting Velodyne high definition 3D LIDARs.
- livox_ros_driver - A new ROS package, specially used to connect LiDAR products produced by Livox.
- novatel_gps_driver - ROS driver for NovAtel GPS / GNSS receivers.
- pointgrey_camera_driver - ROS driver for Pt. Grey cameras, based on the official FlyCapture2 SDK.
- flirpy - A Python library to interact with FLIR thermal imaging cameras and images.
- Tesla-API - Provides functionality to monitor and control the Model S (and future Tesla vehicles) remotely.
- ros2_intel_realsense - These are packages for using Intel RealSense cameras (D400 series) with ROS2.
- ethz_piksi_ros - Contains (python) ROS drivers, tools, launch files, and wikis about how to use Piksi Real Time Kinematic (RTK) GPS device in ROS.
- ifm3d - Library and Utilities for working with ifm pmd-based 3D ToF Cameras.
- pacmod3 - This ROS node is designed to allow the user to control a vehicle with the PACMod drive-by-wire system, board revision 3.
- nerian_stereo - ROS node for Nerian's SceneScan and SP1 stereo vision sensors.
- pymmw - This is a toolbox composed of Python scripts to interact with TI's evaluation module (BoosterPack) for the IWR1443 mmWave sensing device.
- ti_mmwave_rospkg - TI mmWave radar ROS driver (with sensor fusion and hybrid).
- ublox - Provides support for u-blox GPS receivers.
- crazyflie_ros - ROS Driver for Bitcraze Crazyflie.
- pylon-ros-camera - The official pylon ROS driver for Basler GigE Vision and USB3 Vision cameras.
- sick_safetyscanners - A ROS Driver which reads the raw data from the SICK Safety Scanners and publishes the data as a laser_scan msg.
- bosch_imu_driver - A driver for the sensor IMU Bosch BNO055. It was implemented only the UART communication interface (correct sensor mode should be selected).
- oxford_gps_eth - Ethernet interface to OxTS GPS receivers using the NCOM packet structure.
- cepton_sdk_redist - Provides ROS support for Cepton LiDAR.
- jetson_csi_cam - A ROS package making it simple to use CSI cameras on the Nvidia Jetson TK1, TX1, or TX2 with ROS.
- ros_astra_camera - A ROS driver for Orbbec 3D cameras.
- spot_ros - ROS Driver for Spot.
- blickfeld-scanner-lib - Cross-platform library to communicate with LiDAR devices of the Blickfeld GmbH.
- TauLidarCamera - The host-side API for building applications with the Tau LiDAR Camera.
-
-
Security
-
Sensor and Acuator Interfaces
- 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.
- pass - The standard unix password manager.
- fail2ban - Daemon to ban hosts that cause multiple authentication errors.
- Vault - 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.
- Firejail - 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.
- DependencyCheck - A software composition analysis utility that detects publicly disclosed vulnerabilities in application dependencies.
- openscap - The oscap program is a command line tool that allows users to load, scan, validate, edit, and export SCAP documents.
- bandit - A tool designed to find common security issues in Python code.
- gopass - A password manager for the command line written in Go.
- How-to-Secure-A-Linux-Server - An evolving how-to guide for securing a Linux server.
- Security-Enhanced Linux - 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.
- nmap-vulners - NSE script based on Vulners.com API.
- lynis - Security auditing tool for Linux, macOS, and UNIX-based systems. Assists with compliance testing (HIPAA/ISO27001/PCI DSS) and system hardening.
- OpenVPN - An open source VPN daemon.
- brutespray - Automatically attempts default creds on found services.
- hardening - A quick way to make a Ubuntu server a bit more secure.
- vulscan - Advanced vulnerability scanning with Nmap NSE.
- ssh-auditor - Scans for weak ssh passwords on your network.
- Passbolt - Passbolt is a free and open source password manager that allows team members to store and share credentials securely.
- openfortivpn - A client for PPP+SSL VPN tunnel services and compatible with Fortinet VPNs.
- wolfssl - A small, fast, portable implementation of TLS/SSL for embedded devices to the cloud.
- RVD - Robot Vulnerability Database. Community-contributed archive of robot vulnerabilities and weaknesses.
- CANalyzat0r - Security analysis toolkit for proprietary car protocols.
- owasp-threat-dragon-desktop - Threat Dragon is a free, open-source, cross-platform threat modeling application including system diagramming and a rule engine to auto-generate threats/mitigations.
- WireGuard - WireGuard is a novel VPN that runs inside the Linux Kernel and utilizes state-of-the-art cryptography.
- legion - 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.
- RSF - Robot Security Framework (RSF) is a standardized methodology to perform security assessments in robotics.
- launch_ros_sandbox - Can define launch files running nodes in restrained environments, such as Docker containers or separate user accounts with limited privileges.
- 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.
-
-
Footnotes
-
Sensor and Acuator Interfaces
-
-
Localization and State Estimation
-
Lidar and Point Cloud Processing
- Kalman-and-Bayesian-Filters-in-Python - Kalman Filter book using Jupyter Notebook.
- PROJ - Cartographic Projections and Coordinate Transformations Library.
- se2lam - On-SE(2) Localization and Mapping for Ground Vehicles by Fusing Odometry and Vision.
- fuse - General architecture for performing sensor fusion live on a robot.
- evo - Python package for the evaluation of odometry and SLAM.
- pymap3d - Pure-Python (Numpy optional) 3D coordinate conversions for geospace ecef enu eci.
- robot_localization - A package of nonlinear state estimation nodes.
- GeographicLib - A C++ library for geographic projections.
- ntripbrowser - A Python API for browsing NTRIP (Networked Transport of RTCM via Internet Protocol).
- RTKLIB - A version of RTKLIB optimized for single and dual frequency low cost GPS receivers, especially u-blox receivers.
- libRSF - A robust sensor fusion library for online localization.
- eagleye - An open-source software for vehicle localization utilizing GNSS and IMU.
- ai-imu-dr - Contains the code of our novel accurate method for dead reckoning of wheeled vehicles based only on an IMU.
- mcl_3dl - A ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s).
- mmWave-localization-learning - ML-based positioning method from mmWave transmissions - with high accuracy and energy efficiency.
- dynamic_robot_localization - A ROS package that offers 3 DoF and 6 DoF localization using PCL and allows dynamic map update using OctoMap.
- python-sgp4 - Python version of the SGP4 satellite position library.
- rpg_trajectory_evaluation - Implements common used trajectory evaluation methods for visual(-inertial) odometry.
-
-
Prediction
-
Vector Map
- Awesome-Interaction-aware-Trajectory-Prediction - A selection of state-of-the-art research materials on trajectory prediction.
- sgan - Socially Acceptable Trajectories with Generative Adversarial Networks.
-
Programming Languages
Categories
Sensor Processing
156
Development Environment
123
Operation System
75
Network and Middleware
73
Simultaneous Localization and Mapping
61
Simulation
59
Data Visualization and Mission Control
55
Documentation and Presentation
43
User Interaction
41
Planning and Control
40
Electronics and Mechanics
35
Security
30
Datasets
30
Communication and Coordination
23
Frameworks and Stacks
22
Localization and State Estimation
18
Requirements and Safety
16
Architecture and Design
11
Behavior and Decision
8
Prediction
2
Footnotes
1
Sub Categories
Version Control
114
Sensor and Acuator Interfaces
87
Vector Map
70
Lidar and Point Cloud Processing
66
Image Processing
48
Command Line Interface
47
Debugging and Tracing
29
Code and Run
26
Machine Learning
24
Build and Deploy
24
Visual
21
Embedded Operation System
21
Controller Area Network
20
Lidar
20
Server Infrastructure and High Performance Computing
18
Calibration and Transformation
17
Ethernet and Wireless Networking
15
Database and Record
15
Monitoring
14
Real-Time Kernel
14
Annotation
13
Graphical User Interface
13
Parallel Processing
10
Lint and Format
9
Point Cloud
8
Acoustic User Interface
8
Unit and Integration Test
8
RViz
7
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
c-plus-plus
20
ros2
20
docker
19
linux
19
tensorflow
18
reinforcement-learning
17
autonomous-driving
17
javascript
15
security
15
c
15
mapping
13
git
12
terminal
11
gpu
11
object-detection
11
robot
11
segmentation
11
semantic-segmentation
11
simulation
11
cuda
10
visualization
10
autonomous-vehicles
10
cli
10
localization
10
go
10
artificial-intelligence
10
numpy
9
self-driving-car
9
3d
9
jupyter
9
calibration
9
markdown
9
windows
8
velodyne
8
motion-planning
8
gazebo
8
nvidia
8
imu
8
deep-reinforcement-learning
8