An open API service indexing awesome lists of open source software.

awesome-robotic-tooling

Robotic resources and tools for professional robotic development with ROS in C++ and Python.
https://github.com/eric-erki/awesome-robotic-tooling

Last synced: 14 days ago
JSON representation

Architecture and Design

  • Unix philosophy - Set of cultural norms for developing software
  • yed - yEd is a powerful desktop application that can be used to quickly and effectively generate high-quality diagrams
  • rqt_graph - rqt_graph provides a GUI plugin for visualizing the ROS computation graph
  • robmosys - RobMoSys envisions an integrated approach built on top of the current code-centric robotic platforms, by applying model-driven methods and tools
  • yed_py - Generates graphML that can be opened in yEd
  • Plantuml - Web application to generate UML diagrams on-the-fly in your live documentation
  • rqt_launchtree - An RQT plugin for hierarchical launchfile configuration introspection.
  • cpp-dependencies - Tool to check C++ #include dependencies (dependency graphs created in .dot format)
  • pydeps - Python Module Dependency graphs
  • aztarna - a footprinting tool for robots.
  • fossology - a toolkit you can run license, copyright and export control scans from the command line
  • Papyrus for Robotics - is graphical editing tool for robotic applications that complies with the RobMoSys approach
  • capella - Comprehensive, extensible and field-proven MBSE tool and method

Awesome

Safety

  • awesome-ros2 - A curated list of awesome Robot Operating System Version 2.0 (ROS 2) resources and libraries.
  • awesome-safety-critical - List of resources about programming practices for writing safety-critical software.
  • awesome-embedded-linux - A curated list of awesome Embedded Linux resources

Behavior and Decision

SLAM

  • Groot - Graphical Editor to create BehaviorTrees. Compliant with BehaviorTree.CPP
  • BehaviorTree.CPP - Behavior Trees Library in C++
  • ROS-Behavior-Tree - Behavior Trees Library for ROS
  • RAFCON - Uses hierarchical state machines, featuring concurrent state execution, to represent robot programs
  • ROSPlan - Generic framework for task planning in a ROS system

Coordination and Communication

  • Agile Development - Manifesto for Agile Software Development
  • Woost - Workflow Automation, Collaboration with Externals
  • gitlab-triage - GitLab's issues and merge requests triage, automated!
  • Gitflow - Makes parallel development very easy, by isolating new development from finished work
  • DeepL - DeepL, an online translator that outperforms Google, Microsoft and Facebook
  • Taiga - Agile Projectmanagment Tool
  • Kanboard - Minimalistic Kanban Board
  • Gitlab - Simple Selfhosted Gitlab Server with Docker
  • Gogs - Aims to build a simple, stable and extensible self-hosted Git service that can be setup in the most painless way
  • Wekan - Meteor based Kanban Board
  • JIRA API - Python Library for REST API of Jira
  • Taiga API - Python Library for REST API of Taiga
  • Chronos-Timetracker - Desktop client for JIRA. Track time, upload worklogs without a hassle
  • Grge - Grge is a daemon and command line utility augmenting GitLab
  • Helpy - is a modern, open source helpdesk customer support application
  • ONLYOFFICE - is a free open source collaborative system developed to manage documents, projects, customer relationship and email correspondence, all in one place.
  • Ganttlab - The easy to use, fully functional Gantt chart for GitLab and GitHub.
  • discourse - A platform for community discussion. Free, open, simple

Development Environment

Build and Deploy

  • ryo-iso - is a modern ISO builder that streamlines the process of deploying a complete robot operating system from a yaml config file
  • bloom - A release automation tool which makes releasing catkin packages easier
  • superflore - An extended platform release manager for Robot Operating System
  • catkin_tools - Command line tools for working with catkin
  • industrial_ci - Easy continuous integration repository for ROS repositories
  • ros_gitlab_ci - contains helper scripts and instructions on how to use Continuous Integration (CI) for ROS projects hosted on a GitLab instance.
  • gitlab-runner - runs tests and sends the results to GitLab
  • colcon-core - command line tool to improve the workflow of building, testing and using multiple software packages
  • gitlab-release - Simple python3 script to upload files (from ci) to the current projects release (tag)
  • clang - This is a compiler front-end for the C family of languages
  • catkin_virtualenv - Bundle python requirements in a catkin package via virtualenv
  • aptly - Debian repository management tool
  • cross_compile - Assets used for ROS2 cross-compilation
  • docker_images - Official Docker images maintained by OSRF on ROS(2) and Gazebo
  • robot_upstart - presents a suite of scripts to assist with launching background ROS processes on Ubuntu Linux PCs
  • robot_systemd - units for managing startup and shutdown of roscore and roslaunch
  • network_autoconfig - automatic configuration of ROS networking for most use cases without impacting usage that require manual configuration.
  • robot_systemd - units for managing startup and shutdown of roscore and roslaunch
  • network_autoconfig - automatic configuration of ROS networking for most use cases without impacting usage that require manual configuration.

