RSL 机器人系统实验室提供大量开源软件包,为机器人社区提供支持。请查看github。
OCS2 是专为切换系统优化控制(OCS2)定制的 C++ 工具箱。该工具箱可高效实现以下算法
OCS2 入门和教程,或观看 YouTube 上的教程。
网址:https://github.com/leggedrobotics/ocs2
部分翻译:
英文 | 中文 |
---|---|
Multiple-shooting algorithm | 多重打靶法 |
DDP | 微分动态规划 |
HPIPM | QP 求解器 |
Path integral stochatic optimal control | 路径积分随机最优控制 |
这是一个用于训练强化学习(RL)代理的框架。它将 C++ 中的并行化经验生成与 Python 中的 RL 算法相结合,以提高效率。文档可在外部页面找到。
网址:https://github.com/leggedrobotics/RSLGym
这是一个 C++ 库,为通过 EtherCAT(使用 CANopen over EtherCAT CoE 协议)控制 Elmo 和 Gold line 系列电机控制器提供了一个高级接口。
底层 EtherCAT 通信由 soem_interface 库处理。
网址:https://github.com/leggedrobotics/elmo_ethercat_sdk
为机器人技术提供运动学和动态量的 C++ 库。该库的优势在于实现了各种旋转参数化(parameterizations of rotations)。
网址:http://github.com/ethz-asl/kindr
这是一个具有 ROS 接口的 C++ 库,用于管理具有多个数据层的二维网格地图。它专为移动机器人测绘而设计,用于存储高程、方差、颜色、摩擦系数、立足点质量、表面法线、可穿越性等数据。它被用于为崎岖地形导航而设计的以机器人为中心的 Robot-Centric Elevation Mapping (高程制图)软件包中。
网址:https://github.com/ethz-asl/grid_map
这是一个 ROS 软件包,用于使用移动机器人进行高程测绘。该软件专为机器人的(本地)导航任务而设计,机器人配有姿态估计(如 IMU 和里程计)和距离传感器(如 kinect、激光测距传感器、立体摄像机)。所提供的高程图仅限于机器人周围,反映的是通过机器人运动汇总的姿势不确定性(以机器人为中心的映射)。开发这种方法是为了明确处理机器人姿态估计的漂移。
网址:https://github.com/ethz-asl/elevation_mapping
自由步态(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
Legged State Estimator(LSE)库为足式系统提供了可观测性约束扩展卡尔曼滤波器,并提供了在不同传感器模式之间进行时延校准的例程。
网址:https://github.com/ethz-asl/two_state_information_filter
集成了 ROS 的 C++ 库通过求解优化问题为腿部机器人生成物理上可行的运动。求解器将动力学中心模型、物理约束条件以及所需的目标位置提供给求解器,然后生成运动计划。TOWR 可在 100 毫秒内生成 5 步单足跳、双足行走或完整的四足小跑循环,同时对步态和步长进行优化(视频)。
网址:https://github.com/ethz-adrl/towr
Xpp 是一组 ROS 软件包,用于浮动基座机器人运动计划的可视化。除了在 RVIZ 中绘制支撑区域、接触力和运动轨迹外,它还为特定机器人显示这些计划。当前的机器人包括单腿、双腿跳板、HyQ 和四旋翼机器人;sudo apt-get install ros-kinetic-xpp
网址:http://wiki.ros.org/xpp
一个轻量级(1 千行代码)基于 C++ 和 Eigen 的界面,用于使用 Ipopt 和 Snopt 等非线性编程求解器。用户可通过一组 C++ 类来定义与求解器无关的优化问题,然后使用任一求解器来求解该问题。只需将该软件包放入您的 catkin 工作区即可(示例)。
网址:https://github.com/ethz-adrl/ifopt
proNEu 工具使用 MATLAB 符号数学工具箱,根据投影牛顿-欧拉方法推导出分析全局运动学和运动方程。
几个示例重点说明了如何使用该工具。用户先选择广义坐标、执行器和链接参数,然后建立整个系统的非常简单的运动学树。全局运动学和运动方程以符号方式推导出来,用户可以直观地检查机器人的配置。示例中概述了用户如何手动获取可在任何仿真环境中使用或嵌入的函数文件、编译的 mex 函数或 c 代码。
网址:https://bitbucket.org/leggedrobotics/c_proneu
用 MATLAB R2010a 进行建模、模拟、步态创建和步态分析的工具、方法和示例。为 MATLAB R2010a 提供建模、仿真、步态创建和步态分析的工具、方法和示例。
该框架包含模拟被动和主动混合动力系统的方法。提供了模拟记录和可视化功能,并提供了三个不同的行走和跑步机器人模型作为示例和进一步研究的起点。步态创建(即寻找周期性解决方案)和优化是通过单次射击和直接搭配算法实现的,还提供了主动和被动系统稳定性分析功能。所有概念和函数都将通过所提供的示例进行介绍。拉格朗日力学使用符号数学工具箱推导,数值优化/根搜索使用优化工具箱的 fsolve 和 fmincon 例程执行。
网址:https://bitbucket.org/leggedrobotics/c_gaitcreation
适用于四足机器人的 C++ 运动控制库。
网址:https://github.com/ethz-asl/loco
从文件(如 ply、vtk)读写点云的 ROS 节点。
网址:https://github.com/ethz-asl/point_cloud_io
苏黎世下水道地形检测数据集(STINK)是由有脚机器人 ANYmal 在苏黎世下水道中采集的,用于评估混凝土的老化状况。机器人脚部安装了传感器,通过 "抓挠 "动作对地面进行检测。记录并评估了 18 个传感器信号(2 个 IMU 和力/扭矩传感器)。混凝土的状况从良好到一般不等,没有遇到严重或极差的结构性故障。我们总共在下水道的不同部位采集了 355 个样本(良好:119 个样本,满意:79 个样本,一般:157 个样本),并与提供地面实况的专业下水道检查员一起对这些样本进行了分类。该数据集包含一个 Matlab 脚本,用于训练支持向量机进行分类。该数据集与以下出版物相关联 (https://doi.org/10.3929/ethz-b-000351221)。
数据 08.04.2019, 作者: Hendrik Kolvenbach, 下载
行星土壤撞击数据集(PALPATE)是一个记录的数据集,用于展示机器学习方法在对细粒度土壤上复杂的土脚相互作用进行分类时的适用性。该数据集包括 2600 次脚-土壤撞击,由专门设计的试验台自动执行和记录。撞击是在 ES-1、ES-2、ES-3 等各种火星土壤模拟物上进行的。数据集包括由两个不同的脚和试验台上的传感器获取的传感器信号。此外,还包括一个由四足机器人 ANYmal 创建的 240 次撞击的小型数据集。该数据集链接到以下出版物 (https://doi.org/10.1109/LRA.2019.2896732)。
数据 04.12.2018, 作者: 亨德里克-科尔文巴赫, 下载