I started to think about this problem in about August of 2000. In Jan 2001 fellow Mindstorms forums user 'agiecco' announced his intention to work on a robotic solution and, simultaneously, I saw that Rubik's Cubes were on sale at www.target.com. So I bought a couple of cubes and started getting down to business...
I produced a 'late beta' version in mid-April 2001 that was a little clunky. The final version (presented here) is smooth and fairly reliable.