跳转到主要内容

具有成本效益机器人的机器人强化学习基准任务。

项目描述

ROBEL: Robotics Benchmarks for Learning

ROBEL是一个开源平台,提供成本效益的机器人和相关的强化学习环境,用于在现实世界中基准测试强化学习。它提供了符合Gym规范的环境,可以轻松在模拟(用于快速原型设计)和真实硬件上运行。ROBEL机器人具有鲁棒性和可扩展性 - 它们已经促进了超过14000小时(截至2019年8月)的基于学习的真实世界训练。提供了使用多种基于学习的方法的基准,以方便比较和扩展。有关详细信息,请参阅ROBEL的网页

机器人平台

ROBEL机器人:D’Kitty(左)和D’Claw(中间和右)

ROBEL介绍了两种模块化、可扩展、易于构建且成本低于许多现有机器人研究平台的机器人。

  1. D'Claw是一个九自由度操作平台,能够执行灵巧操作。
  2. D'Kitty是一个十二自由度四足机器人,能够进行敏捷运动。

特性

  1. 符合Gym规范 -- ROBEL环境完全符合Gym规范,可以与任何与Gym环境接口的强化学习库一起使用。
  2. 模拟后端 -- ROBEL还包括引入的基准测试的模拟等效版本,以方便原型设计和调试需求。模拟后端由MuJoCo提供。
  3. 硬件接口 -- ROBEL使用 Dynamixel 电机构建,并通过DynamixelSDK与硬件设备通信。
  4. 外部跟踪支持 -- 对于D'Kitty环境,外部跟踪通过OpenVR跟踪支持。
  5. 开源设计 -- 硬件设计和构建说明完全开源,任何人都可以据此构建自己的机器人。

入门指南

1. 硬件组装

请参考硬件指南以开始使用ROBEL硬件平台。

2. 软件安装

2.1 MuJoCo

MuJoCo网站下载MuJoCo Pro 2.00。您应该将其提取到~/.mujoco/mujoco200。请确保您的MuJoCo许可证密钥放置在~/.mujoco/mjkey.txt

为了使mujoco_py安装正确,请将以下行添加到您的~/.bashrc(或等效文件)中

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.mujoco/mujoco200/bin

之后运行source ~/.bashrc

2.2 ROBEL

ROBEL需要Python 3.5或更高版本。您可以通过运行以下命令来安装ROBEL:

pip install robel

我们建议在virtualenv或Conda环境中执行此操作,以避免与系统依赖项或现有包冲突。

或者,您可以通过运行以下命令直接从存储库中安装

git clone --recurse-submodules https://github.com/google-research/robel.git
pip install -e robel/

要在硬件上运行,还需要安装DynamixelSDK Python API

pip install git+https://github.com/ROBOTIS-GIT/DynamixelSDK.git#subdirectory=python

2.3 示例用法

import robel
import gym

# Create a simulation environment for the D'Claw turn task.
env = gym.make('DClawTurnFixed-v0')

# Create a hardware environment for the D'Claw turn task.
# `device_path` refers to the device port of the Dynamixel USB device.
# e.g. '/dev/ttyUSB0' for Linux, '/dev/tty.usbserial-*' for Mac OS.
env = gym.make('DClawTurnFixed-v0', device_path='/dev/ttyUSB0')

# Reset the environent and perform a random action.
env.reset()
env.step(env.action_space.sample())

不指定device_path(即env = gym.make('DClawTurnFixed-v0'))将创建上述硬件环境的模拟等效版本。模拟环境和硬件环境具有相同的接口。

要交互式渲染模拟环境,请运行

python -m robel.scripts.rollout -e DClawTurnFixed-v0 --render
# Also try this with other tasks such as DKittyWalkFixed-v0

基准任务

D'Claw

任务 描述
姿态 匹配一组关节位置。
旋转 将物体旋转到指定角度。
拧紧 连续旋转物体。

D'Kitty

任务 描述
站立 直立站立。
定位 使航向与目标对齐。
行走 走到目标位置。

贡献

我们设计了ROBEL,使其成为一个易于扩展的新机器人、任务和基准的平台。有关如何贡献的指南,请参阅CONTRIBUTING.md

引用

@misc{ahn2019robel,
    title={ROBEL: Robotics Benchmarks for Learning with Low-Cost Robots},
    author={Michael Ahn and Henry Zhu and Kristian Hartikainen and Hugo Ponte and Abhishek Gupta and Sergey Levine and Vikash Kumar},
    year={2019},
    eprint={1909.11639},
    archivePrefix={arXiv},
    primaryClass={cs.RO}
}

免责声明

这不是一个官方的谷歌产品。

项目详情


下载文件

请下载适合您平台的应用程序。如果您不确定要选择哪个,请了解更多关于安装包的信息。

源分发

robel-0.1.2.tar.gz (7.6 MB 查看哈希)

上传时间

构建分发

robel-0.1.2-py3-none-any.whl (7.7 MB 查看哈希值)

上传于 Python 3

支持者