awesome-robotics
awesome-robotics copied to clipboard
A curated list of awesome links and software libraries that are useful for robots.
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
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.