All Projects → jslee02 → Awesome Robotics Libraries

jslee02 / Awesome Robotics Libraries

Licence: cc0-1.0
😎 A curated list of robotics libraries and software

Projects that are alternatives of or similar to Awesome Robotics Libraries

Cleanit
Open-source Autonomy Software in Rust-lang with gRPC for the Roomba series robot vacuum cleaners. Under development.
Stars: ✭ 125 (-89.21%)
Mutual labels:  robotics, slam, motion-planning
Robotics Toolbox Matlab
Robotics Toolbox for MATLAB
Stars: ✭ 601 (-48.14%)
Mutual labels:  robotics, slam, motion-planning
Teaser Plusplus
A fast and robust point cloud registration library
Stars: ✭ 607 (-47.63%)
Mutual labels:  robotics, slam, optimization
Minisam
A general and flexible factor graph non-linear least square optimization framework
Stars: ✭ 246 (-78.77%)
Mutual labels:  robotics, slam, optimization
SLAM AND PATH PLANNING ALGORITHMS
This repository contains the solutions to all the exercises for the MOOC about SLAM and PATH-PLANNING algorithms given by professor Claus Brenner at Leibniz University. This repository also contains my personal notes, most of them in PDF format, and many vector graphics created by myself to illustrate the theoretical concepts. Hope you enjoy it! :)
Stars: ✭ 107 (-90.77%)
Mutual labels:  robotics, motion-planning, slam
RAWSim-O
A simulation framework for Robotic Mobile Fulfillment Systems
Stars: ✭ 82 (-92.92%)
Mutual labels:  robotics, simulation, optimization
bht-ams-playerstage
Player/Stage SLAM
Stars: ✭ 35 (-96.98%)
Mutual labels:  robotics, simulation, slam
Awesome Robotics
A curated list of awesome links and software libraries that are useful for robots.
Stars: ✭ 478 (-58.76%)
Mutual labels:  robotics, simulation, optimization
Probabilistic robotics
solution of exercises of the book "probabilistic robotics"
Stars: ✭ 734 (-36.67%)
Mutual labels:  robotics, slam
Kimera Vio
Visual Inertial Odometry with SLAM capabilities and 3D Mesh generation.
Stars: ✭ 741 (-36.07%)
Mutual labels:  robotics, slam
Awesome Decision Making Reinforcement Learning
A selection of state-of-the-art research materials on decision making and motion planning.
Stars: ✭ 68 (-94.13%)
Mutual labels:  robotics, motion-planning
Su2
SU2: An Open-Source Suite for Multiphysics Simulation and Design
Stars: ✭ 731 (-36.93%)
Mutual labels:  simulation, optimization
Cartographer
Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations.
Stars: ✭ 5,754 (+396.46%)
Mutual labels:  robotics, slam
Kimera
Index repo for Kimera code
Stars: ✭ 802 (-30.8%)
Mutual labels:  robotics, slam
Ros Academy For Beginners
中国大学MOOC《机器人操作系统入门》代码示例 ROS tutorial
Stars: ✭ 861 (-25.71%)
Mutual labels:  robotics, simulation
Gradslam
gradslam is an open source differentiable dense SLAM library for PyTorch
Stars: ✭ 833 (-28.13%)
Mutual labels:  robotics, slam
Pepper Robot Programming
Pepper Programs : Object Detection Real Time without ROS
Stars: ✭ 29 (-97.5%)
Mutual labels:  robotics, slam
Dynamicwindowapproach
The Dynamic Window Approach planning algorithm written in C with Python Bindings
Stars: ✭ 17 (-98.53%)
Mutual labels:  robotics, motion-planning
Sdformat
Simulation Description Format (SDFormat) parser and description files.
Stars: ✭ 51 (-95.6%)
Mutual labels:  robotics, simulation
Deepseqslam
The Official Deep Learning Framework for Route-based Place Recognition
Stars: ✭ 49 (-95.77%)
Mutual labels:  robotics, slam

Awesome Robotics Libraries

A curated list of robotics simulators and libraries.

Table of Contents

Simulators

