ethz(苏黎世联邦理工学院)机器人系统实验室开源库

系列文章目录


文章目录

  • 系列文章目录
  • 前言
  • 一、开源库
    • 1.1 OCS2 - Optimal Control for Switched Systems
    • 1.2 RSLGym - 强化学习框架
    • 1.3 ELMO Ethercat SDK
    • 1.4 Kindr - 机器人运动学和动力学
    • 1.5 Grid Map - 用于移动机器人制图的通用网格地图库
    • 1.7 Elevation Mapping - 用于崎岖地形导航的以机器人为中心的高程测绘
    • 1.8 Free Gait - 足式机器人多功能控制架构
    • 1.9 Legged State Estimator (LSE) 库
    • 1.10 TOWR – Trajectory Optimizer for Walking Robots
    • 1.11 XPP – Visualization of Legged Robot Motions in RVIZ
    • 1.12 IFOPT - 基于 Eigen 的 IPOPT 和 SNOPT 接口
    • 1.13 Analytical Kinematics & Dynamics MATLAB Tool - 分析运动学与动力学 MATLAB 工具
    • 1.14 Gait Creation MATLAB Tool - 步态创建 MATLAB 工具
    • 1.15 Locomotion Control Library - 运动控制库
    • 1.16 Point Cloud IO
  • 二、开源数据集
    • 2.1 STINK Dataset
    • 2.2 Palpate Dataset


前言

RSL 机器人系统实验室提供大量开源软件包,为机器人社区提供支持。请查看github。


一、开源库

1.1 OCS2 - Optimal Control for Switched Systems

OCS2 是专为切换系统优化控制(OCS2)定制的 C++ 工具箱。该工具箱可高效实现以下算法

  • SLQ: Continuous-​time domin DDP
  • iLQR: Discrete-​time domain DDP
  • SQP: Multiple-​shooting algorithm based on HPIPM
  • PISOC: Path integral stochatic optimal control

OCS2 入门和教程,或观看 YouTube 上的教程。

网址:https://github.com/leggedrobotics/ocs2

部分翻译:

英文 中文
Multiple-​shooting algorithm 多重打靶法
DDP 微分动态规划
HPIPM QP 求解器
Path integral stochatic optimal control 路径积分随机最优控制

1.2 RSLGym - 强化学习框架

这是一个用于训练强化学习(RL)代理的框架。它将 C++ 中的并行化经验生成与 Python 中的 RL 算法相结合,以提高效率。文档可在外部页面找到。

网址:https://github.com/leggedrobotics/RSLGym

1.3 ELMO Ethercat SDK

这是一个 C++ 库,为通过 EtherCAT(使用 CANopen over EtherCAT CoE 协议)控制 Elmo 和 Gold line 系列电机控制器提供了一个高级接口。

底层 EtherCAT 通信由 soem_interface 库处理。

网址:https://github.com/leggedrobotics/elmo_ethercat_sdk

1.4 Kindr - 机器人运动学和动力学

为机器人技术提供运动学和动态量的 C++ 库。该库的优势在于实现了各种旋转参数化(parameterizations of rotations)。

网址:http://github.com/ethz-asl/kindr

1.5 Grid Map - 用于移动机器人制图的通用网格地图库

这是一个具有 ROS 接口的 C++ 库,用于管理具有多个数据层的二维网格地图。它专为移动机器人测绘而设计,用于存储高程、方差、颜色、摩擦系数、立足点质量、表面法线、可穿越性等数据。它被用于为崎岖地形导航而设计的以机器人为中心的 Robot-​Centric Elevation Mapping (高程制图)软件包中。

网址:https://github.com/ethz-asl/grid_map

1.7 Elevation Mapping - 用于崎岖地形导航的以机器人为中心的高程测绘

这是一个 ROS 软件包,用于使用移动机器人进行高程测绘。该软件专为机器人的(本地)导航任务而设计,机器人配有姿态估计(如 IMU 和里程计)和距离传感器(如 kinect、激光测距传感器、立体摄像机)。所提供的高程图仅限于机器人周围,反映的是通过机器人运动汇总的姿势不确定性(以机器人为中心的映射)。开发这种方法是为了明确处理机器人姿态估计的漂移。

网址:https://github.com/ethz-asl/elevation_mapping

1.8 Free Gait - 足式机器人多功能控制架构

自由步态(Free Gait)是一个软件框架(全身抽象层),用于对足式机器人进行多功能控制。通过其界面,可定义任务空间(task space)中的静态和动态动作。在执行过程中,Free Gait 即使在滑动(slip)和外部干扰(external disturbances)的情况下也能稳健地跟踪所需的运动。该框架的应用包括直观的机器人远程操作(intuitive tele-​operation of the robot)、高效的行为脚本(efficient scripting of behaviors)以及运动和脚步规划界面(interface for motion and footstep planners)。

网址:https://github.com/leggedrobotics/free_gait

1.9 Legged State Estimator (LSE) 库

Legged State Estimator(LSE)库为足式系统提供了可观测性约束扩展卡尔曼滤波器,并提供了在不同传感器模式之间进行时延校准的例程。

网址:https://github.com/ethz-asl/two_state_information_filter

