Those who know how tough it is to get robot hands to grasp, handle and maneuver will do more than glance—stare, rather—at the recent video showing the OpenAI Dactyl Rubik’s cube.
Working with a four—finger-and-thumb robot hand is never trivial when the challenge is to demonstrate human-like finger dexterity. OpenAI’s hand is winning appreciative looks with its deft finger manipulations that a human hand would need to solve the cube.
Those familiar with OpenAI’s other video posted last year would already know about their advances, with the video dubbed Learning Dexterity. The video was about their training a human-like robot hand to manipulate physical objects. Even then they felt they could boast that the robot hand could do this with “unprecedented dexterity.”
That is how they introduced their system, Dactyl. They said Dactyl learns from scratch using a general-purpose reinforcement learning algorithm and code. “Our results show that it’s possible to train agents in simulation and have them solve real-world tasks, without physically-accurate modeling of the world.”
A machine learning engineer told video viewers that the technique was dubbed domain randomization.
They randomized how fast the hand can move, for example, and how heavy the block is, and the friction between the block and the hand.
Two comments from the video one year ago thought that this was not really AI: “‘AI’ is really just abstracted algorithms at this point. We aren’t even close to understanding what intelligence is, let alone how to synthesize it.”
The other comment: “This is nothing more than clever programming…no intelligence at all. This is simply a machine doing what it has been programmed to do in a round about fashion. Just program the thing to turn the blocks the correct way from the start and save yourself some time and effort… A computer will only ever do what it is programmed to do.”
Still, Karen Hao in MIT Technology Review thought the team’s robotic hand was an important step toward more agile robots for industrial and consumer applications.
Fast forward to their new paper, “Solving Rubik’s Cube with a Robot Hand.”
The authors explained that “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.”
They talked about their combined flip and top face rotation.
“A rotation corresponds to rotating a single face of the Rubik’s cube by 90 degrees in the clockwise or counter-clockwise direction. A flip corresponds to moving a different face of the Rubik’s cube to the top. We found rotating the top face to be far simpler than rotating other faces. Thus, instead of rotating arbitrary faces, we combine together a flip and a top face rotation in order to perform the desired operation. These subgoals can then be performed sequentially to eventually solve the Rubik’s cube.”
They addressed any suspicions that that they gave themselves an unfair advantage with an ideally scrambled cube.
“The difficulty of solving a Rubik’s cube obviously depends on how much it has been scrambled before. We use the official scrambling method used by the World Cube Association to obtain what they refer to as a fair scramble (around 20 moves that are applied to a solved Rubik’s cube to scramble it).
What did other roboticists think about the OpenAI team’s hand on a roll with the Rubik’s puzzler?
Hao quoted Dmitry Berenson, a roboticist at the University of Michigan.
“This is a really hard problem,” he said. “The kind of manipulation required to rotate the Rubik’s cube’s parts is actually much harder than to rotate a cube.”
But what does the team mean when they refer to models trained in simulation? Karen Hao in MIT Technology Review said they build a virtual model of their robot. They train it virtually to do the task at hand. “The algorithm learns in the safety of the digital space and can be ported into a physical robot afterwards.” Now, the key to their success: Ho said “the lab scrambled the simulated conditions in every round of training to make the algorithm more adaptable to different possibilities.”
They used the (1) Shadow Dexterous E Series Hand as robot hand, (2) the PhaseSpace motion capture system to track the Cartesian coordinates of the fingertips and (3) three RGB Basler cameras were used for vision pose estimation.
In a blog, team members stated that “Solving the Rubik’s Cube with a robot hand is still not easy. Our method currently solves the Rubik’s Cube 20% of the time when applying a maximally difficult scramble that requires 26 face rotations. For simpler scrambles that require 15 rotations to undo, the success rate is 60%.
Nonetheless, OpenAI is not about walking away from difficulty. “We believe that human-level dexterity is on the path towards building general-purpose robots and we are excited to push forward in this direction.”