Free or Open Source
  • AirSim - Simulator based on Unreal Engine for autonomous vehicles [github AirSim]
  • ARGoS - Physics-based simulator designed to simulate large-scale robot swarms [github ilpincy/argos3]
  • ARTE - Matlab toolbox focussed on robotic manipulators [github 4rtur1t0/ARTE]
  • CARLA - Open-source simulator for autonomous driving research [github carla-simulator/carla]
  • CoppeliaSim - Formaly V-REP. Virtual robot experimentation platform [github CoppeliaRobotics/CoppeliaSimLib]
  • Gazebo - Dynamic multi-robot simulator [github osrf/gazebo]
  • GraspIt! - Simulator for grasping research that can accommodate arbitrary hand and robot designs [github graspit]
  • Ignition Gazebo - Open source robotics simulator [github ignitionrobotics/ign-gazebo]
  • Habitat-Sim - Simulation platform for research in embodied artificial intelligence [github facebookresearch/habitat-sim]
  • Isaac - Nvidia's virtual simulator for robots
  • MORSE - Modular open robots simulation engine [github morse]
  • Neurorobotics Platform - Internet-accessible simulation of robots controlled by spiking neural networks [bitbucket]
  • PyBullet - An easy to use simulator for robotics and deep reinforcement learning [github bullet3]
  • Webots - Robot simulator that provides a complete development environment [github omichel/webots]
Commercial
Cloud
  • AWS RoboMaker - Service that makes it easy to develop, test, and deploy intelligent robotics applications at scale

Libraries

Dynamics Simulation

⚠️ The following table is not complete. Please feel free to report if you find something incorrect or missing.

Name Models Features Languages Licenses Code Popularity
ARCSim soft C++
Bullet rigid, soft ik, id, urdf, sdf C++, Python Zlib github bullet3
CHRONO::ENGINE rigid, soft, granular, fluid ik, urdf C++, Python BSD-3-Clause github chrono
DART rigid, soft ik, id, plan, urdf, sdf C++, Python BSD-2-Clause github dart
Drake rigid, aero, fluid ik, trj-opt, plan C++, Matlab BSD-3-Clause github drake
Flex rigid, soft, particle, fluid C++ github NVIDIAGameWorks/FleX
FROST rigid MATLAB BSD-3-Clause github ayonga/frost-dev
IBDS rigid, particle C++ Zlib
idyntree rigid id C++, Python, Matlab, Lua LGPL-2.1 github idyntree
KDL rigid ik C++ LGPL-2.1 github orocos_kinematics_dynamics
kindr rigid (todo) C++, Matlab BSD-3-Clause github kindr
Klampt (todo) (todo) C++, Python BSD-3-Clause github Klampt
LibrePilot uav, vehicles (todo) C++ GPL-3.0 bitbucket, github LibrePilot
MARS (todo) (todo) C++, Python LGPL-3.0 github mars
MBDyn (todo) (todo) C++ GPL-2.1 download
MBSim (todo) (todo) C++ (not specified) github mbsim-env/mbsim
MBSlib (todo) (todo) C++ LGPL-3.0 github mbslib
metapod (todo) (todo) C++ LGPL-3.0 github metapod
Moby rigid id C++ GPL-2.0 github Moby
mrpt vehicle slam, cv C++, Python, Matlab BSD-3-Clause github mrpt
MuJoCo (todo) id C++, Python licenses closed source
mvsim vehicle (todo) C++ GPL-3.0 github ual-arm-ros-pkg/mvsim
Newton Dynamics (todo) (todo) C++ Zlib github newton-dynamics
nphysics (todo) (todo) Rust BSD-3-Clause github sebcrozet/nphysics
ODE rigid C++ LGPL-2.1 or BSD-3-Clause bitbucket
OpenRAVE (todo) (todo) C++, Python LGPL-3.0 github openrave
pinocchio rigid ik, id, urdf, analytical derivatives, code generation C++, Python BSD-2-Clause github pinocchio
PositionBasedDynamics (todo) (todo) C++ MIT github PositionBasedDynamics
PhysX (todo) (todo) C++ unknown github NVIDIAGameWorks/PhysX
PyDy (todo) (todo) Python BSD-3-Clause github pydy
RBDL rigid ik,id,urdf C++, Python Zlib github rbdl
RBDyn rigid (todo) C++, Python LGPL-3.0 github RBDyn
RaiSim (todo) (todo) C++ custom github leggedrobotics/raisimLib
ReactPhysics3d (todo) (todo) C++ Zlib github reactphysics3d
RigidBodyDynamics.jl rigid (todo) Julia MIT "Expat" github RigidBodyDynamics.jl
Rigs of Rods rigid, soft, vehicle (todo) C++ GPL-3.0 github RigsOfRods/rigs-of-rods
Robopy (todo) (todo) Python 3 MIT github adityadua24/robopy
Robotics Library (todo) (todo) C++ GPL-3.0 or BSD-2-Clause github rl
RobWork (todo) (todo) C++ Apache-2.0 gitlab
siconos (todo) (todo) C++, Python Apache-2.0 github siconos
Simbody rigid, molecules id, urdf C++ Apache-2.0 github simbody
SOFA rigid, soft, medical (todo) C++ LGPL-2.1 github sofa
Tiny Differentiable Simulator rigid (todo) C++, Python Apache-2.0 github google-research/tiny-differentiable-simulator
trep rigid dm, trj-opt C, Python GPL-3.0 github trep
qu3e rigid - C++ Zlib github qu3e

