Skip to content

Latest commit

 

History

History
160 lines (115 loc) · 11.8 KB

README.md

File metadata and controls

160 lines (115 loc) · 11.8 KB

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.