具有成本效益机器人的机器人强化学习基准任务。
项目描述
ROBEL: Robotics Benchmarks for Learning
ROBEL是一个开源平台,提供成本效益的机器人和相关的强化学习环境,用于在现实世界中基准测试强化学习。它提供了符合Gym规范的环境,可以轻松在模拟(用于快速原型设计)和真实硬件上运行。ROBEL机器人具有鲁棒性和可扩展性 - 它们已经促进了超过14000小时(截至2019年8月)的基于学习的真实世界训练。提供了使用多种基于学习的方法的基准,以方便比较和扩展。有关详细信息,请参阅ROBEL的网页。
机器人平台
ROBEL机器人:D’Kitty(左)和D’Claw(中间和右) |
ROBEL介绍了两种模块化、可扩展、易于构建且成本低于许多现有机器人研究平台的机器人。
- D'Claw是一个九自由度操作平台,能够执行灵巧操作。
- D'Kitty是一个十二自由度四足机器人,能够进行敏捷运动。
特性
- 符合Gym规范 -- ROBEL环境完全符合Gym规范,可以与任何与Gym环境接口的强化学习库一起使用。
- 模拟后端 -- ROBEL还包括引入的基准测试的模拟等效版本,以方便原型设计和调试需求。模拟后端由MuJoCo提供。
- 硬件接口 -- ROBEL使用 Dynamixel 电机构建,并通过DynamixelSDK与硬件设备通信。
- 外部跟踪支持 -- 对于D'Kitty环境,外部跟踪通过OpenVR跟踪支持。
- 开源设计 -- 硬件设计和构建说明完全开源,任何人都可以据此构建自己的机器人。
入门指南
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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f834060fefe9d2a5936e9d37a5992f53e0a17941621a4ae13ae413573cbc2f5e |
|
MD5 | 03534e7967125c52a7390293ac3ee6d5 |
|
BLAKE2b-256 | 1a75ce70286c3a484e604f78e8729d3b08a7dea837e68e3fd89ce7c0280c9adc |
robel-0.1.2-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6f14db7ce37e00e2b9a6ea792fcd5af23e857dea905033531699edb03a86edcc |
|
MD5 | 2bc79bebd7c5e472c781b67459fbbe4b |
|
BLAKE2b-256 | 0982f36de3943fa84d3227223570488249126bdd8b55ae6ec18138c15445ca7e |