For simplicity, shortened names are used to represent the supported models and features as

  • Supported Models

    • rigid: rigid bodies
    • soft: soft bodies
    • aero: aerodynamics
    • granular: granular materials (like sand)
    • fluid: fluid dynamics
    • vehicles
    • uav: unmanned aerial vehicles (like drones)
    • medical
    • molecules
    • parallel: parallel mechanism (like Stewart platform)
  • Features on Simulation, Analysis, Planning, Control Design

Inverse Kinematics

  • IKBT - A python package to solve robot arm inverse kinematics in symbolic form [github uw-biorobotics/IKBT]
  • RelaxedIK - Real-time Synthesis of Accurate and Feasible Robot Arm Motion [github uwgraphics/relaxed_ik]

Machine Learning

  • DLL - Deep Learning Library (DLL) for C++ [github wichtounet/dll]
  • DyNet - The Dynamic Neural Network Toolkit [github clab/dynet]
  • Fido - Lightweight C++ machine learning library for embedded electronics and robotics [github FidoProject/Fido]
  • MiniDNN - A header-only C++ library for deep neural networks [github yixuan/MiniDNN]
  • mlpack - Scalable C++ machine learning library [github mlpack/mlpack]
  • OpenAI Gym - Developing and comparing reinforcement learning algorithms [github gym]
  • RLLib - Temporal-difference learning algorithms in reinforcement learning [github samindaa/RLLib]
  • tiny-dnn - Header only, dependency-free deep learning framework in C++14 [github tiny-dnn/tiny-dnn]

Motion Planning and Control

  • AIKIDO - Solving robotic motion planning and decision making problems. [github aikido]
  • CuiKSuite - Applications to solve position analysis and path planning problems
  • Control Toolbox - Open-Source C++ Library for Robotics, Optimal and Model Predictive Control [github ethz-adrl/control-toolbox]
  • GPMP2 - Gaussian Process Motion Planner 2 [github gtrll/gpmp2]
  • HPP - Path planning for kinematic chains in environments cluttered with obstacles [github]
  • MoveIt! - Motion planning framework [github moveit]
  • OMPL - Open motion planning library [bitbucket, github ompl]
  • pymanoid - Humanoid robotics prototyping environment based on OpenRAVE [github stephane-caron/pymanoid]
  • ROS Behavior Tree - [github miccol/ROS-Behavior-Tree]
  • The Kautham Project - A robot simulation toolkit for motion planning [github kautham]
  • TOPP-RA - Time-parameterizing robot trajectories subject to kinematic and dynamic constraints [github hungpham2511/toppra]
Motion Optimizer
  • opt_control - Time-optimal Trajectory Generation and Control [github AIS-Bonn/opt_control]
  • towr - A light-weight, Eigen-based C++ library for trajectory optimization for legged robots [github ethz-adrl/towr]
  • trajopt - Framework for generating robot trajectories by local optimization [github joschu/trajopt]
Nearest Neighbor
3D Mapping
  • libpointmatcher - Iterative Closest Point library for 2-D/3-D mapping in Robotics [github ethz-asl/libpointmatcher]
  • Octree - Fast radius neighbor search with an Octree [github jbehley/octree]
  • OctoMap - Efficient Probabilistic 3D Mapping Framework Based on Octrees [github octomap]
  • PCL - 2D/3D image and point cloud processing [github PointCloudLibrary/pcl]
  • voxblox - Flexible voxel-based mapping focusing on truncated and Euclidean signed distance fields [github voxblox]
  • Utility Software
    • Goxel - Free and open source 3D voxel editor [github guillaumechereau/goxel]

