Skip to content

jslee02/awesome-robotics-libraries

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

373 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Awesome Robotics Libraries

Awesome

A curated list of robotics libraries and simulators.

Contents

Legend: 🟒 Active (<1yr) Β· 🟑 Slow (1-2yr) Β· πŸ”΄ Stale (>2yr) Β· πŸ’€ Archived

Physics engines and rigid/soft body dynamics libraries. See also Comparisons.

  • ARCSim - Adaptive remeshing cloth and shell simulator for thin deformable objects.
  • 🟒 Brax - Massively parallel differentiable rigid body physics engine in JAX for robotics and RL. ⭐ 3k
  • 🟒 Bullet - Real-time physics simulation for games, visual effects, and robotics. ⭐ 14.2k
  • 🟒 CHRONO::ENGINE - Multi-physics simulation of rigid and flexible bodies, granular, and fluid systems. ⭐ 2.7k
  • 🟒 DART - Dynamic Animation and Robotics Toolkit for multibody simulation and planning. ⭐ 1.1k
  • 🟒 Drake - Planning, control, and analysis toolbox for nonlinear dynamical systems. ⭐ 3.9k
  • πŸ’€ Flex - GPU-based particle simulation for rigid bodies, fluids, and deformables. ⭐ 787
  • πŸ”΄ FROST - Fast Robot Optimization and Simulation Toolkit for hybrid dynamical systems in MATLAB. ⭐ 169
  • 🟒 Genesis - Generative and universal physics platform for robotics with GPU-accelerated parallel simulation. ⭐ 28.1k
  • IBDS - Impulse-based dynamics simulation for rigid bodies and particle systems.
  • 🟒 idyntree - Library for estimation and whole-body dynamics of floating-base robots. ⭐ 223
  • 🟒 KDL - Orocos Kinematics and Dynamics Library for kinematic chains. ⭐ 857
  • 🟒 kindr - Kinematics and dynamics library for rigid body transformations. ⭐ 607
  • 🟒 Klampt - Robot planning, control, and simulation with visualization support. ⭐ 427
  • πŸ”΄ LibrePilot - Open-source autopilot for UAVs and other autonomous vehicles. ⭐ 348
  • 🟒 MARS - Machina Arte Robotum Simulans β€” a cross-platform simulation environment. ⭐ 67
  • MBDyn - General-purpose multibody dynamics analysis software. [code]
  • 🟒 MBSim - Multi-body simulation environment for flexible and rigid systems. ⭐ 51
  • πŸ”΄ MBSlib - Lightweight multibody system dynamics library. ⭐ 11
  • πŸ’€ metapod - Template-based robot dynamics library using spatial algebra. ⭐ 14
  • πŸ”΄ Moby - Multi-body dynamics simulation for rigid bodies with contact. ⭐ 37
  • 🟒 mrpt - Mobile Robot Programming Toolkit for SLAM, navigation, and computer vision. ⭐ 2.1k
  • 🟒 MuJoCo - Multi-joint dynamics with contact for physics-based simulation and control. ⭐ 11.9k
  • 🟒 mvsim - Lightweight multi-vehicle 2D simulator with ROS integration. ⭐ 359
  • 🟒 Newton - GPU-accelerated differentiable physics engine built on NVIDIA Warp for robotics simulation. ⭐ 2.5k
  • 🟒 Newton Dynamics - Real-time physics engine for rigid body simulation. ⭐ 1k
  • πŸ”΄ nphysics - 2D and 3D rigid body physics engine written in Rust. ⭐ 1.6k
  • ODE - Open Dynamics Engine for simulating rigid body dynamics. [bitbucket]
  • 🟒 OpenRAVE - Open Robotics Automation Virtual Environment for planning and simulation. ⭐ 798
  • 🟒 PhysX - NVIDIA physics engine for real-time rigid body and vehicle simulation. ⭐ 4.4k
  • 🟒 pinocchio - Fast and flexible algorithms for rigid-body dynamics with analytical derivatives. ⭐ 3.1k
  • 🟒 PositionBasedDynamics - Position-based methods for simulating deformable objects and fluids. ⭐ 2.2k
  • 🟒 PyDy - Multibody dynamics analysis with symbolic Python using SymPy. ⭐ 405
  • πŸ’€ qu3e - Lightweight 3D physics engine for rigid body dynamics. ⭐ 974
  • πŸ’€ RaiSim - Cross-platform physics engine for robotics and reinforcement learning. ⭐ 329
  • 🟒 RBDL - Rigid Body Dynamics Library based on Featherstone algorithms. ⭐ 683
  • 🟒 RBDyn - Rigid body dynamics algorithms using spatial algebra with Eigen. ⭐ 211
  • 🟒 ReactPhysics3d - Open-source 3D physics engine for rigid body simulation and collision detection. ⭐ 1.7k
  • 🟑 RigidBodyDynamics.jl - Julia library for rigid body dynamics algorithms. ⭐ 307
  • 🟒 Rigs of Rods - Soft-body vehicle simulator using beam physics. ⭐ 1.1k
  • πŸ”΄ Robopy - Python robotics toolbox inspired by Peter Corke's Robotics Toolbox. ⭐ 228
  • 🟒 Robotics Library - Self-contained C++ library for robot kinematics, planning, and control. ⭐ 1.2k
  • RobWork - Framework for simulation and control of robot systems. [gitlab]
  • 🟒 siconos - Nonsmooth dynamical systems modeling and simulation platform. ⭐ 182
  • 🟒 Simbody - Multibody dynamics library for biomechanical and mechanical systems. ⭐ 2.5k
  • 🟒 SOFA - Simulation Open Framework Architecture for medical and physics simulation. ⭐ 1.1k
  • 🟑 Tiny Differentiable Simulator - Header-only differentiable physics engine for robotics. ⭐ 1.3k
  • πŸ”΄ trep - Simulation and optimal control using variational integrators. ⭐ 20

