jslee02 / Awesome Robotics Libraries
Licence: cc0-1.0
😎 A curated list of robotics libraries and software
Stars: ✭ 1,159
Projects that are alternatives of or similar to Awesome Robotics Libraries
Cleanit
Open-source Autonomy Software in Rust-lang with gRPC for the Roomba series robot vacuum cleaners. Under development.
Stars: ✭ 125 (-89.21%)
Mutual labels: robotics, slam, motion-planning
Robotics Toolbox Matlab
Robotics Toolbox for MATLAB
Stars: ✭ 601 (-48.14%)
Mutual labels: robotics, slam, motion-planning
Teaser Plusplus
A fast and robust point cloud registration library
Stars: ✭ 607 (-47.63%)
Mutual labels: robotics, slam, optimization
Minisam
A general and flexible factor graph non-linear least square optimization framework
Stars: ✭ 246 (-78.77%)
Mutual labels: robotics, slam, optimization
SLAM AND PATH PLANNING ALGORITHMS
This repository contains the solutions to all the exercises for the MOOC about SLAM and PATH-PLANNING algorithms given by professor Claus Brenner at Leibniz University. This repository also contains my personal notes, most of them in PDF format, and many vector graphics created by myself to illustrate the theoretical concepts. Hope you enjoy it! :)
Stars: ✭ 107 (-90.77%)
Mutual labels: robotics, motion-planning, slam
RAWSim-O
A simulation framework for Robotic Mobile Fulfillment Systems
Stars: ✭ 82 (-92.92%)
Mutual labels: robotics, simulation, optimization
Awesome Robotics
A curated list of awesome links and software libraries that are useful for robots.
Stars: ✭ 478 (-58.76%)
Mutual labels: robotics, simulation, optimization
Probabilistic robotics
solution of exercises of the book "probabilistic robotics"
Stars: ✭ 734 (-36.67%)
Mutual labels: robotics, slam
Kimera Vio
Visual Inertial Odometry with SLAM capabilities and 3D Mesh generation.
Stars: ✭ 741 (-36.07%)
Mutual labels: robotics, slam
Awesome Decision Making Reinforcement Learning
A selection of state-of-the-art research materials on decision making and motion planning.
Stars: ✭ 68 (-94.13%)
Mutual labels: robotics, motion-planning
Su2
SU2: An Open-Source Suite for Multiphysics Simulation and Design
Stars: ✭ 731 (-36.93%)
Mutual labels: simulation, optimization
Cartographer
Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations.
Stars: ✭ 5,754 (+396.46%)
Mutual labels: robotics, slam
Ros Academy For Beginners
中国大学MOOC《机器人操作系统入门》代码示例 ROS tutorial
Stars: ✭ 861 (-25.71%)
Mutual labels: robotics, simulation
Gradslam
gradslam is an open source differentiable dense SLAM library for PyTorch
Stars: ✭ 833 (-28.13%)
Mutual labels: robotics, slam
Pepper Robot Programming
Pepper Programs : Object Detection Real Time without ROS
Stars: ✭ 29 (-97.5%)
Mutual labels: robotics, slam
Dynamicwindowapproach
The Dynamic Window Approach planning algorithm written in C with Python Bindings
Stars: ✭ 17 (-98.53%)
Mutual labels: robotics, motion-planning
Sdformat
Simulation Description Format (SDFormat) parser and description files.
Stars: ✭ 51 (-95.6%)
Mutual labels: robotics, simulation
Deepseqslam
The Official Deep Learning Framework for Route-based Place Recognition
Stars: ✭ 49 (-95.77%)
Mutual labels: robotics, slam
Awesome Robotics Libraries
A curated list of robotics simulators and libraries.
Table of Contents
Simulators
Free or Open Source
- AirSim - Simulator based on Unreal Engine for autonomous vehicles [github ]
- ARGoS - Physics-based simulator designed to simulate large-scale robot swarms [github ]
- ARTE - Matlab toolbox focussed on robotic manipulators [github ]
- CARLA - Open-source simulator for autonomous driving research [github ]
- CoppeliaSim - Formaly V-REP. Virtual robot experimentation platform [github ]
- Gazebo - Dynamic multi-robot simulator [github ]
- GraspIt! - Simulator for grasping research that can accommodate arbitrary hand and robot designs [github ]
- Ignition Gazebo - Open source robotics simulator [github ]
- Habitat-Sim - 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 - Internet-accessible 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
- Actin Simulation
- Kineo - Path planning and trajectory optimization for industrial robotics and digital mock-up review applications
- RobotDK - Simulation and OLP for robots
- RobotStudio
- Robot Virtual Worlds
- Virtual Robotics Toolkit
- Visual Components
Cloud
- AWS RoboMaker - Service that makes it easy to develop, test, and deploy intelligent robotics applications at scale
Libraries
Dynamics Simulation
⚠️ 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 | BSD-3-Clause | github | |
DART | rigid, soft | ik, id, plan, urdf, sdf | C++, Python | BSD-2-Clause | github | |
Drake | rigid, aero, fluid | ik, trj-opt, plan | C++, Matlab | BSD-3-Clause | github | |
Flex | rigid, soft, particle, fluid | C++ | github | |||
FROST | rigid | MATLAB | BSD-3-Clause | github | ||
IBDS | rigid, particle | C++ | Zlib | |||
idyntree | rigid | id | C++, Python, Matlab, Lua | LGPL-2.1 | github | |
KDL | rigid | ik | C++ | LGPL-2.1 | github | |
kindr | rigid | (todo) | C++, Matlab | BSD-3-Clause | github | |
Klampt | (todo) | (todo) | C++, Python | BSD-3-Clause | github | |
LibrePilot | uav, vehicles | (todo) | C++ | GPL-3.0 | bitbucket, github | |
MARS | (todo) | (todo) | C++, Python | LGPL-3.0 | github | |
MBDyn | (todo) | (todo) | C++ | GPL-2.1 | download | |
MBSim | (todo) | (todo) | C++ | (not specified) | github | |
MBSlib | (todo) | (todo) | C++ | LGPL-3.0 | github | |
metapod | (todo) | (todo) | C++ | LGPL-3.0 | github | |
Moby | rigid | id | C++ | GPL-2.0 | github | |
mrpt | vehicle | slam, cv | C++, Python, Matlab | BSD-3-Clause | github | |
MuJoCo | (todo) | id | C++, Python | licenses | closed source | |
mvsim | vehicle | (todo) | C++ | GPL-3.0 | github | |
Newton Dynamics | (todo) | (todo) | C++ | Zlib | github | |
nphysics | (todo) | (todo) | Rust | BSD-3-Clause | github | |
ODE | rigid | C++ | LGPL-2.1 or BSD-3-Clause | bitbucket | ||
OpenRAVE | (todo) | (todo) | C++, Python | LGPL-3.0 | github | |
pinocchio | rigid | ik, id, urdf, analytical derivatives, code generation | C++, Python | BSD-2-Clause | github | |
PositionBasedDynamics | (todo) | (todo) | C++ | MIT | github | |
PhysX | (todo) | (todo) | C++ | unknown | github | |
PyDy | (todo) | (todo) | Python | BSD-3-Clause | github | |
RBDL | rigid | ik,id,urdf | C++, Python | Zlib | github | |
RBDyn | rigid | (todo) | C++, Python | LGPL-3.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++ | GPL-3.0 | github | |
Robopy | (todo) | (todo) | Python 3 | MIT | github | |
Robotics Library | (todo) | (todo) | C++ | GPL-3.0 or BSD-2-Clause | github | |
RobWork | (todo) | (todo) | C++ | Apache-2.0 | gitlab | |
siconos | (todo) | (todo) | C++, Python | Apache-2.0 | github | |
Simbody | rigid, molecules | id, urdf | C++ | Apache-2.0 | github | |
SOFA | rigid, soft, medical | (todo) | C++ | LGPL-2.1 | github | |
Tiny Differentiable Simulator | rigid | (todo) | C++, Python | Apache-2.0 | github | |
trep | rigid | dm, trj-opt | C, Python | GPL-3.0 | github | |
qu3e | rigid | - | C++ | Zlib | github |
For simplicity, shortened names are used to represent the supported models and features as
-
Supported Models
- rigid: rigid bodies
- soft: soft bodies
- aero: aerodynamics
- granular: granular materials (like sand)
- fluid: fluid dynamics
- vehicles
- uav: unmanned aerial vehicles (like drones)
- medical
- molecules
- parallel: parallel mechanism (like Stewart platform)
-
Features on Simulation, Analysis, Planning, Control Design
- dm: discrete mechanics
- ik: inverse kinematics solvers (please find IK specialized packages in this list)
- id: inverse dynamics
- slam: simultaneous localization and mapping
- trj-opt: trajectory optimization
- plan: motion planning algorithms
- cv: computer vision
- urdf: urdf parser
- sdf: sdf parser
Inverse Kinematics
- IKBT - A python package to solve robot arm inverse kinematics in symbolic form [github ]
- RelaxedIK - Real-time Synthesis of Accurate and Feasible Robot Arm Motion [github ]
Machine Learning
- 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 header-only C++ library for deep neural networks [github ]
- mlpack - Scalable C++ machine learning library [github ]
- OpenAI Gym - Developing and comparing reinforcement learning algorithms [github ]
- RLLib - Temporal-difference learning algorithms in reinforcement learning [github ]
- tiny-dnn - Header only, dependency-free deep learning framework in C++14 [github ]
Motion Planning and Control
- AIKIDO - Solving robotic motion planning and decision making problems. [github ]
- CuiKSuite - Applications to solve position analysis and path planning problems
- Control Toolbox - Open-Source 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 ]
- TOPP-RA - Time-parameterizing robot trajectories subject to kinematic and dynamic constraints [github ]
Motion Optimizer
- opt_control - Time-optimal Trajectory Generation and Control [github ]
- towr - A light-weight, Eigen-based C++ library for trajectory optimization for legged robots [github ]
- trajopt - Framework for generating robot trajectories by local optimization [github ]
Nearest Neighbor
-
Cover-Tree - Cover tree data structure for quick k-nearest-neighbor search [github ]
- Faster cover trees by Mike Izbicki et al., ICML 2015.
- FLANN - Fast Library for Approximate Nearest Neighbors [github ]
- nanoflann - Nearest Neighbor search with KD-trees [github ]
3D Mapping
- libpointmatcher - Iterative Closest Point library for 2-D/3-D 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 voxel-based mapping focusing on truncated and Euclidean signed distance fields [github ]
- Utility Software
Optimization
- CasADi - Symbolic framework for algorithmic differentiation and numeric optimization [github ]
- Ceres Solver - Large scale nonlinear optimization library [github ]
- eigen-qld - Interface to use the QLD QP solver with the Eigen3 library [github ]
- EXOTica - Generic optimisation toolset for robotics platforms [github ]
- hpipm - High-performance interior-point-method QP solvers (Ipopt, Snopt) [github ]
- HYPRE - Parallel solvers for sparse linear systems featuring multigrid methods [github ]
- ifopt - An Eigen-based, light-weight C++ Interface to Nonlinear Programming Solvers (Ipopt, Snopt) [github ]
- Ipopt - Large scale nonlinear optimization library [github ]
- libcmaes - Blackbox stochastic optimization using the CMA-ES algorithm [github ]
- limbo - Gaussian processes and Bayesian optimization of black-box 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 - Multi-objective 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 large-scale convex cone problems [github ]
- sferes2 - Evolutionary computation [github ]
Robot Modeling
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 - Add-on for Blender creating URDF and SMURF robot models [github ]
Robot Platform
- AutoRally - High-performance 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 ]
SLAM
- Cartographer - Real-time SLAM in 2D and 3D across multiple platforms and sensor configurations [github ]
- DSO - Novel direct and sparse formulation for Visual Odometry [github ]
- ElasticFusion - Real-time 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 - Real-time large scale dense visual SLAM system [github ]
- LSD-SLAM - Real-time monocular SLAM [github ]
- ORB-SLAM2 - Real-time SLAM library for Monocular, Stereo and RGB-D cameras [github ]
- RTAP-Map - RGB-D 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
Vision
Fluid
- Fluid Engine Dev - Jet - Fluid simulation engine for computer graphics applications [github ]
Multiphysics
Math
- Fastor - Light-weight 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 header-only library for Lie theory. [github ]
- Sophus - Lie groups using Eigen [github ]
- SpaceVelAlg - Spatial vector algebra with the Eigen3 [github ]
ETC
- fuse - General architecture for performing sensor fusion live on a robot [github ]
Other Awesome Lists
- Awesome Robotics (Kiloreux)
- Awesome Robotics (ahundt)
- Awesome Robotic Tooling
- Awesome Artificial Intelligence
- Awesome Collision Detection
- Awesome Computer Vision
- Awesome Machine Learning
- Awesome Deep Learning
- Awesome Gazebo
- Awesome Grasping
- Awesome Human Robot Interaction
- PythonRobotics - Python sample codes for robotics algorithms
Contributing
Contributions are very welcome! Please read the contribution guidelines first. Also, please feel free to report any error.
License
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].