Skip to content

A curated list of awesome links and software libraries that are useful for robots.

Notifications You must be signed in to change notification settings

ahundt/awesome-robotics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

Awesome Robotics

Awesome

Awesome links, software libraries, papers, and other intersting links that are useful for robots.

Relevant Awesome Lists

Simulators

  • CoppeliaSim - Create, Simulate, any Robot. (formerly named V-REP)
  • Microsoft Airsim - Open source simulator based on Unreal Engine for autonomous vehicles from Microsoft AI & Research.
  • Bullet Physics SDK - Real-time collision detection and multi-physics simulation for VR, games, visual effects, robotics, machine learning etc. Also see pybullet.

Visualization, Video, Display, and Rendering

  • Pangolin - A lightweight portable rapid development library for managing OpenGL display / interaction and abstracting video input.
  • PlotJuggler - Quickly plot and re-plot data on the fly! Includes optional ROS integration.
  • Data Visualization - A list of awesome data visualization tools.

Machine Learning

TensorFlow related

  • Keras - Deep Learning library for Python. Convnets, recurrent neural networks, and more. Runs on TensorFlow or Theano.
  • keras-contrib - Keras community contributions.
  • TensorFlow - An open-source software library for Machine Intelligence.
  • recurrentshop - Framework for building complex recurrent neural networks with Keras.
  • tensorpack - Neural Network Toolbox on TensorFlow.
  • tensorlayer - Deep Learning and Reinforcement Learning Library for Researchers and Engineers.
  • TensorFlow-Examples - TensorFlow Tutorial and Examples for beginners.
  • hyperas - Keras + Hyperopt: A very simple wrapper for convenient hyperparameter optimization.
  • elephas - Distributed Deep learning with Keras & Spark
  • PipelineAI - End-to-End ML and AI Platform for Real-time Spark and Tensorflow Data Pipelines.
  • sonnet - Google Deepmind APIs on top of TensorFlow.
  • visipedia/tfrecords - Demonstrates the use of TensorFlow's TFRecord data format.

Image Segmentation

Logging and Messaging

  • spdlog - Super fast C++ logging library.
  • lcm - Lightweight Communications and Marshalling, message passing and data marshalling for real-time systems where high-bandwidth and low latency are critical.

Tracking

  • simtrack - A simulation-based framework for tracking.
  • ar_track_alvar - AR tag tracking library for ROS.
  • artoolkit5 - Augmented Reality Toolkit, which has excellent AR tag tracking software.

Robot Operating System (ROS)

  • ROS - Main ROS website.
  • ros2/design - Design documentation for ROS 2.0 effort.

Kinematics, Dynamics, Constrained Optimization

  • jrl-umi3218/Tasks - Tasks is library for real time control of robots and kinematic trees using constrained optimization.
  • jrl-umi3218/RBDyn - RBDyn provides a set of classes and functions to model the dynamics of rigid body systems.
  • ceres-solver - Solve Non-linear Least Squares problems with bounds constraints and general unconstrained optimization problems. Used in production at Google since 2010.
  • orocos_kinematics_dynamics - Orocos Kinematics and Dynamics C++ library.
  • flexible-collsion-library - Performs three types of proximity queries on a pair of geometric models composed of triangles, integrated with ROS.
  • robot_calibration - generic robot kinematics calibration for ROS
  • ruckig - Real-time, time-optimal and jerk-constrained online trajectory generation.

Calibration

Reinforcement Learning

Drivers for Sensors, Devices and Arms

  • libfreenect2 - Open source drivers for the Kinect for Windows v2 and Xbox One devices.
  • iai_kinect2 - Tools for using the Kinect One (Kinect v2) in ROS.
  • grl - Generic Robotics Library: Cross platform drivers for Kuka iiwa and Atracsys FusionTrack with optional v-rep and ros drivers. Also has cross platform Hand Eye Calibration and Tool Tip Calibration.

Datasets

  • CoSTAR Block Stacking Dataset - Robot stacking colored children's blocks (disclaimer: created by @ahundt)
  • shapestacks - simulated stacks of colored children's objects
  • pascal voc 2012 - The classic reference image segmentation dataset.
  • openimages - Huge imagenet style dataset by Google.
  • COCO - Objects with segmentation, keypoints, and links to many other external datasets.
  • cocostuff - COCO additional full scene segmentation including backgrounds and annotator.
  • Google Brain Robot Data - Robotics datasets including grasping, pushing, and pouring.
  • Materials in Context - Materials Dataset with real world images in 23 categories.
  • Dex-Net 2.0 - 6.7 million pairs of synthetic point clouds and grasps with robustness labels.

Dataset Collection

  • LabelFusion - "A Pipeline for Generating Ground Truth Labels for Real RGBD Data of Cluttered Scenes" code
  • cocostuff - COCO additional full scene segmentation including backgrounds and annotator.

Linear Algebra & Geometry

  • Eigen - Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
  • Boost.QVM - Quaternions, Vectors, Matrices library for Boost.
  • Boost.Geometry - Boost.Geometry contains instantiable geometry classes, but library users can also use their own.
  • SpaceVecAlg - Implementation of spatial vector algebra for 3D geometry with the Eigen3 linear algebra library.
  • Sophus - C++ implementation of Lie Groups which are for 3D Geometry, using Eigen.

Point Clouds

  • libpointmatcher - An "Iterative Closest Point" library robotics and 2-D/3-D mapping.
  • Point Cloud Library (pcl) - The Point Cloud Library (PCL) is a standalone, large scale, open project for 2D/3D image and point cloud processing.

Simultaneous Localization and Mapping (SLAM)

  • ElasticFusion - Real-time dense visual SLAM system.
  • co-fusion - Real-time Segmentation, Tracking and Fusion of Multiple Objects. Extends ElasticFusion.
  • Google Cartographer - Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations.
  • OctoMap - An Efficient Probabilistic 3D Mapping Framework Based on Octrees. Contains the main OctoMap library, the viewer octovis, and dynamicEDT3D.
  • ORB_SLAM2 - Real-Time SLAM for Monocular, Stereo and RGB-D Cameras, with Loop Detection and Relocalization Capabilities.

License

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.