Awesome Robotics
Awesome links, software libraries, papers, and other intersting links that are useful for robots.
Relevant Awesome Lists
- Kiloreaux/awesome-robotics - Learn about Robotics.
- Robotics Libraries - Another list of awesome robotics libraries.
- Robotics Coursework - A list of robotics courses you can take online
- Computer Vision
- Deep Learning - Neural networks.
- TensorFlow - Library for machine intelligence.
- Papers - The most cited deep learning papers.
- Deep Vision - Deep learning for computer vision
- Data Visualization - See what your robot is doing with any programming language.
- paperswithcode state of the art - List of state of the art results on various machine learning benchmarks.
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
- tf-image-segmentation - Image Segmentation framework based on Tensorflow and TF-Slim library.
- Keras-FCN
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
- handeye-calib-camodocal - generic robot hand-eye calibration.
- robot_calibration - generic robot kinematics calibration for ROS
- kalibr - camera and imu calibration for ROS
Reinforcement Learning
- "Good Robot!": Efficient Reinforcement Learning for Multi-Step Visual Tasks with Sim to Real Transfer - A real robot completes multi-step tasks after <20k simulated actions. Good Robot on ArXiV (disclaimer: @ahundt is first author)
- TensorForce - A TensorFlow library for applied reinforcement learning
- gqcnn - Grasp Quality Convolutional Neural Networks (GQ-CNNs) for grasp planning using training datasets from the Dexterity Network (Dex-Net)
- Guided Policy Search - Guided policy search (gps) algorithm and LQG-based trajectory optimization, meant to help others understand, reuse, and build upon existing work.
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
This work is licensed under a Creative Commons Attribution 4.0 International License.