Awesome Robotics Libraries
A curated list of robotics simulators and libraries.
Table of Contents
Free or Open Source
 AirSim  Simulator based on Unreal Engine for autonomous vehicles [github ]

ARGoS  Physicsbased simulator designed to simulate largescale robot swarms [github ]

ARTE  Matlab toolbox focussed on robotic manipulators [github ]

CARLA  Opensource simulator for autonomous driving research [github ]

CoppeliaSim  Formaly VREP. Virtual robot experimentation platform [github ]

Gazebo  Dynamic multirobot simulator [github ]

GraspIt!  Simulator for grasping research that can accommodate arbitrary hand and robot designs [github ]

Ignition Gazebo  Open source robotics simulator [github ]

HabitatSim  Simulation platform for research in embodied artificial intelligence [github ]

Isaac  Nvidia's virtual simulator for robots

MORSE  Modular open robots simulation engine [github ]

Neurorobotics Platform  Internetaccessible simulation of robots controlled by spiking neural networks [bitbucket]

PyBullet  An easy to use simulator for robotics and deep reinforcement learning [github ]

Webots  Robot simulator that provides a complete development environment [github ]
Commercial
Cloud

AWS RoboMaker  Service that makes it easy to develop, test, and deploy intelligent robotics applications at scale
⚠️ 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 

CHRONO::ENGINE 
rigid, soft, granular, fluid 
ik, urdf 
C++, Python 
BSD3Clause 
github 

DART 
rigid, soft 
ik, id, plan, urdf, sdf 
C++, Python 
BSD2Clause 
github 

Drake 
rigid, aero, fluid 
ik, trjopt, plan 
C++, Matlab 
BSD3Clause 
github 

Flex 
rigid, soft, particle, fluid 

C++ 

github 

FROST 
rigid 

MATLAB 
BSD3Clause 
github 

IBDS 
rigid, particle 

C++ 
Zlib 


idyntree 
rigid 
id 
C++, Python, Matlab, Lua 
LGPL2.1 
github 

KDL 
rigid 
ik 
C++ 
LGPL2.1 
github 

kindr 
rigid 
(todo) 
C++, Matlab 
BSD3Clause 
github 

Klampt 
(todo) 
(todo) 
C++, Python 
BSD3Clause 
github 

LibrePilot 
uav, vehicles 
(todo) 
C++ 
GPL3.0 
bitbucket, github


MARS 
(todo) 
(todo) 
C++, Python 
LGPL3.0 
github 

MBDyn 
(todo) 
(todo) 
C++ 
GPL2.1 
download 

MBSim 
(todo) 
(todo) 
C++ 
(not specified) 
github 

MBSlib 
(todo) 
(todo) 
C++ 
LGPL3.0 
github 

metapod 
(todo) 
(todo) 
C++ 
LGPL3.0 
github 

Moby 
rigid 
id 
C++ 
GPL2.0 
github 

mrpt 
vehicle 
slam, cv 
C++, Python, Matlab 
BSD3Clause 
github 

MuJoCo 
(todo) 
id 
C++, Python 
licenses 
closed source 

mvsim 
vehicle 
(todo) 
C++ 
GPL3.0 
github 

Newton Dynamics 
(todo) 
(todo) 
C++ 
Zlib 
github 

nphysics 
(todo) 
(todo) 
Rust 
BSD3Clause 
github 

ODE 
rigid 

C++ 
LGPL2.1 or BSD3Clause 
bitbucket 

OpenRAVE 
(todo) 
(todo) 
C++, Python 
LGPL3.0 
github 

pinocchio 
rigid 
ik, id, urdf, analytical derivatives, code generation 
C++, Python 
BSD2Clause 
github 

PositionBasedDynamics 
(todo) 
(todo) 
C++ 
MIT 
github 

PhysX 
(todo) 
(todo) 
C++ 
unknown 
github 

PyDy 
(todo) 
(todo) 
Python 
BSD3Clause 
github 

RBDL 
rigid 
ik,id,urdf 
C++, Python 
Zlib 
github 

RBDyn 
rigid 
(todo) 
C++, Python 
LGPL3.0 
github 

RaiSim 
(todo) 
(todo) 
C++ 
custom 
github 

ReactPhysics3d 
(todo) 
(todo) 
C++ 
Zlib 
github 

RigidBodyDynamics.jl 
rigid 
(todo) 
Julia 
MIT "Expat" 
github 

Rigs of Rods 
rigid, soft, vehicle 
(todo) 
C++ 
GPL3.0 
github 

Robopy 
(todo) 
(todo) 
Python 3 
MIT 
github 

Robotics Library 
(todo) 
(todo) 
C++ 
GPL3.0 or BSD2Clause 
github 

RobWork 
(todo) 
(todo) 
C++ 
Apache2.0 
gitlab 

siconos 
(todo) 
(todo) 
C++, Python 
Apache2.0 
github 

Simbody 
rigid, molecules 
id, urdf 
C++ 
Apache2.0 
github 

SOFA 
rigid, soft, medical 
(todo) 
C++ 
LGPL2.1 
github 

Tiny Differentiable Simulator 
rigid 
(todo) 
C++, Python 
Apache2.0 
github 

trep 
rigid 
dm, trjopt 
C, Python 
GPL3.0 
github 

qu3e 
rigid 
 
C++ 
Zlib 
github 