Libraries for computing joint configurations from end-effector poses.

  • 🟒 IKBT - A python package to solve robot arm inverse kinematics in symbolic form. ⭐ 215
  • 🟒 Kinpy - A simple pure python package to solve inverse kinematics. ⭐ 179
  • πŸ”΄ Lively - A highly configurable toolkit for commanding robots in mixed modalities. ⭐ 7
  • πŸ”΄ RelaxedIK - Real-time Synthesis of Accurate and Feasible Robot Arm Motion. ⭐ 235
  • πŸ”΄ Trip - A python package that solves inverse kinematics of parallel-, serial- or hybrid-robots. ⭐ 44

Machine learning frameworks and tools applied to robotics.

  • 🟒 AllenAct - Python/PyTorch-based Research Framework for Embodied AI. ⭐ 376
  • 🟒 Any4LeRobot - A collection of utilities and tools for LeRobot. ⭐ 838
  • 🟒 DLL - Deep Learning Library (DLL) for C++. ⭐ 687
  • πŸ”΄ DyNet - The Dynamic Neural Network Toolkit. ⭐ 3.4k
  • πŸ”΄ Fido - Lightweight C++ machine learning library for embedded electronics and robotics. ⭐ 462
  • 🟒 Gymnasium - Developing and comparing reinforcement learning algorithms. ⭐ 11.2k
    • πŸ”΄ gym-dart - OpenAI Gym environments using the DART physics engine. ⭐ 141
    • πŸ’€ gym-gazebo - OpenAI Gym environments for the Gazebo simulator. ⭐ 845
  • 🟒 Ivy - Unified Machine Learning Framework. ⭐ 14.2k
  • 🟒 LeRobot - Pretrained models, datasets, and simulation environments for real-world robotics in PyTorch. ⭐ 21.4k
  • 🟒 LeRobot Episode Scoring Toolkit - One-click tool to score, filter, and export higher-quality LeRobot datasets. ⭐ 48
  • πŸ”΄ MiniDNN - A header-only C++ library for deep neural networks. ⭐ 431
  • 🟒 mlpack - Scalable C++ machine learning library. ⭐ 5.6k
  • πŸ”΄ RLLib - Temporal-difference learning algorithms in reinforcement learning. ⭐ 208
  • 🟒 robosuite - A modular simulation framework and benchmark for robot learning. ⭐ 2.2k
  • πŸ”΄ tiny-dnn - Header only, dependency-free deep learning framework in C++14. ⭐ 6k

