Solving Rubik’s Cube with a Programmable Robot Arm

Designing a robotic arm that is as functional as a human arm has always been a grand challenge for the roboticists. Customizing distinct robot arms for each difficult task that a pair of human hands can accomplish was the conventional practice so far. But with the rapid progress in technology, researchers are tending to develop a programmable robot arm that can execute a diverse range of tasks.

Creating a robotic arm that can solve a Rubik’s cube with one hand is a firm step towards achieving this goal. It lays the foundation for general-purpose robot arms that can accomplish complex multiple tasks.

1. Approach of Designing The Robot Arm

programmable robot arm

But one of the biggest challenges faced by scientists was to create an environment in the simulation that is enough diverse to capture the physics of the surrounding real world. Several factors like elasticity, friction, and dynamics are quite difficult to measure while creating such a complex model. The scientists found that only Domain Randomization (DR) is not enough and they need to delve deeper.

robotic arm design

2. How Does ADR Work?

ADR starts with a nonrandomized environment where the neural network learns how to solve a Rubik’s cube. As the neural network gains proficiency at the task and exhibits a satisfactory result, the amount of domain randomization is automatically increased.

This actually makes the task harder for the neural network since it needs to learn how to operate in more randomized environments. This also enhances the efficiency of the neural network as it keeps learning to meet the desired performance. But just as it exceeds the performance threshold, more randomization again springs up and the process keeps being repeated.

3. The Parameters Randomized by ADR

One of the parameters that is randomized in such a manner is the size of the Rubik’s Cube. ADR starts with a fixed size of the cube and gradually increases the range of randomization as the training progresses.

The roboticists applied the same technique to several other parameters including the friction of the robot fingers, the mass the of the cube, and the surface materials of the robotic arm. Thus the neural network has to learn how to solve the Rubik’s Cube under all these difficult conditions.


Since ADR exposes the neural network to an endless possible variety of randomized simulations, the roboticists became able to design a programmable robot arm that can efficiently solve the Rubik’s Cube.

We are sure that this human (or superhuman!) level dexterity is an promising step towards building more general-purpose robots using the ADR method.

Got a query? Dial 01.801.410.4869 to reach us.

Custom robot design
4.7 Star App Store Review!***uke
The Communities are great you rarely see anyone get in to an argument :)
Love Love LOVE

Select Collections