RoboPianist: Dexterous Piano Playing with Deep Reinforcement Learning

Kevin Zakka, Philipp Wu, Laura Smith, Nimrod Gileadi, Taylor Howell +6 more
4/9/2023
cs.ROcs.AI

No official code found. Best implementation: google-research/robopianist (736 stars, Apache-2.0, last commit 2024-11-02). 1 more below.

Abstract

Replicating human-like dexterity in robot hands represents one of the largest open problems in robotics. Reinforcement learning is a promising approach that has achieved impressive progress in the last few years; however, the class of problems it has typically addressed corresponds to a rather narrow definition of dexterity as compared to human capabilities. To address this gap, we investigate piano-playing, a skill that challenges even the human limits of dexterity, as a means to test high-dimensional control, and which requires high spatial and temporal precision, and complex finger coordination and planning. We introduce RoboPianist, a system that enables simulated anthropomorphic hands to learn an extensive repertoire of 150 piano pieces where traditional model-based optimization struggles. We additionally introduce an open-sourced environment, benchmark of tasks, interpretable evaluation metrics, and open challenges for future study. Our website featuring videos, code, and datasets is available at https://kzakka.com/robopianist/

View on arXivView PDF

Code Implementations(2)

Apache-2.0

[CoRL '23] Dexterous piano playing with deep reinforcement learning.

73668Shell, Python1 years agoApache-2.0
bimanualdexterous-manipulationmujocopianoreinforcement-learning+1 more
Apache-2.0
00Python, Makefile1 years agoApache-2.0

Similar Papers

Cite this paper

@article{zakka2023robopianist,
  title  = {RoboPianist: Dexterous Piano Playing with Deep Reinforcement Learning},
  author = {Kevin Zakka and Philipp Wu and Laura Smith and Nimrod Gileadi and Taylor Howell and Xue Bin Peng and Sumeet Singh and Yuval Tassa and Pete Florence and Andy Zeng and Pieter Abbeel},
  year   = {2023},
  eprint = {2304.04150},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2304.04150v3}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2304.04150.svg)](https://codeofpaper.com/paper/2304.04150)

Discussion