Optimization

  • CasADi - Symbolic framework for algorithmic differentiation and numeric optimization [github casadi]
  • Ceres Solver - Large scale nonlinear optimization library [github ceres-solver]
  • eigen-qld - Interface to use the QLD QP solver with the Eigen3 library [github jrl-umi3218/eigen-qld]
  • EXOTica - Generic optimisation toolset for robotics platforms [github ipab-slmc/exotica]
  • hpipm - High-performance interior-point-method QP solvers (Ipopt, Snopt) [github giaf/hpipm]
  • HYPRE - Parallel solvers for sparse linear systems featuring multigrid methods [github LLNL/hypre]
  • ifopt - An Eigen-based, light-weight C++ Interface to Nonlinear Programming Solvers (Ipopt, Snopt) [github ifopt]
  • Ipopt - Large scale nonlinear optimization library [github Ipopt]
  • libcmaes - Blackbox stochastic optimization using the CMA-ES algorithm [github beniz/libcmaes]
  • limbo - Gaussian processes and Bayesian optimization of black-box functions [github resibots/limbo]
  • lpsolvers - Linear Programming solvers in Python with a unified API [github lpsolvers]
  • NLopt - Nonlinear optimization [github nlopt]
  • OptimLib - Lightweight C++ library of numerical optimization methods for nonlinear functions [github kthohr/optim]
  • Pagmo - Scientific library for massively parallel optimization [github esa/pagmo2]
  • pymoo - Multi-objective Optimization in Python [github msu-coinlab/pymoo]
  • qpsolvers - Quadratic Programming solvers in Python with a unified API [github qpsolvers]
  • RobOptim - Numerical Optimization for Robotics. [github roboptim/roboptim-core]
  • SCS - Numerical optimization for solving large-scale convex cone problems [github scs]
  • sferes2 - Evolutionary computation [github sferes2/sferes2]

Robot Modeling

Robot Model Description Format
  • SDF - XML format that describes objects and environments for robot simulators, visualization, and control (bitbucket)
  • urdf - XML format for representing a robot model [github ros/urdfdom]
Utility to Build Robot Models
  • phobos - Add-on for Blender creating URDF and SMURF robot models [github phobos]

Robot Platform

  • AutoRally - High-performance testbed for advanced perception and control research [github autorally/autorally]
  • Linorobot - ROS compatible ground robots [github linorobot/linorobot]
  • Rock - Software framework for robotic systems
  • ROS - Flexible framework for writing robot software [github repos]
  • ROS 2 - Version 2.0 of the Robot Operating System (ROS) software stack [github repos]
  • YARP - Communication and device interfaces applicable from humanoids to embedded devices [github robotology/yarp]

SLAM

  • Cartographer - Real-time SLAM in 2D and 3D across multiple platforms and sensor configurations [github cartographer]
  • DSO - Novel direct and sparse formulation for Visual Odometry [github dso]
  • ElasticFusion - Real-time dense visual SLAM system [github ElasticFusion]
  • fiducials - Simultaneous localization and mapping using fiducial markers [github UbiquityRobotics/fiducials]
  • GTSAM - Smoothing and mapping (SAM) in robotics and vision [bitbucket]
  • Kintinuous - Real-time large scale dense visual SLAM system [github Kintinuous]
  • LSD-SLAM - Real-time monocular SLAM [github lsdslam]
  • ORB-SLAM2 - Real-time SLAM library for Monocular, Stereo and RGB-D cameras [github ORB_SLAM2]
  • RTAP-Map - RGB-D Graph SLAM approach based on a global Bayesian loop closure detector [github introlab/rtabmap]
  • SRBA - Solving SLAM/BA in relative coordinates with flexibility for different submapping strategies [github srba]

SLAM Dataset

Vision

Fluid

Multiphysics

  • Kratos - Framework for building parallel multi-disciplinary simulation software [github KratosMultiphysics/Kratos]

Math

  • Fastor - Light-weight high performance tensor algebra framework in C++11/14/17 [github romeric/Fastor]
  • linalg.h - Single header public domain linear algebra library for C++11 [github sgorsten/linalg]
  • manif - Small c++11 header-only library for Lie theory. [github artivis/manif]
  • Sophus - Lie groups using Eigen [github strasdat/Sophus]
  • SpaceVelAlg - Spatial vector algebra with the Eigen3 [github jrl-umi3218/SpaceVecAlg]

ETC

  • fuse - General architecture for performing sensor fusion live on a robot [github locusrobotics/fuse]

Other Awesome Lists

Contributing

Contributions are very welcome! Please read the contribution guidelines first. Also, please feel free to report any error.

License

CC0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].