Humans can manipulate Rubik’s cubes with relative ease, but robots have historically had a tougher go of it. (A classic 2 x 2 x 2 cube has 3,674,160 internal configurations.) That’s not to suggest there aren’t exceptions to the rule — an MIT invention recently solved a cube in a record-breaking 0.38 seconds — but they typically involve purpose-built motors and controls.

Encouragingly, a group of researchers at Tencent and the Chinese University of Hong Kong say they’ve designed a Rubik’s cube manipulator that uses multi-fingered hands. In a paper on the preprint server Arxiv.org (“Learning to Solve a Rubik’s Cube with a Dexterous Hand“), they claim their AI-powered system — which comprises a cube solver that identifies optimal move sequences and a cube operator that controls up to five fingers — achieves an average success rate of 90.3% over 1,400 trials.

“Dexterous in-hand manipulation is a key building block for robots to achieve human-level dexterity, and accomplish everyday tasks which involve rich contact,” wrote the researchers. “Despite concerted progress, reliable multi-fingered dexterous hand manipulation has remained an open challenge, due to its complex contact patterns, high dimensional action space, and fragile mechanical structure.”

Robot dexterous hand

Above: The researchers’ system manipulating Rubik’s cube in a virtual environment.

The team’s solution is a hierarchical system that combines model-based and model-free planning and manipulation components. The aforementioned cube solver finds an optimal move sequence for restoring the Rubik’s cube, while the controller — which consists of two atomic actions, cube rotation, and a layer-wise operation — executes each move step by step.

The team notes that the kinematics and joint movements make some moves more difficult to complete than others. To compare their reliability quantitatively, they separately trained several models. And to improve the robustness of the cube rotations and layer-wise operations, which are performed sequentially without feedback signals, they implemented a rollback mechanism that checks the Rubik’s cube’s status at each step.

The team used Roboti’s Multi-Joint dynamics with Contact (Mujoco), a physics engine designed for research and development in robotics and biomechanics, to validate their approach. Within Mujoco, they tapped a dexterous human-sized manipulator dubbed Shadow Hand, which has middle and ring fingers each with three actuated and one underactuated joint and a little finger and thumb with five actuated joints (plus a wrist with two actuated joints). In one experiment, Shadow Hand was tasked with manipulating a virtual Rubik’s cube to achieve a target pose, and in another, it had to manipulate two layers to achieve a target angle.

Rubik's cube robot

The researchers report that their model managed a stable cube rotation success rate of over 90% (which they boosted to 95.2% after training for 30,000 episodes), and an average layer-wise operation success rate of 90.3% (for 1,000 times with randomized block poses). Performance could be improved further, they say, by jointly optimizing the two atomic actions and deploying the system on real hardware.