/awesome-robotics-1

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

Awesome Robotics

Awesome

Awesome links and software libraries that are useful for robots.

Relevant Awesome Lists

Simulators

  • V-REP - Create, Simulate, any Robot.
  • 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.

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.

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.

Reinforcement Learning

  • Guided Policy Search - Guided policy search (gps) algorithm and LQG-based trajectory optimization, meant to help others understand, reuse, and build upon existing work.

Video/Display/Rendering

  • Pangolin - A lightweight portable rapid development library for managing OpenGL display / interaction and abstracting video input.

Sensors

  • 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.

Datasets

  • 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.

Dataset Collection

  • 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.
  • 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.