Code and Run

  • Sublime - A sophisticated text editor for code, markup and prose
  • ROS IDEs - This page collects experience and advice on using integrated development environments (IDEs) with ROS.
  • Vim-ros - Vim plugin for ROS development
  • Visual Studio Code - Code editor for edit-build-debug cycle.
  • atom - Hackable text editor for the 21st century
  • Teletype - Share your workspace with team members and collaborate on code in real time in Atom
  • ade-cli - The ADE Development Environment (ADE) uses docker and Gitlab to manage environments of per project development tools and optional volume images
  • recipe-wizard - A Dockerfile generator for running OpenGL (GLX) applications with nvidia-docker2, CUDA, ROS, and Gazebo on a remote headless server system
  • Jupyter ROS - Jupyter widget helpers for ROS, the Robot Operating System
  • ros_rqt_plugin - The ROS Qt Creator Plug-in for Python
  • jedi - Autocompletion and static analysis library for python
  • roslibpy - Python ROS Bridge library allows to use Python and IronPython to interact with ROS, the open-source robotic middleware.
  • pybind11 - Seamless operability between C++11 and Python
  • Sourcetrail - free and open-source cross-platform source explorer
  • rebound - Command-line tool that instantly fetches Stack Overflow results when an exception is thrown
  • xeus-cling - Jupyter kernel for the C++ programming language
  • kite - Use machine learning to give you
  • ROS IDEs - This page collects experience and advice on using integrated development environments (IDEs) with ROS.
  • TabNine - The all-language autocompleter

Launch and Monitor

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

Lint and Format

  • cppcheck - Static analysis of C/C++ code
  • hadolint - Dockerfile linter, validate inline bash, written in Haskell
  • shellcheck - a static analysis tool for shell scripts
  • catkin_lint - catkin_lint checks package configurations for the catkin build system of ROS.
  • black - The uncompromising Python code formatter
  • pydocstyle - pydocstyle is a static analysis tool for checking compliance with Python docstring conventions
  • haros - H(igh) A(ssurance) ROS - Static analysis of ROS application code.

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

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
  • osrf_testing_tools_cpp - contains testing tools for C++, and is used in OSRF projects.
  • 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

Version Control

  • meld - Meld is a visual diff and merge tool that helps you compare files, directories, and version controlled projects
  • tig - Text-mode interface for git
  • gitg - is a graphical user interface for git
  • git-cola - The highly caffeinated Git GUI
  • python-gitlab - is a Python package providing access to the GitLab server API.
  • bfg-repo-cleaner - Removes large or troublesome blobs like git-filter-branch does, but faster.
  • nbdime - Tools for diffing and merging of Jupyter notebooks.
  • semantic-release - Fully automated version management and package publishing
  • go-semrel-gitab - Automate version management for Gitlab
  • dive - A tool for exploring each layer in a docker image

Documentation and Presentation

  • Typora - A Minimalist Markdown Editor
  • undraw - Free Professional business SVGs easy to customize
  • inkscape - Inkscape is a professional vector graphics editor for Linux, Windows and macOS
  • Markor - A Simple Markdown Editor for your Android Device
  • Pandoc - Universal markup converter
  • Yaspeller - Command line tool for spell checking
  • Doxygen - Doxygen is the de facto standard tool for generating documentation from annotated C++ sources
  • Word-to-Markdown - A ruby gem to liberate content from Microsoft Word document
  • carbon - Share beautiful images of your source code
  • ASCIIMATICS - Create a GIF for your command line examples
  • Hugo-Webslides - This is a Hugo template to create WebSlides presentation using markdown.
  • jupyter2slides - Cloud Native Presentation Slides with Jupyter Notebook + Reveal.js
  • patat - Terminal-based presentations using Pandoc
  • github-changelog-generator - Automatically generate change log from your tags, issues, labels and pull requests on GitHub.
  • GitLab-Release-Note-Generator - A Gitlab release note generator that generates release note on latest tag
  • Sphinx - is a tool that makes it easy to create intelligent and beautiful documentation for Python projects
  • 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.
  • Gerrit - is a code review and project management tool for Git based projects

