ethz(苏黎世联邦理工学院)机器人系统实验室开源库_towr-程序员宅基地

技术标签: 自动驾驶  机器人  ROS  开源软件  人工智能  MATLAB  四足机器人  

系列文章目录


文章目录

  • 系列文章目录
  • 前言
  • 一、开源库
    • 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 协议)控制 ElmoGold 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, 作者: 亨德里克-科尔文巴赫, 下载

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_46300916/article/details/134741986

智能推荐

python编码问题之encode、decode、codecs模块_python中encode在什么模块-程序员宅基地

文章浏览阅读2.1k次。原文链接先说说编解码问题编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。 Eg:str1.decode('gb2312') #将gb2312编码的字符串转换成unicode编码str2.encode('gb2312') #将unicode编码..._python中encode在什么模块

Java数据流-程序员宅基地

文章浏览阅读949次,点赞21次,收藏15次。本文介绍了Java中的数据输入流(DataInputStream)和数据输出流(DataOutputStream)的使用方法。

ie浏览器无法兼容的问题汇总_ie 浏览器 newdate-程序员宅基地

文章浏览阅读111次。ie无法兼容_ie 浏览器 newdate

想用K8s,还得先会Docker吗?其实完全没必要-程序员宅基地

文章浏览阅读239次。这篇文章把 Docker 和 K8s 的关系给大家做了一个解答,希望还在迟疑自己现有的知识储备能不能直接学 K8s 的,赶紧行动起来,K8s 是典型的入门有点难,后面越用越香。

ADI中文手册获取方法_adi 如何查看数据手册-程序员宅基地

文章浏览阅读561次。ADI中文手册获取方法_adi 如何查看数据手册

React 分页-程序员宅基地

文章浏览阅读1k次,点赞4次,收藏3次。React 获取接口数据实现分页效果以拼多多接口为例实现思路加载前 加载动画加载后 判断有内容的时候 无内容的时候用到的知识点1、动画效果(用在加载前,加载之后就隐藏或关闭,用开关效果即可)2、axios请求3、map渲染页面4、分页插件(antd)代码实现import React, { Component } from 'react';//引入axiosimport axios from 'axios';//引入antd插件import { Pagination }_react 分页

随便推点

关于使用CryPtopp库进行RSA签名与验签的一些说明_cryptopp 签名-程序员宅基地

文章浏览阅读449次,点赞9次,收藏7次。这个变量与验签过程中的SignatureVerificationFilter::PUT_MESSAGE这个宏是对应的,SignatureVerificationFilter::PUT_MESSAGE,如果在签名过程中putMessage设置为true,则在验签过程中需要添加SignatureVerificationFilter::PUT_MESSAGE。项目中使用到了CryPtopp库进行RSA签名与验签,但是在使用过程中反复提示无效的数字签名。否则就会出现文章开头出现的数字签名无效。_cryptopp 签名

新闻稿的写作格式_新闻稿时间应该放在什么位置-程序员宅基地

文章浏览阅读848次。新闻稿是新闻从业者经常使用的一种文体,它的格式与内容都有着一定的规范。本文将从新闻稿的格式和范文两个方面进行介绍,以帮助读者更好地了解新闻稿的写作_新闻稿时间应该放在什么位置

Java中的转换器设计模式_java转换器模式-程序员宅基地

文章浏览阅读1.7k次。Java中的转换器设计模式 在这篇文章中,我们将讨论 Java / J2EE项目中最常用的 Converter Design Pattern。由于Java8 功能不仅提供了相应类型之间的通用双向转换方式,而且还提供了转换相同类型对象集合的常用方法,从而将样板代码减少到绝对最小值。我们使用Java8 功能编写了..._java转换器模式

应用k8s入门-程序员宅基地

文章浏览阅读150次。1,kubectl run创建pods[root@master ~]# kubectl run nginx-deploy --image=nginx:1.14-alpine --port=80 --replicas=1[root@master ~]# kubectl get podsNAME READY STATUS REST...

PAT菜鸡进化史_乙级_1003_1003 pat乙级 最优-程序员宅基地

文章浏览阅读128次。PAT菜鸡进化史_乙级_1003“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是: 1. 字符串中必须仅有 P、 A、 T这三种字符,不可以包含其它字符; 2. 任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或..._1003 pat乙级 最优

CH340与Android串口通信_340串口小板 安卓给安卓发指令-程序员宅基地

文章浏览阅读5.6k次。CH340与Android串口通信为何要将CH340的ATD+Eclipse上的安卓工程移植到AndroidStudio移植的具体步骤CH340串口通信驱动函数通信过程中重难点还存在的问题为何要将CH340的ATD+Eclipse上的安卓工程移植到AndroidStudio为了在这个工程基础上进行改动,验证串口的数据和配置串口的参数,我首先在Eclipse上配置了安卓开发环境,注意在配置环境是..._340串口小板 安卓给安卓发指令