Once again, a robot can do something I cannot do. Researchers at the artificial intelligence lab OpenAI just revealed that its humanoid robotic hand can solve a Rubik’s cube. The researchers utilized a pair of neural networks to make it happen.
The team has been working on this project, named Dactyl, since the middle of 2017, and they felt showing their robotic hand could solve a Rubik’s cube would show it had adequate dexterity. It can now solve the cube about 60 percent of the time.
The researchers write in a blog post that accompanies a research paper on the project that for decades now, engineers have had to build custom robots for custom jobs that humans do with their hands. The other option — developing general-purpose robots — hasn’t been successful because they’re too general-purpose. They allow too much freedom to perform any specific job.
The neural networks were trained in virtual simulations using reinforcement learning, which involves trial-and-error exercises, and a decades-old algorithm created specifically for solving a Rubik’s cube. What was learned in the simulations was transferred to the robot using a kind of domain randomization, which involves randomizing the environments in these simulations so the program will be better prepared for utilizing what it’s learned in the real world.
The researcher developed a new kind of domain randomization to achieve their goals that they’re calling “Automatic Domain Randomization (ADR).”
“We developed a new method called Automatic Domain Randomization (ADR), which endlessly generates progressively more difficult environments in simulation,” they wrote. “This frees us from having an accurate model of the real world, and enables the transfer of neural networks learned in simulation to be applied to the real world.”
One of the ways they randomized the environment when it comes to solving a Rubik’s cube was by altering the size of the Rubik’s cube that the program had to solve.
The mass of the cube, the friction of the robot’s fingers and more were also altered in these randomized environments.
“Domain randomization required us to manually specify randomization ranges, which is difficult since too much randomization makes learning difficult but too little randomization hinders transfer to the real robot,” they wrote. “ADR solves this by automatically expanding randomization ranges over time with no human intervention.”
One of the greatest challenges in robotics is creating robotic hands that work as effectively as human hands. Researchers have been trying and largely failing to do this for a long time. It appears OpenAI still has some work to do to get to a robotic hand that can consistently match what a human hand can do, but this development of Automatic Domain Randomization might speed up that process. The downside is once this technology is fully developed, that’ll mean a lot more jobs can be automated.