Framework

  • ROS - ROS (Robot Operating System) provides libraries and tools to help software developers create robot applications
  • Autoware.ai - Autoware.AI is the world's first "All-in-One" open-source software for autonomous driving technology
  • AutowareAuto - It is a clean slate rewrite of Autoware. Autoware.Auto applies best-in-class software engineering.
  • ROS2 - is the next generation robot operating system, and is actively being developed to fully replace ROS1 in the near future
  • OpenPilot - Open Source Adaptive Cruise Control (ACC) and Lane Keeping Assist System (LKAS)
  • Apollo - High performance, flexible architecture which accelerates the development, testing, and deployment of Autonomous Vehicles.
  • astrobee - Astrobee is a free-flying robot designed to operate as a payload inside the International Space Station (ISS).
  • Stanford Self Driving Car Code - Stanford Code From Cars That Entered DARPA Grand Challenges

Hardware

Calibration and Transformation

  • tf2 - transform library, which lets the user keep track of multiple coordinate frames over time
  • lidar_align - A simple method for finding the extrinsic calibration between a 3D lidar and a 6-dof pose sensor
  • kalibr - The Kalibr visual-inertial calibration toolbox
  • Calibnet - Self-Supervised Extrinsic Calibration using 3D Spatial Transformer Networks
  • lidar_camera_calibration - ROS package to find a rigid-body transformation between a LiDAR and a camera
  • ILCC - Reflectance Intensity Assisted Automatic and Accurate Extrinsic Calibration of 3D LiDAR
  • easy_handeye - Simple, straighforward ROS library for hand-eye calibration
  • imu_utils - A ROS package tool to analyze the IMU performance
  • kalibr_allan - IMU Allan standard deviation charts for use with Kalibr and inertial kalman filters
  • pyquaternion - is a full-featured Python module for representing and using quaternions
  • tf2 - transform library, which lets the user keep track of multiple coordinate frames over time

Version Control

  • PandaPower - An easy to use open source tool for power system modeling, analysis and optimization with a high degree of automation.
  • kicad - A Cross Platform and Open Source Electronics Design Automation Suite
  • kicad - A Cross Platform and Open Source Electronics Design Automation Suite
  • HRIM - An information model for robot hardware
  • URDF - Repository for Unified Robot Description Format (URDF) parsing code
  • phobos - An add-on for Blender allowing to create URDF, SDF and SMURF robot models in a WYSIWYG environment.
  • solidworks_urdf_exporter - SolidWorks to URDF Exporter
  • FreeCAD - Your own 3D parametric modeler
  • PcbDraw - Convert your KiCAD board into a nice looking 2D drawing suitable for pinout diagrams
  • kicad - A Cross Platform and Open Source Electronics Design Automation Suite
  • kicad - A Cross Platform and Open Source Electronics Design Automation Suite

Interaction

Command Line

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

Data Visualization and Mission Control

  • 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.
  • webviz - web-based visualization libraries like rviz
  • plotly.py - An open-source, interactive graphing library for Python
  • PlotJuggler - The timeseries visualization tool that you deserve
  • bokeh - Interactive Data Visualization in the browser, from Python
  • voila - From Jupyter notebooks to standalone web applications and dashboards
  • Pangolin - Pangolin is a lightweight portable rapid development library for managing OpenGL display / interaction and abstracting video input.
  • kepler.gl - Kepler.gl is a powerful open source geospatial analysis tool for large-scale data sets.
  • qgis_ros - Access bagged and live topic data in a highly featured GIS environment
  • openmct - A web based mission control framework.
  • web_video_server - HTTP Streaming of ROS Image Topics in Multiple Formats
  • rvizweb - RVizWeb provides a convenient way of building and launching a web application with features similar to RViz
  • marvros - MAVLink to ROS gateway with proxy for Ground Control Station
  • streetscape.gl - Streetscape.gl is a toolkit for visualizing autonomous and robotics data in the XVIZ protocol.
  • rviz_cloud_annotation - Point cloud annotation tool based on RViz
  • PixelAnnotationTool - Annotate quickly images
  • point_labeler - Tool for labeling of a single point clouds or a stream of point clouds
  • CloudCompare - CloudCompare is a 3D point cloud (and triangular mesh) processing software.
  • Potree - WebGL point cloud viewer for large datasets
  • ParaView - VTK-based Data Analysis and Visualization Application
  • 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
  • tf_keyboard_cal - Allows manual control of a TF through the keyboard or interactive markers
  • 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.
  • LabelImg - LabelImg is a graphical image annotation tool and label object bounding boxes in images
  • cvat - Powerful and efficient Computer Vision Annotation Tool (CVAT)