Libraries for robot motion planning, trajectory optimization, and control.

  • πŸ”΄ AIKIDO - Solving robotic motion planning and decision making problems. ⭐ 228
  • 🟒 Bioptim - Bioptim, a Python Framework for Musculoskeletal Optimal Control in Biomechanics. ⭐ 113
  • πŸ”΄ Control Toolbox - Open-Source C++ Library for Robotics, Optimal and Model Predictive Control. ⭐ 1.7k
  • 🟒 Crocoddyl - Optimal control library for robot control under contact sequence. ⭐ 1.2k
  • CuiKSuite - Applications to solve position analysis and path planning problems.
  • 🟒 cuRobo - A CUDA accelerated library containing a suite of robotics algorithms that run significantly faster. ⭐ 1.3k
  • 🟒 Fields2Cover - Robust and efficient coverage paths for autonomous agricultural vehicles. ⭐ 745
  • πŸ”΄ GPMP2 - Gaussian Process Motion Planner 2. ⭐ 351
  • HPP - Path planning for kinematic chains in environments cluttered with obstacles.
  • 🟒 MoveIt! - Motion planning framework. ⭐ 2k
  • 🟒 OCS2 - Efficient continuous and discrete time optimal control implementation. ⭐ 1.3k
  • 🟒 OMPL - Open motion planning library. ⭐ 1.9k
  • πŸ’€ pymanoid - Humanoid robotics prototyping environment based on OpenRAVE. ⭐ 232
  • πŸ”΄ ROS Behavior Tree - Behavior tree implementation for ROS-based robot task planning. ⭐ 362
  • 🟒 Ruckig - Real-time, time-optimal and jerk-constrained online trajectory generation. ⭐ 1.1k
  • 🟒 The Kautham Project - A robot simulation toolkit for motion planning. ⭐ 24
  • 🟒 TOPP-RA - Time-parameterizing robot trajectories subject to kinematic and dynamic constraints. ⭐ 830
  • 🟑 Ungar - Expressive and efficient implementation of optimal control problems using template metaprogramming. ⭐ 109
Motion Optimizer
  • πŸ”΄ TopiCo - Time-optimal Trajectory Generation and Control. ⭐ 143
  • πŸ”΄ towr - A light-weight, Eigen-based C++ library for trajectory optimization for legged robots. ⭐ 1k
  • 🟒 TrajectoryOptimization - A fast trajectory optimization library written in Julia. ⭐ 386
  • πŸ”΄ trajopt - Framework for generating robot trajectories by local optimization. ⭐ 449
Nearest Neighbor
3D Mapping
  • 🟒 Bonxai - Brutally fast, sparse, 3D Voxel Grid (formerly Treexy). ⭐ 810
  • 🟒 Goxel - Free and open source 3D voxel editor. ⭐ 3.1k
  • 🟒 libpointmatcher - Iterative Closest Point library for 2-D/3-D mapping in Robotics. ⭐ 1.8k
  • 🟒 OctoMap - Efficient Probabilistic 3D Mapping Framework Based on Octrees. ⭐ 2.3k
  • πŸ”΄ Octree - Fast radius neighbor search with an Octree. ⭐ 374
  • 🟒 PCL - 2D/3D image and point cloud processing. ⭐ 10.8k
  • Utility Software
  • 🟑 voxblox - Flexible voxel-based mapping focusing on truncated and Euclidean signed distance fields. ⭐ 1.6k
  • 🟑 wavemap - Fast, efficient and accurate multi-resolution, multi-sensor 3D occupancy mapping. ⭐ 551

Numerical optimization solvers and frameworks used in robotics.

  • 🟒 CasADi - Symbolic framework for algorithmic differentiation and numeric optimization. ⭐ 2.1k
  • 🟒 Ceres Solver - Large scale nonlinear optimization library. ⭐ 4.4k
  • 🟒 eigen-qld - Interface to use the QLD QP solver with the Eigen3 library. ⭐ 16
  • 🟑 EXOTica - Generic optimisation toolset for robotics platforms. ⭐ 161
  • 🟒 hpipm - High-performance interior-point-method QP solvers (Ipopt, Snopt). ⭐ 665
  • 🟒 HYPRE - Parallel solvers for sparse linear systems featuring multigrid methods. ⭐ 812
  • 🟒 ifopt - An Eigen-based, light-weight C++ Interface to Nonlinear Programming Solvers (Ipopt, Snopt). ⭐ 847
  • 🟒 Ipopt - Large scale nonlinear optimization library. ⭐ 1.7k
  • 🟒 libcmaes - Blackbox stochastic optimization using the CMA-ES algorithm. ⭐ 354
  • πŸ”΄ limbo - Gaussian processes and Bayesian optimization of black-box functions. ⭐ 260
  • 🟒 lpsolvers - Linear Programming solvers in Python with a unified API. ⭐ 25
  • 🟒 NLopt - Nonlinear optimization. ⭐ 2.2k
  • 🟑 OptimLib - Lightweight C++ library of numerical optimization methods for nonlinear functions. ⭐ 885
  • 🟒 OSQP - The Operator Splitting QP Solver. ⭐ 2.1k
  • 🟒 Pagmo - Scientific library for massively parallel optimization. ⭐ 907
  • 🟒 ProxSuite - The Advanced Proximal Optimization Toolbox. ⭐ 538
  • πŸ”΄ pymoo - Multi-objective Optimization in Python. ⭐ 26
  • 🟒 qpsolvers - Quadratic Programming solvers in Python with a unified API. ⭐ 725
  • 🟒 RobOptim - Numerical Optimization for Robotics. ⭐ 65
  • 🟒 SCS - Numerical optimization for solving large-scale convex cone problems. ⭐ 613
  • πŸ”΄ sferes2 - Evolutionary computation. ⭐ 170
  • 🟒 SHOT - A solver for mixed-integer nonlinear optimization problems. ⭐ 129

