Keaghan Paterson · Mechanical design

Can I make a robot Juggle-solve Rubik's cubes?

  • Started April 2026. Work in progress.
  • Done: vision scanner, solver, digital twin + grasp policy, all parts printed.
  • Next: servos arrive → assemble → sim-to-real → juggle.
  • Juggle ✅
  • Solve ✅
  • Juggle-solve ❌
Me
  • Juggle (definitely)
  • Solve (definitely)
  • Juggle-solve (????)
Robot
01

Physical build

Open-Source DexHand V2.0

CAD
CAD
Physical build — every part printed
Physical build — every part printedPi 5 + AI HAT and servo controller board on the bench. Waiting on the servo order.
02

Solver

Photograph the cube → read the state → solve it. Works on different cubes and in different lighting.

Scan → import → solve (screen recording)
  • Photograph the six faces on a phone.
  • The scanner finds all 54 stickers and reads their colours.
  • The solver returns the solve move list in milliseconds.
Benchmark: success, speed, moves per version
Benchmark: success, speed, moves per version
  • Solve rate: 100%
  • Time to solve: 21 ms average
  • Moves: 20.8 average
  • 100 scrambles of 25 moves, the same set for every version.
03

Control system

Digital-twin built from physics, trained with Isaac lab and Isaac Sim.

Reorienting a cube in-hand
  • The hand teaches itself to spin the cube to any goal pose, in Isaac Sim + Isaac Lab.
  • Reward functions do the teaching: points for rotating the cube toward the goal, penalties for letting it fall off the palm.
  • After 5,000 practice episodes it reaches about 11 goal poses in a row, at 90% success.
  • You may spot the odd accidental face rotation — the sim cube has a real turning face, not a solid block.
04

Work in progress

  • Fingertip force sensing: custom PCBA, schematic and layout in progress.
  • Sim → real: move the trained policy onto the real hand.
  • Two hands, three cubes: second hand, then juggling.