1.10 TOWR – Trajectory Optimizer for Walking Robots

集成了 ROS 的 C++ 库通过求解优化问题为腿部机器人生成物理上可行的运动。求解器将动力学中心模型、物理约束条件以及所需的目标位置提供给求解器,然后生成运动计划。TOWR 可在 100 毫秒内生成 5 步单足跳、双足行走或完整的四足小跑循环,同时对步态和步长进行优化(视频)。

网址:https://github.com/ethz-adrl/towr

1.11 XPP – Visualization of Legged Robot Motions in RVIZ

Xpp 是一组 ROS 软件包,用于浮动基座机器人运动计划的可视化。除了在 RVIZ 中绘制支撑区域、接触力和运动轨迹外,它还为特定机器人显示这些计划。当前的机器人包括单腿、双腿跳板、HyQ 和四旋翼机器人;sudo apt-​get install ros-​kinetic-xpp

网址:http://wiki.ros.org/xpp

1.12 IFOPT - 基于 Eigen 的 IPOPT 和 SNOPT 接口

一个轻量级(1 千行代码)基于 C++ 和 Eigen 的界面,用于使用 Ipopt 和 Snopt 等非线性编程求解器。用户可通过一组 C++ 类来定义与求解器无关的优化问题,然后使用任一求解器来求解该问题。只需将该软件包放入您的 catkin 工作区即可(示例)。

网址:https://github.com/ethz-adrl/ifopt

1.13 Analytical Kinematics & Dynamics MATLAB Tool - 分析运动学与动力学 MATLAB 工具

proNEu 工具使用 MATLAB 符号数学工具箱,根据投影牛顿-欧拉方法推导出分析全局运动学和运动方程。
几个示例重点说明了如何使用该工具。用户先选择广义坐标、执行器和链接参数,然后建立整个系统的非常简单的运动学树。全局运动学和运动方程以符号方式推导出来,用户可以直观地检查机器人的配置。示例中概述了用户如何手动获取可在任何仿真环境中使用或嵌入的函数文件、编译的 mex 函数或 c 代码。

网址:https://bitbucket.org/leggedrobotics/c_proneu

1.14 Gait Creation MATLAB Tool - 步态创建 MATLAB 工具

用 MATLAB R2010a 进行建模、模拟、步态创建和步态分析的工具、方法和示例。为 MATLAB R2010a 提供建模、仿真、步态创建和步态分析的工具、方法和示例。
该框架包含模拟被动和主动混合动力系统的方法。提供了模拟记录和可视化功能,并提供了三个不同的行走和跑步机器人模型作为示例和进一步研究的起点。步态创建(即寻找周期性解决方案)和优化是通过单次射击和直接搭配算法实现的,还提供了主动和被动系统稳定性分析功能。所有概念和函数都将通过所提供的示例进行介绍。拉格朗日力学使用符号数学工具箱推导,数值优化/根搜索使用优化工具箱的 fsolve 和 fmincon 例程执行。

网址:https://bitbucket.org/leggedrobotics/c_gaitcreation

1.15 Locomotion Control Library - 运动控制库

适用于四足机器人的 C++ 运动控制库。

网址:https://github.com/ethz-asl/loco

1.16 Point Cloud IO

从文件(如 ply、vtk)读写点云的 ROS 节点。

网址:https://github.com/ethz-asl/point_cloud_io

二、开源数据集

2.1 STINK Dataset

苏黎世下水道地形检测数据集(STINK)是由有脚机器人 ANYmal 在苏黎世下水道中采集的,用于评估混凝土的老化状况。机器人脚部安装了传感器,通过 "抓挠 "动作对地面进行检测。记录并评估了 18 个传感器信号(2 个 IMU 和力/扭矩传感器)。混凝土的状况从良好到一般不等,没有遇到严重或极差的结构性故障。我们总共在下水道的不同部位采集了 355 个样本(良好:119 个样本,满意:79 个样本,一般:157 个样本),并与提供地面实况的专业下水道检查员一起对这些样本进行了分类。该数据集包含一个 Matlab 脚本,用于训练支持向量机进行分类。该数据集与以下出版物相关联 (https://doi.org/10.3929/ethz-b-000351221)。

数据 08.04.2019, 作者: Hendrik Kolvenbach, 下载

2.2 Palpate Dataset

行星土壤撞击数据集(PALPATE)是一个记录的数据集,用于展示机器学习方法在对细粒度土壤上复杂的土脚相互作用进行分类时的适用性。该数据集包括 2600 次脚-土壤撞击,由专门设计的试验台自动执行和记录。撞击是在 ES-1、ES-2、ES-3 等各种火星土壤模拟物上进行的。数据集包括由两个不同的脚和试验台上的传感器获取的传感器信号。此外,还包括一个由四足机器人 ANYmal 创建的 240 次撞击的小型数据集。该数据集链接到以下出版物 (https://doi.org/10.1109/LRA.2019.2896732)。

数据 04.12.2018, 作者: 亨德里克-科尔文巴赫, 下载

你可能感兴趣的:(机器人,自动驾驶,ROS,开源软件,MATLAB,四足机器人,人工智能)