Tools and formats for describing robot models.

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. ⭐ 118
Utility to Build Robot Models
  • 🟒 onshape-to-robot - Converting OnShape assembly to robot definition (SDF or URDF) through OnShape API. ⭐ 486
  • 🟒 phobos - Add-on for Blender creating URDF and SMURF robot models. ⭐ 855

Middleware and frameworks for building robot software systems.

  • πŸ”΄ AutoRally - High-performance testbed for advanced perception and control research. ⭐ 775
  • πŸ”΄ Linorobot - ROS compatible ground robots. ⭐ 1.1k
    • πŸ”΄ onine - Service Robot based on Linorobot and Braccio Arm. ⭐ 47
  • 🟑 Micro-ROS for Arduino - a Micro-ROS fork available in the Arduino Library Manager. ⭐ 12
  • Rock - Software framework for robotic systems.
  • ROS - Flexible framework for writing robot software.
  • 🟒 ROS 2 - Version 2.0 of the Robot Operating System (ROS) software stack. ⭐ 5k
  • 🟒 YARP - Communication and device interfaces applicable from humanoids to embedded devices. ⭐ 585

Reinforcement learning libraries commonly used in robotic control.

  • 🟒 Brax - Massively parallel differentiable rigid body physics engine in JAX for robotics and RL. ⭐ 3k
  • 🟒 CleanRL - Single-file implementations of deep reinforcement learning algorithms. ⭐ 9k
  • 🟒 Isaac Lab - GPU-accelerated open-source framework for robot learning built on NVIDIA Isaac Sim. ⭐ 6.2k
  • 🟒 rl_games - High-performance RL library used in Isaac Gym environments. ⭐ 1.3k
  • 🟒 SKRL - Modular reinforcement learning library with support for multiple ML frameworks. ⭐ 982
  • 🟒 Stable-Baselines3 - Reliable implementations of reinforcement learning algorithms in PyTorch. ⭐ 12.7k

Simultaneous Localization and Mapping libraries.

  • πŸ”΄ AprilSAM - Real-time smoothing and mapping. ⭐ 239
  • πŸ”΄ Cartographer - Real-time SLAM in 2D and 3D across multiple platforms and sensor configurations. ⭐ 7.8k
  • 🟑 DSO - Novel direct and sparse formulation for Visual Odometry. ⭐ 2.4k
  • 🟒 ElasticFusion - Real-time dense visual SLAM system. ⭐ 1.9k
  • 🟒 fiducials - Simultaneous localization and mapping using fiducial markers. ⭐ 278
  • 🟒 GTSAM - Smoothing and mapping (SAM) in robotics and vision. ⭐ 3.3k
  • πŸ”΄ Kintinuous - Real-time large scale dense visual SLAM system. ⭐ 951
  • πŸ”΄ LSD-SLAM - Real-time monocular SLAM. ⭐ 2.7k
  • 🟑 ORB-SLAM2 - Real-time SLAM library for Monocular, Stereo and RGB-D cameras. ⭐ 10.1k
  • 🟒 RTAP-Map - RGB-D Graph SLAM approach based on a global Bayesian loop closure detector. ⭐ 3.6k
  • πŸ”΄ SRBA - Solving SLAM/BA in relative coordinates with flexibility for different submapping strategies. ⭐ 76

SLAM Dataset

Computer vision libraries for robotic perception.

Fluid dynamics simulation libraries.

Libraries and tools for robotic grasping and manipulation.

Environments and models for humanoid robot research.

  • 🟑 Humanoid-Gym - Reinforcement learning environment for humanoid robot locomotion. ⭐ 1.8k
  • 🟒 iCub - Open-source cognitive humanoid robotic platform for embodied cognition research. ⭐ 117
  • 🟒 Legged Gym - Isaac Gym environments for legged robot locomotion training. ⭐ 2.7k
  • 🟒 MuJoCo Menagerie - Collection of well-tuned MuJoCo models for research and development. ⭐ 3k

