RoboPianist: 使用深度强化学习实现灵巧的钢琴演奏
RoboPianist 是一个新的高维控制基准测试套件,旨在测试高空间和时间精度、协调性和规划能力,所有这些都在一个经常建立和断开接触的欠驱动系统中进行。提出的挑战是通过双手灵巧性掌握钢琴,使用一对模拟的人体机器人手。
这个代码库包含了基准测试的软件和任务,由 MuJoCo 提供支持。
最新更新
- [2023/12/24] 更新了安装脚本,以确保检出正确的 Menagerie 提交。请重新运行
bash scripts/install_deps.sh
以更新您的安装。 - [2023/08/17] 添加了 像素包装器 用于增强观察空间的 RGB 图像。
- [2023/08/11] 训练无模型强化学习策略的代码现已公开,请参见 robopianist-rl。
入门
我们创建了一个入门 Colab 笔记本,演示如何使用 RoboPianist。它包括加载和自定义钢琴演奏任务的代码,以及预训练策略演奏《小星星》短片段的演示。点击下面的按钮开始吧!
安装
RoboPianist 支持 Linux 和 macOS,可以使用 Python >= 3.8 安装。我们建议使用 Miniconda 来管理您的 Python 环境。
从源代码安装
推荐的安装方式是从源代码安装。首先克隆仓库:
git clone https://github.com/google-research/robopianist.git && cd robopianist
接下来,安装必要的依赖:
git submodule init && git submodule update
bash scripts/install_deps.sh
最后,创建一个新的 conda 环境并以可编辑模式安装 RoboPianist:
conda create -n pianist python=3.10
conda activate pianist
pip install -e ".[dev]"
要测试您的安装,运行 make test
并验证所有测试是否通过。
从 PyPI 安装
首先,安装必要的依赖:
bash <(curl -s https://raw.githubusercontent.com/google-research/robopianist/main/scripts/install_deps.sh) --no-soundfonts
接下来,创建一个新的 conda 环境并安装 RoboPianist:
conda create -n pianist python=3.10
conda activate pianist
pip install --upgrade robopianist
可选:下载额外音色库
我们建议安装额外的音色库以提高合成音频的质量。你可以使用RoboPianist命令行界面轻松完成这项操作:
robopianist soundfont --download
有关更多音色库相关命令,请参阅docs/soundfonts.md。
MIDI数据集
由于许可限制,PIG数据集无法在GitHub上重新分发。有关下载位置和如何预处理的说明,请参阅docs/dataset。
命令行界面
RoboPianist配备了命令行界面(CLI),可用于下载额外音色库、播放MIDI文件、预处理PIG数据集等。更多信息请参阅docs/cli.md。
贡献
我们欢迎对RoboPianist的贡献。更多信息请参阅docs/contributing.md。
常见问题
有关常见问题列表,请参阅docs/faq.md。
引用RoboPianist
如果您在工作中使用了RoboPianist,请使用以下引用:
@inproceedings{robopianist2023,
author = {Zakka, Kevin and Wu, Philipp and Smith, Laura and Gileadi, Nimrod and Howell, Taylor and Peng, Xue Bin and Singh, Sumeet and Tassa, Yuval and Florence, Pete and Zeng, Andy and Abbeel, Pieter},
title = {RoboPianist: Dexterous Piano Playing with Deep Reinforcement Learning},
booktitle = {Conference on Robot Learning (CoRL)},
year = {2023},
}
致谢
我们要感谢以下人士使这个项目成为可能:
- Philipp Wu和Mohit Shridhar一直是灵感和支持的源泉。
- Ilya Kostrikov不断提高RL工程的标准,并提供了宝贵的调试帮助。
- Magenta团队提供了有用的指导和反馈。
- MuJoCo团队开发了MuJoCo物理引擎,并在整个项目中提供支持。
使用RoboPianist的作品
许可和免责声明
MuJoco Menagerie的许可证可在此处找到。音色库许可信息可在此处找到。MIDI许可信息可在此处找到。所有其他代码均采用Apache-2.0许可证。
这不是官方支持的Google产品。