For simplicity, shortened names are used to represent the supported models and features as
 IKBT  A python package to solve robot arm inverse kinematics in symbolic form [github ]
 RelaxedIK  Realtime Synthesis of Accurate and Feasible Robot Arm Motion [github ]
 DLL  Deep Learning Library (DLL) for C++ [github ]

DyNet  The Dynamic Neural Network Toolkit [github ]

Fido  Lightweight C++ machine learning library for embedded electronics and robotics [github ]
 MiniDNN  A headeronly C++ library for deep neural networks [github ]

mlpack  Scalable C++ machine learning library [github ]

OpenAI Gym  Developing and comparing reinforcement learning algorithms [github ]

RLLib  Temporaldifference learning algorithms in reinforcement learning [github ]

tinydnn  Header only, dependencyfree deep learning framework in C++14 [github ]

AIKIDO  Solving robotic motion planning and decision making problems. [github ]

CuiKSuite  Applications to solve position analysis and path planning problems

Control Toolbox  OpenSource C++ Library for Robotics, Optimal and Model Predictive Control [github ]
 GPMP2  Gaussian Process Motion Planner 2 [github ]

HPP  Path planning for kinematic chains in environments cluttered with obstacles [github]

MoveIt!  Motion planning framework [github ]

OMPL  Open motion planning library [bitbucket, github ]
 pymanoid  Humanoid robotics prototyping environment based on OpenRAVE [github ]
 ROS Behavior Tree  [github ]

The Kautham Project  A robot simulation toolkit for motion planning [github ]

TOPPRA  Timeparameterizing robot trajectories subject to kinematic and dynamic constraints [github ]
Motion Optimizer
 opt_control  Timeoptimal Trajectory Generation and Control [github ]

towr  A lightweight, Eigenbased C++ library for trajectory optimization for legged robots [github ]

trajopt  Framework for generating robot trajectories by local optimization [github ]
Nearest Neighbor
3D Mapping

libpointmatcher  Iterative Closest Point library for 2D/3D mapping in Robotics [github ]
 Octree  Fast radius neighbor search with an Octree [github ]

OctoMap  Efficient Probabilistic 3D Mapping Framework Based on Octrees [github ]

PCL  2D/3D image and point cloud processing [github ]
 voxblox  Flexible voxelbased mapping focusing on truncated and Euclidean signed distance fields [github ]
 Utility Software

CasADi  Symbolic framework for algorithmic differentiation and numeric optimization [github ]

Ceres Solver  Large scale nonlinear optimization library [github ]
 eigenqld  Interface to use the QLD QP solver with the Eigen3 library [github ]

EXOTica  Generic optimisation toolset for robotics platforms [github ]
 hpipm  Highperformance interiorpointmethod QP solvers (Ipopt, Snopt) [github ]

HYPRE  Parallel solvers for sparse linear systems featuring multigrid methods [github ]
 ifopt  An Eigenbased, lightweight C++ Interface to Nonlinear Programming Solvers (Ipopt, Snopt) [github ]

Ipopt  Large scale nonlinear optimization library [github ]
 libcmaes  Blackbox stochastic optimization using the CMAES algorithm [github ]

limbo  Gaussian processes and Bayesian optimization of blackbox functions [github ]
 lpsolvers  Linear Programming solvers in Python with a unified API [github ]

NLopt  Nonlinear optimization [github ]

OptimLib  Lightweight C++ library of numerical optimization methods for nonlinear functions [github ]

Pagmo  Scientific library for massively parallel optimization [github ]

pymoo  Multiobjective Optimization in Python [github ]
 qpsolvers  Quadratic Programming solvers in Python with a unified API [github ]

RobOptim  Numerical Optimization for Robotics. [github ]

SCS  Numerical optimization for solving largescale convex cone problems [github ]
 sferes2  Evolutionary computation [github ]
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 ]
Utility to Build Robot Models
 phobos  Addon for Blender creating URDF and SMURF robot models [github ]

AutoRally  Highperformance testbed for advanced perception and control research [github ]

Linorobot  ROS compatible ground robots [github ]

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 ]
 Cartographer  Realtime SLAM in 2D and 3D across multiple platforms and sensor configurations [github ]

DSO  Novel direct and sparse formulation for Visual Odometry [github ]
 ElasticFusion  Realtime dense visual SLAM system [github ]

fiducials  Simultaneous localization and mapping using fiducial markers [github ]
 GTSAM  Smoothing and mapping (SAM) in robotics and vision [bitbucket]
 Kintinuous  Realtime large scale dense visual SLAM system [github ]

LSDSLAM  Realtime monocular SLAM [github ]
 ORBSLAM2  Realtime SLAM library for Monocular, Stereo and RGBD cameras [github ]

RTAPMap  RGBD Graph SLAM approach based on a global Bayesian loop closure detector [github ]

SRBA  Solving SLAM/BA in relative coordinates with flexibility for different submapping strategies [github ]
SLAM Dataset

Kratos  Framework for building parallel multidisciplinary simulation software [github ]
 Fastor  Lightweight high performance tensor algebra framework in C++11/14/17 [github ]
 linalg.h  Single header public domain linear algebra library for C++11 [github ]
 manif  Small c++11 headeronly library for Lie theory. [github ]
 Sophus  Lie groups using Eigen [github ]
 SpaceVelAlg  Spatial vector algebra with the Eigen3 [github ]
 fuse  General architecture for performing sensor fusion live on a robot [github ]
Contributions are very welcome! Please read the contribution guidelines first. Also, please feel free to report any error.