Log In Sign Up

Solving Rubik's Cube with a Robot Hand

by   OpenAI, et al.

We demonstrate that models trained only in simulation can be used to solve a manipulation problem of unprecedented complexity on a real robot. This is made possible by two key components: a novel algorithm, which we call automatic domain randomization (ADR) and a robot platform built for machine learning. ADR automatically generates a distribution over randomized environments of ever-increasing difficulty. Control policies and vision state estimators trained with ADR exhibit vastly improved sim2real transfer. For control policies, memory-augmented models trained on an ADR-generated distribution of environments show clear signs of emergent meta-learning at test time. The combination of ADR with our custom robot platform allows us to solve a Rubik's cube with a humanoid robot hand, which involves both control and state estimation problems. Videos summarizing our results are available:


page 2

page 4

page 5

page 6

page 8

page 9

page 17

page 24


DeXtreme: Transfer of Agile In-hand Manipulation from Simulation to Reality

Recent work has demonstrated the ability of deep reinforcement learning ...

Distilling Motion Planner Augmented Policies into Visual Control Policies for Robot Manipulation

Learning complex manipulation tasks in realistic, obstructed environment...

Simultaneously Learning Vision and Feature-based Control Policies for Real-world Ball-in-a-Cup

We present a method for fast training of vision based control policies o...

Robot Learning from Randomized Simulations: A Review

The rise of deep learning has caused a paradigm shift in robotics resear...

Learning Representations that Enable Generalization in Assistive Tasks

Recent work in sim2real has successfully enabled robots to act in physic...

Learning Fast and Precise Pixel-to-Torque Control

In the field, robots often need to operate in unknown and unstructured e...

Adapting control policies from simulation to reality using a pairwise loss

This paper proposes an approach to domain transfer based on a pairwise l...

Code Repositories


Deterministic Rubik's Cube solver written in the Functional Programming style with Haskell.

view repo