专栏首页专知机器人开发库软件大列表

机器人开发库软件大列表

’Awesome Robotics Libraries - A curated list of robotics libraries and software' by Jeongseok Lee

来源:http://jslee02.github.io/awesome-robotics-libraries/

Awesome Robotics Libraries

A curated list of robotics simulators and libraries.

Table of Contents

  • Simulators
  • Libraries
    • Dynamics Simulation
    • Machine Learning
    • Motion Planning and Control
    • Optimization
    • Robot Modeling
    • Robot Platform
    • SLAM
    • Vision
  • Other Awesome Lists
  • Contributing

Simulators

Free or Open Source
  • AirSim - Simulator based on Unreal Engine for autonomous vehicles [github
  • ARTE - Matlab toolbox focussed on robotic manipulators [github
  • Gazebo - Dynamic multi-robot simulator [bitbucket]
  • GraspIt! - Simulator for grasping research that can accommodate arbitrary hand and robot designs [github
  • Isaac - Nvidia’s virtual simulator for robots
  • MORSE - Modular open robots simulation engine [github
  • V-REP - Virtual robot experimentation platform
Commercial
  • Actin Simulation
  • RobotDK - Simulation and OLP for robots
  • RobotStudio
  • Robot Virtual Worlds
  • Virtual Robotics Toolkit
  • Visual Components
  • Webots - Robot simulator that provides a complete development environment

Libraries

Dynamics Simulation

:warning: 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

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

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

C++, Python

LGPL-3.0

github

PositionBasedDynamics

(todo)

(todo)

C++

MIT

github

PyDy

(todo)

(todo)

Python

BSD-3-Clause

github

RBDL

rigid

ik

C++, Python

LGPL-3.0

bitbucket

RBDyn

rigid

(todo)

C++, Python

LGPL-3.0

github

ReactPhysics3d

(todo)

(todo)

C++

Zlib

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

SVN (id/pw required)

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

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

Machine Learning

  • OpenAI Gym - Developing and comparing reinforcement learning algorithms [github]
    • gym-dart [github]
    • gym-gazebo [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 - Control, estimation, optimization and motion planning in robotics [bitbucket]
  • HPP - Path planning for kinematic chains in environments cluttered with obstacles [github]
  • MoveIt! - Motion planning framework [github]
  • OMPL - Open motion planning library [bitbucket, github]
Motion Optimizer
  • 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
  • OctoMap - Efficient Probabilistic 3D Mapping Framework Based on Octrees [github]
  • voxblox - Flexible voxel-based mapping focusing on truncated and Euclidean signed distance fields [github]

Optimization

  • CasADi - Symbolic framework for algorithmic differentiation and numeric optimization [github]
  • Ceres Solver - Large scale nonlinear optimization library [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]
  • NLopt - Nonlinear optimization [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

  • Linorobot - ROS compatible ground robots [github]
    • onine - Service Robot based on Linorobot and Braccio Arm [github]
  • Rock - Software framework for robotic systems
  • ROS - Flexible framework for writing robot software [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]
  • 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]
  • SRBA - Solving SLAM/BA in relative coordinates with flexibility for different submapping strategies [github]

Vision

  • ViSP - Visual Servoing Platform [github]

Other Awesome Lists

  • Awesome Robotics (Kiloreux)
  • Awesome Robotics (ahundt)
  • Awesome Artificial Intelligence
  • Awesome Collision Detection
  • Awesome Computer Vision
  • Awesome Machine Learning
  • Awesome Deep Learning
  • Awesome Gazebo
  • PythonRobotics

Contributing

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

License

本文分享自微信公众号 - 专知(Quan_Zhuanzhi)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-03-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【业界】Facebook的基础AI算法是如何驱动社交网络的发展?

    【导读】Facebook的基础AI算法是如何驱动社交网络的发展。我们来一览这篇文章。 Instagram工程师曾在2016年接到一个艰巨的任务。当时由于担心人们...

    WZEARW
  • 中国工程院院长周济:新一代智能制造(附200页PPT原文下载)

    1月12日,由中国机械工程学会、中国汽车工程学会、中国电工技术学会、中国仪器仪表学会、中国农业机械学会等五学会联合主办的“迎春报告会”在中国工程院报告厅举办,中...

    WZEARW
  • 真的靠谱吗?如何看待“刷脸支付”的技术现状

    随着生物识别技术在移动支付领域的拓展,如今,已有支付宝“刷脸支付”在位于杭州市的肯德基KPRO餐厅正式商用。这之前,京东线下的京东之家体验店已经开始内测“刷脸支...

    WZEARW
  • 不知道怎么开的船?

    最近开始再一次准备看数据结构和算法,再一次,是不能再跟闹着玩的一次了。看着实验室最近找工作的师兄师姐,一边心疼他们,一边更心疼明年的自己。所以我也想到了也许很好...

    小二三不乌
  • [linux][statethread]协程库ST技术分析

    前言: 在IO密集型的场景下,尤其是互联网后台,经常会使用epoll等IO复用技术。鉴于直接使用epoll的代码阅读性和开发效率等原因,就抽象出来了各种高级模型...

    皮振伟
  • python 修改文件的创建时间、修改时间、访问时间

    突如其来想知道一下 python 如何修改文件的属性(创建、修改、访问时间),于是就去网上搜集了可行方案,也就有了这篇博客

    suwanbin
  • 上来就情感分析?还是先用python去去重吧!

    在做情感分析的时候,有时候需要对文本进行分词,做词频统计。上图是某个店铺的留言数据,对于第26条,只是为了说明“东西很好,很好用!”,但是为了凑字数留言,就写成...

    AkShare
  • 上来就情感分析?还是先用python去去重吧!

    在做情感分析的时候,有时候需要对文本进行分词,做词频统计。上图是某个店铺的留言数据,对于第26条,只是为了说明“东西很好,很好用!”,但是为了凑字数留言,就写成...

    朱小五
  • 从SARSA算法到Q-learning with ϵ-greedy Exploration算法

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    Steve Wang
  • Temporal Difference - 时序差分学习

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    Steve Wang

扫码关注云+社区

领取腾讯云代金券