Awesome Robotics Libraries
A curated list of robotics libraries and simulators.
Contents
Legend: π’ Active (<1yr) Β· π‘ Slow (1-2yr) Β· π΄ Stale (>2yr) Β· π Archived
Libraries
Dynamics Simulation
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. β 3.1k
- π’ Bullet - Real-time physics simulation for games, visual effects, and robotics. β 14.4k
- π’ CHRONO::ENGINE - Multi-physics simulation of rigid and flexible bodies, granular, and fluid systems. β 2.8k
- π’ DART - Dynamic Animation and Robotics Toolkit for multibody simulation and planning. β 1.1k
- π’ Drake - Planning, control, and analysis toolbox for nonlinear dynamical systems. β 4k
- π Flex - GPU-based particle simulation for rigid bodies, fluids, and deformables. β 788
- π΄ FROST - Fast Robot Optimization and Simulation Toolkit for hybrid dynamical systems in MATLAB. β 170
- π’ Genesis - Generative and universal physics platform for robotics with GPU-accelerated parallel simulation. β 28.4k
- IBDS - Impulse-based dynamics simulation for rigid bodies and particle systems.
- π’ idyntree - Library for estimation and whole-body dynamics of floating-base robots. β 230
- π’ KDL - Orocos Kinematics and Dynamics Library for kinematic chains. β 868
- π‘ kindr - Kinematics and dynamics library for rigid body transformations. β 606
- π’ Klampt - Robot planning, control, and simulation with visualization support. β 428
- π΄ LibrePilot - Open-source autopilot for UAVs and other autonomous vehicles. β 353
- π’ 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. β 12.7k
- π’ mvsim - Lightweight multi-vehicle 2D simulator with ROS integration. β 376
- π’ Newton - GPU-accelerated differentiable physics engine built on NVIDIA Warp for robotics simulation. β 3.8k
- π’ 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. β 801
- π’ PhysX - NVIDIA physics engine for real-time rigid body and vehicle simulation. β 4.5k
- π’ pinocchio - Fast and flexible algorithms for rigid-body dynamics with analytical derivatives. β 3.2k
- π’ PositionBasedDynamics - Position-based methods for simulating deformable objects and fluids. β 2.2k
- π’ PyDy - Multibody dynamics analysis with symbolic Python using SymPy. β 410
- π qu3e - Lightweight 3D physics engine for rigid body dynamics. β 980
- π RaiSim - Cross-platform physics engine for robotics and reinforcement learning. β 329
- π’ RBDL - Rigid Body Dynamics Library based on Featherstone algorithms. β 690
- π’ RBDyn - Rigid body dynamics algorithms using spatial algebra with Eigen. β 214
- π‘ ReactPhysics3d - Open-source 3D physics engine for rigid body simulation and collision detection. β 1.7k
- π‘ RigidBodyDynamics.jl - Julia library for rigid body dynamics algorithms. β 310
- π’ Rigs of Rods - Soft-body vehicle simulator using beam physics. β 1.2k
- π΄ 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. β 183
- π’ Simbody - Multibody dynamics library for biomechanical and mechanical systems. β 2.5k
- π’ SOFA - Simulation Open Framework Architecture for medical and physics simulation. β 1.2k
- π‘ Tiny Differentiable Simulator - Header-only differentiable physics engine for robotics. β 1.4k
- π΄ trep - Simulation and optimal control using variational integrators. β 20
Inverse Kinematics
Libraries for computing joint configurations from end-effector poses.
- π’ IKBT - A python package to solve robot arm inverse kinematics in symbolic form. β 216
- π’ Kinpy - A simple pure python package to solve inverse kinematics. β 181
- π΄ Lively - A highly configurable toolkit for commanding robots in mixed modalities. β 7
- π΄ RelaxedIK - Real-time Synthesis of Accurate and Feasible Robot Arm Motion. β 244
- π΄ Trip - A python package that solves inverse kinematics of parallel-, serial- or hybrid-robots. β 44
Machine Learning
Machine learning frameworks and tools applied to robotics.
- π’ AllenAct - Python/PyTorch-based Research Framework for Embodied AI. β 380
- π’ Any4LeRobot - A collection of utilities and tools for LeRobot. β 942
- π’ 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.7k
- π’ Ivy - Unified Machine Learning Framework. β 14.2k
- π’ LeRobot - Pretrained models, datasets, and simulation environments for real-world robotics in PyTorch. β 23k
- π’ LeRobot Episode Scoring Toolkit - One-click tool to score, filter, and export higher-quality LeRobot datasets. β 53
- π΄ MiniDNN - A header-only C++ library for deep neural networks. β 434
- π’ mlpack - Scalable C++ machine learning library. β 5.6k
- π΄ RLLib - Temporal-difference learning algorithms in reinforcement learning. β 211
- π’ robosuite - A modular simulation framework and benchmark for robot learning. β 2.3k
- π΄ tiny-dnn - Header only, dependency-free deep learning framework in C++14. β 6k
Motion Planning and Control
Libraries for robot motion planning, trajectory optimization, and control.
- π΄ AIKIDO - Solving robotic motion planning and decision making problems. β 229
- π’ Bioptim - Bioptim, a Python Framework for Musculoskeletal Optimal Control in Biomechanics. β 118
- π΄ 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.4k
- π’ Fields2Cover - Robust and efficient coverage paths for autonomous agricultural vehicles. β 783
- π΄ GPMP2 - Gaussian Process Motion Planner 2. β 356
- 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.4k
- π’ OMPL - Open motion planning library. β 2k
- π’ Optimization Engine (OpEn) - Optimization Engine (OpEn) is a numerical optimization library written in Rust and a code generator in Python that facilitates the design of optimizers, suitable for embedded applications and robotics. Typical applications include model predictive control (MPC) and moving horizon estimation (MHE), which are popular in robotics. OpEn has been used on ground and aerial vehicles.
Some examples of applications where OpEn has been used are autonomous racing cars, navigation of a Husky robot using ROS, collision-free navigation of heavy equipment (paper, demo).
OpEn can automatically generate ROS packages, which can be used directly in robotics applications.
Lastly, OpEn is becoming popular: it currently counts 616 stars on GitHub and more than 300k downloads from crates.io. The Python package, opengen counted 804 downloads in the last month (link). β 621
- π pymanoid - Humanoid robotics prototyping environment based on OpenRAVE. β 232
- π’ Python Motion Planning - Provides the implementations of common
Motion planningalgorithms, including path planners on N-D grid, controllers for path-tracking, curve generators, a visualizer based on matplotlib and a toy physical simulator to test controllers. β 1k - π΄ ROS Behavior Tree - Behavior tree implementation for ROS-based robot task planning. β 363
- π’ ROS Motion Planning - A computational problem that involves finding a sequence of valid configurations to move the robot from the source to the destination. Generally, it includes Path Searching and Trajectory Optimization. β 3.4k
- π’ Ruckig - Real-time, time-optimal and jerk-constrained online trajectory generation. β 1.2k
- π’ The Kautham Project - A robot simulation toolkit for motion planning. β 24
- π’ TOPP-RA - Time-parameterizing robot trajectories subject to kinematic and dynamic constraints. β 859
- π‘ Ungar - Expressive and efficient implementation of optimal control problems using template metaprogramming. β 108
Motion Optimizer
- π΄ TopiCo - Time-optimal Trajectory Generation and Control. β 145
- π΄ towr - A light-weight, Eigen-based C++ library for trajectory optimization for legged robots. β 1k
- π‘ TrajectoryOptimization - A fast trajectory optimization library written in Julia. β 394
- π΄ trajopt - Framework for generating robot trajectories by local optimization. β 454
Nearest Neighbor
- π΄ Cover-Tree - Cover tree data structure for quick k-nearest-neighbor search. β 64
- Faster cover trees - by Mike Izbicki et al., ICML 2015.
- π‘ FLANN - Fast Library for Approximate Nearest Neighbors. β 2.4k
- π’ nanoflann - Nearest Neighbor search with KD-trees. β 2.6k
3D Mapping
- π’ Bonxai - Brutally fast, sparse, 3D Voxel Grid (formerly Treexy). β 834
- π’ 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. β 375
- π’ PCL - 2D/3D image and point cloud processing. β 10.9k
- 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. β 553
Optimization
Numerical optimization solvers and frameworks used in robotics.
- π’ CasADi - Symbolic framework for algorithmic differentiation and numeric optimization. β 2.2k
- π’ Ceres Solver - Large scale nonlinear optimization library. β 4.4k
- π’ eigen-qld - Interface to use the QLD QP solver with the Eigen3 library. β 17
- π’ EXOTica - Generic optimisation toolset for robotics platforms. β 162
- π’ hpipm - High-performance interior-point-method QP solvers (Ipopt, Snopt). β 674
- π’ HYPRE - Parallel solvers for sparse linear systems featuring multigrid methods. β 828
- π’ ifopt - An Eigen-based, light-weight C++ Interface to Nonlinear Programming Solvers (Ipopt, Snopt). β 851
- π’ Ipopt - Large scale nonlinear optimization library. β 1.7k
- π’ libcmaes - Blackbox stochastic optimization using the CMA-ES algorithm. β 363
- π΄ limbo - Gaussian processes and Bayesian optimization of black-box functions. β 265
- π’ 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. β 890
- π’ OSQP - The Operator Splitting QP Solver. β 2.1k
- π’ Pagmo - Scientific library for massively parallel optimization. β 915
- π’ ProxSuite - The Advanced Proximal Optimization Toolbox. β 549
- π΄ pymoo - Multi-objective Optimization in Python. β 26
- π’ qpsolvers - Quadratic Programming solvers in Python with a unified API. β 738
- π‘ RobOptim - Numerical Optimization for Robotics. β 64
- π’ SCS - Numerical optimization for solving large-scale convex cone problems. β 619
- π΄ sferes2 - Evolutionary computation. β 170
- π’ SHOT - A solver for mixed-integer nonlinear optimization problems. β 131
Robot Modeling
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. β 124
Utility to Build Robot Models
- π’ onshape-to-robot - Converting OnShape assembly to robot definition (SDF or URDF) through OnShape API. β 516
- π’ phobos - Add-on for Blender creating URDF and SMURF robot models. β 873
Robot Platform
Middleware and frameworks for building robot software systems.
- π΄ AutoRally - High-performance testbed for advanced perception and control research. β 779
- π΄ Linorobot - ROS compatible ground robots. β 1.1k
- π΄ onine - Service Robot based on Linorobot and Braccio Arm. β 49
- π‘ 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. β 5.3k
- π’ ros2_medkit - Structured fault management for ROS 2 β persistent fault lifecycle, REST/SSE API, root cause correlation, and automatic rosbag capture on fault. Inspired by SOVD (Service-Oriented Vehicle Diagnostics), the ASAM standard that brings HTTP/REST diagnostics to automotive and robotics. β 207
- π’ YARP - Communication and device interfaces applicable from humanoids to embedded devices. β 590
Reinforcement Learning for Robotics
Reinforcement learning libraries commonly used in robotic control.
- π’ Brax - Massively parallel differentiable rigid body physics engine in JAX for robotics and RL. β 3.1k
- π’ CleanRL - Single-file implementations of deep reinforcement learning algorithms. β 9.5k
- π’ Isaac Lab - GPU-accelerated open-source framework for robot learning built on NVIDIA Isaac Sim. β 6.8k
- π’ rl_games - High-performance RL library used in Isaac Gym environments. β 1.3k
- π’ SKRL - Modular reinforcement learning library with support for multiple ML frameworks. β 1k
- π’ Stable-Baselines3 - Reliable implementations of reinforcement learning algorithms in PyTorch. β 13k
SLAM
Simultaneous Localization and Mapping libraries.
- π΄ AprilSAM - Real-time smoothing and mapping. β 238
- π΄ 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.4k
- π΄ Kintinuous - Real-time large scale dense visual SLAM system. β 952
- π΄ 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.7k
- π΄ SRBA - Solving SLAM/BA in relative coordinates with flexibility for different submapping strategies. β 75
SLAM Dataset
- π‘ Awesome SLAM Datasets - Curated list of SLAM-related datasets. β 1.9k
Vision
Computer vision libraries for robotic perception.
- π΄ BundleTrack - 6D Pose Tracking for Novel Objects without 3D Models. β 677
- π΄ se(3)-TrackNet - 6D Pose Tracking for Novel Objects without 3D Models. β 420
- π’ ViSP - Visual Servoing Platform. β 866
Fluid
Fluid dynamics simulation libraries.
- π΄ Fluid Engine Dev - Jet - Fluid simulation engine for computer graphics applications. β 2.1k
Grasping
Libraries and tools for robotic grasping and manipulation.
- π’ AnyGrasp SDK - SDK for AnyGrasp, a 6-DoF grasp pose detection method. β 799
- π‘ Contact-GraspNet - 6-DoF grasp generation for parallel-jaw grippers using contact maps. β 468
- π΄ GraspIt! - Simulator for grasping research that can accommodate arbitrary hand and robot designs. β 210
- π’ GraspNet API - Python API and evaluation tools for the GraspNet benchmark. β 331
Humanoid Robotics
Environments and models for humanoid robot research.
- π‘ Humanoid-Gym - Reinforcement learning environment for humanoid robot locomotion. β 1.9k
- π’ iCub - Open-source cognitive humanoid robotic platform for embodied cognition research. β 118
- π’ Legged Gym - Isaac Gym environments for legged robot locomotion training. β 2.9k
- π’ MuJoCo Menagerie - Collection of well-tuned MuJoCo models for research and development. β 3.3k
Multiphysics
Frameworks for coupled multi-physics simulations.
Math
Mathematics libraries for spatial algebra, Lie groups, and linear algebra.
- π’ Fastor - Light-weight high performance tensor algebra framework in C++11/14/17. β 837
- π΄ linalg.h - Single header public domain linear algebra library for C++11. β 948
- π’ manif - Small c++11 header-only library for Lie theory. β 1.8k
- π‘ Sophus - Lie groups using Eigen. β 2.4k
- π’ SpaceVelAlg - Spatial vector algebra with the Eigen3. β 81
- π’ spatialmath-python - Python classes for pose and orientation in 2D/3D with spatial operations toolbox. β 623
ETC
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. β 856
Simulators
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. β 18.1k
- π’ ARGoS - Physics-based simulator designed to simulate large-scale robot swarms. β 304
- π’ 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.8k
- π’ CoppeliaSim - Formaly V-REP. Virtual robot experimentation platform. β 142
- π Gazebo - Dynamic multi-robot simulator. β 1.3k
- π’ Gazebo Sim - Open source robotics simulator (formerly Ignition Gazebo). β 1.3k
- π΄ GraspIt! - Simulator for grasping research that can accommodate arbitrary hand and robot designs. β 210
- π’ Habitat-Sim - Simulation platform for research in embodied artificial intelligence. β 3.6k
- π’ Hexapod Robot Simulator - Open-source hexapod robot inverse kinematics and gaits visualizer. β 725
- π’ Isaac Sim - NVIDIAβs GPU-accelerated robotics simulation platform with PhysX 5 and RTX rendering. β 2.9k
- π’ ManiSkill - Robot simulation and manipulation learning package powered by SAPIEN. β 2.7k
- π΄ MORSE - Modular open robots simulation engine. β 369
- 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.4k
- π’ PyBullet_Industrial - PyBullet extension for simulating robotic manufacturing processes like milling and 3D printing. β 52
- π΄ Robot Gui - A three.js based 3D robot interface. β 385
- π’ SAPIEN - Physics-rich simulation environment for articulated objects and manipulation. β 742
- 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.2k
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.
Other Awesome Lists
Related curated lists of robotics and AI resources.
- Awesome Artificial Intelligence - Curated list of AI courses, books, video lectures, and papers.
- Awesome Collision Detection - Curated list of collision detection libraries and resources.
- Awesome Computer Vision - Curated list of computer vision resources.
- Awesome Deep Learning - Curated list of deep learning tutorials, projects, and communities.
- Awesome Gazebo - Curated list of Gazebo simulation framework resources.
- Awesome Grasping - Curated list of grasping libraries and resources.
- Awesome Human Robot Interaction - Curated list of human-robot interaction libraries and resources.
- Awesome Machine Learning - Curated list of machine learning frameworks, libraries, and software.
- Awesome Physical AI - Curated list of academic papers and resources on Physical AI.
- Awesome Robotic Tooling - Tooling for professional robotic development in C++ and Python with ROS and autonomous driving.
- Awesome Robotics - Curated list of robotics resources (Kiloreux).
- Awesome Robotics - Curated list of robotics links and software libraries (ahundt).
- Awesome VLA Study - A curated VLA (Vision-Language-Action) study guide that organizes ~30 key papers into a 6-phase, 14-week reading curriculum β covering diffusion/flow matching foundations, robot foundation model architectures, data scaling, efficient inference, RL fine-tuning, and world models.
- PythonRobotics - Python sample codes for robotics algorithms.
- Robotics Coursework - A list of robotics courses you can take online.
Contributing
Contributions are very welcome! Please read the contribution guidelines first. Also, please feel free to report any error.
