A curated list of open source robotics libraries and software.
- Bullet (github) - Real-Time Physics Simulation
- CHRONO::ENGINE (github) - C++ library for multibody dynamics simulations.
- DART (github) - Dynamic Animation and Robotics Toolkit.
- Drake (github) - A planning, control, and analysis toolbox for nonlinear dynamical systems.
- IBDS - A library for dynamic simulation of multi-body systems in C++.
- KDL (github) - Orocos Kinematics and Dynamics C++ library.
- Klampt (github) - Kris' Locomotion and Manipulation Planning Toolkit
- MBDyn - Free MultiBody Dynamics Simulation Software
- MBSlib (github, paper) - An efficient and modular multibody systems library for kinematics and dynamics simulation, optimization and sensitivity analysis.
- metapod (github) - A template-based robot dynamics library.
- Moby (github) - Multi-body dynamics simulation library written in C++.
- mrpt (github) - The Mobile Robot Programming Toolkit.
- MuJoCo (closed source) - A physics engine aiming to facilitate research and development in robotics, biomechanics, graphics and animation, and other areas where fast and accurate simulation is needed.
- Newton Dynamics (github) - A cross-platform life-like physics simulation library.
- ODE (bitbucket) - An open source, high performance library for simulating rigid body dynamics.
- OpenRAVE (github) - An environment for testing, developing, and deploying robotics motion planning algorithms.
- pinocchio (github) - Dynamic computations using Spatial Algebra.
- PositionBasedDynamics - A library for the physically-based simulation of rigid bodies, deformable solids and fluids.
- RBDL (bitbucket) - Rigid Body Dynamics Library.
- ReactPhysics3d (github) - An open source C++ physics engine library that can be used in 3D simulations and games.
- Robotics Library (github) - A self-contained C++ library for robot kinematics, motion planning and control.
- RobWork - A collection of C++ libraries for simulation and control of robot systems.
- siconos (github) - A software package for the modeling and simulation of nonsmooth dynamical systems.
- Simbody (github) - A multibody dynamics/physics library for simulating articulated biomechanical/mechanical systems.
- SOFA (github) - An Open Source framework primarily targeted at real-time simulation, with an emphasis on medical simulation.
- qu3e (github) - Lightweight and Simple 3D Open Source Physics Engine in C++.
- PyDy (github) - A tool kit written in the Python programming language that utilizes an array of scientific programs to enable the study of multibody dynamics.
- trep (github) - Python module for modeling articulated rigid body mechanical systems in generalized coordinates.
- Aikido (github) - A C++ library for solving robotic motion planning and decision making problems.
- HPP (github) - Humanoid Path Planner: a C++ Software Developement Kit implementing path planning for kinematic chains in environments cluttered with obstacles.
- MoveIt! (github) - State of the art software for mobile manipulation, incorporating the latest advances in motion planning, manipulation, 3D perception, kinematics, control and navigation.
- OMPL (bitbucket, github) - The Open Motion Planning Library.
- Ceres Solver (github) - A large scale non-linear optimization library . Ceres Solver has been used in production at Google for more than four years now. It is clean, extensively tested and well documented code that is actively developed and supported.
- Ipopt (github) - Ipopt (Interior Point OPTimizer, pronounced eye-pea-Opt) is a software package for large-scale ​nonlinear optimization.
- NLopt (github) - NLopt is a free/open-source library for nonlinear optimization, providing a common interface for a number of different free optimization routines available online as well as original implementations of various other algorithms.
- SCS (github) - SCS (
splitting conic solver
) is a numerical optimization package for solving large-scale convex cone problems, based on our paper Conic Optimization via Operator Splitting and Homogeneous Self-Dual Embedding.
- 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 (github repos) - A set of software libraries and tools that help you build robot applications. From drivers to state-of-the-art algorithms, and with powerful developer tools, ROS has what you need for your next robotics project.
- YARP (github) - A library and toolkit for communication and device interfaces, used on everything from humanoids to embedded devices.
- Cartographer (github) - A system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations.
- Gazebo (bitbucket) - A dynamic multi-robot simulator.
- GraspIt! (github) - A simulator for grasping research that can accommodate arbitrary hand and robot designs developed by the Columbia University Robotics Group
- MORSE (github) - The Modular OpenRobots Simulation Engine.
- V-REP - Virtual robot experimentation platform.
The comparisons are moved to COMPARISONS.md.
- Awesome Robotics - This is a list of various books, courses and other resources for robotics. It's an attempt to gather useful material in one place for everybody who wants to learn more about the field.
- Awesome Artificial Intelligence
- Awesome Collision Detection
- Awesome Computer Vision
- Awesome Machine Learning
- Awesome Deep Learning
Contributions are very welcome! Please read the contribution guidelines first. Also, please feel free to report any error.