Frameworks for coupled multi-physics simulations.

  • 🟒 Kratos - Framework for building parallel multi-disciplinary simulation software. ⭐ 1.2k

Mathematics libraries for spatial algebra, Lie groups, and linear algebra.

  • 🟒 Fastor - Light-weight high performance tensor algebra framework in C++11/14/17. ⭐ 830
  • πŸ”΄ linalg.h - Single header public domain linear algebra library for C++11. ⭐ 939
  • 🟒 manif - Small c++11 header-only library for Lie theory. ⭐ 1.7k
  • 🟑 Sophus - Lie groups using Eigen. ⭐ 2.4k
  • 🟒 SpaceVelAlg - Spatial vector algebra with the Eigen3. ⭐ 80
  • 🟒 spatialmath-python - Python classes for pose and orientation in 2D/3D with spatial operations toolbox. ⭐ 615

Other robotics-related tools and utilities.

  • Foxglove Studio - A fully integrated visualization and debugging desktop app for your robotics data.
  • 🟒 fuse - General architecture for performing sensor fusion live on a robot. ⭐ 847

Simulation environments for testing and developing robotic systems.

Free or Open Source
  • 🟒 AI2-THOR - Interactive household environment for embodied AI with Unity backend. ⭐ 1.7k
  • 🟒 AirSim - Simulator based on Unreal Engine for autonomous vehicles. ⭐ 17.9k
  • 🟒 ARGoS - Physics-based simulator designed to simulate large-scale robot swarms. ⭐ 301
  • 🟒 ARTE - Matlab toolbox focussed on robotic manipulators. ⭐ 101
  • 🟒 AVIS Engine - Fast simulation software for autonomous vehicle development. ⭐ 21
  • 🟒 CARLA - Open-source simulator for autonomous driving research. ⭐ 13.5k
  • 🟒 CoppeliaSim - Formaly V-REP. Virtual robot experimentation platform. ⭐ 138
  • πŸ’€ Gazebo - Dynamic multi-robot simulator. ⭐ 1.3k
  • 🟒 Gazebo Sim - Open source robotics simulator (formerly Ignition Gazebo). ⭐ 1.2k
  • πŸ”΄ GraspIt! - Simulator for grasping research that can accommodate arbitrary hand and robot designs. ⭐ 207
  • 🟒 Habitat-Sim - Simulation platform for research in embodied artificial intelligence. ⭐ 3.5k
  • 🟒 Hexapod Robot Simulator - Open-source hexapod robot inverse kinematics and gaits visualizer. ⭐ 681
  • 🟒 Isaac Sim - NVIDIA's GPU-accelerated robotics simulation platform with PhysX 5 and RTX rendering. ⭐ 2.5k
  • 🟒 ManiSkill - Robot simulation and manipulation learning package powered by SAPIEN. ⭐ 2.5k
  • πŸ”΄ MORSE - Modular open robots simulation engine. ⭐ 370
  • 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. ⭐ 14.2k
  • 🟒 PyBullet_Industrial - PyBullet extension for simulating robotic manufacturing processes like milling and 3D printing. ⭐ 48
  • πŸ”΄ Robot Gui - A three.js based 3D robot interface. ⭐ 384
  • 🟒 SAPIEN - Physics-rich simulation environment for articulated objects and manipulation. ⭐ 714
  • Simbad - Java 3D robot simulator with custom controller and sensor support.
  • 🟑 Unity - Game engine with open-source robotics simulation tools and tutorials. ⭐ 2.5k
  • 🟒 Webots - Development environment to model, program, and simulate robots and mechanical systems. ⭐ 4.1k
Commercial
  • Actin Simulation - Real-time robot simulation and control software.
  • Artiminds - Planning, programming, operation, analysis and optimization.
  • Kineo - Path planning and trajectory optimization for industrial robotics.
  • Robot Virtual Worlds - Virtual reality software for educational robotics.
  • RobotDK - Simulation and OLP for robots.
  • RobotStudio - ABB's simulation and offline programming software for robotics.
  • Virtual Robotics Toolkit - 3D virtual environment for programming and testing robots.
  • Visual Components - 3D manufacturing simulation and visualization platform.
Cloud
  • AWS RoboMaker - Service that makes it easy to develop, test, and deploy intelligent robotics applications at scale.

Related curated lists of robotics and AI resources.

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

Star History Chart

CC0