Skip to content

Latest commit

 

History

History
119 lines (87 loc) · 13.4 KB

README.md

File metadata and controls

119 lines (87 loc) · 13.4 KB

Awesome Robotics Libraries

A curated list of open source robotics libraries and software.

Table of Contents

C++

  • Bullet (github bullet3) - Real-Time Physics Simulation
  • CHRONO::ENGINE (github chrono) - C++ library for multibody dynamics simulations.
  • DART (github dart) - Dynamic Animation and Robotics Toolkit.
  • Drake (github drake) - 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_dynamics) - Orocos Kinematics and Dynamics C++ library.
  • Klampt (github Klampt) - Kris' Locomotion and Manipulation Planning Toolkit
  • MBDyn - Free MultiBody Dynamics Simulation Software
  • MBSlib (github mbslib, paper) - An efficient and modular multibody systems library for kinematics and dynamics simulation, optimization and sensitivity analysis.
  • metapod (github metapod) - A template-based robot dynamics library.
  • Moby (github Moby) - Multi-body dynamics simulation library written in C++.
  • mrpt (github mrpt) - 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 newton-dynamics) - A cross-platform life-like physics simulation library.
  • ODE (bitbucket) - An open source, high performance library for simulating rigid body dynamics.
  • OpenRAVE (github openrave) - An environment for testing, developing, and deploying robotics motion planning algorithms.
  • pinocchio (github pinocchio) - Dynamic computations using Spatial Algebra.
  • PositionBasedDynamics (PositionBasedDynamics) - A library for the physically-based simulation of rigid bodies, deformable solids and fluids.
  • RBDL (bitbucket) - Rigid Body Dynamics Library.
  • ReactPhysics3d (github reactphysics3d) - An open source C++ physics engine library that can be used in 3D simulations and games.
  • Robotics Library (github rl) - 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 siconos) - A software package for the modeling and simulation of nonsmooth dynamical systems.
  • Simbody (github simbody) - A multibody dynamics/physics library for simulating articulated biomechanical/mechanical systems.
  • SOFA (github sofa) - An Open Source framework primarily targeted at real-time simulation, with an emphasis on medical simulation.
  • qu3e (github qu3e) - Lightweight and Simple 3D Open Source Physics Engine in C++.

Python

  • 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.

Motion Optimizer

  • trajopt (github) - A software framework for generating robot trajectories by local optimization.

Nonlinear Programming Libraries

  • Ceres Solver (github ceres-solver) - 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) - Ipopt (Interior Point OPTimizer, pronounced eye-pea-Opt) is a software package for large-scale ​nonlinear optimization.
  • NLopt (github nlopt) - 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) - 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.

The comparisons are moved to COMPARISONS.md.

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

CC0