
The Rubik's Contraption - jonbaer
http://build-its-inprogress.blogspot.com/2018/03/the-rubiks-contraption.html
======
lokedhs
Is there a category for robot solvers that have to fulfil the same
requirements as a human solver?

In other words, I'd like like to know how fast you can build a robot that has
to start with the cube lying on a table in front of it, and the manipulators
(hands, in the human case of course) being away from the cube, with the timer
stopping when the cube is back on the table and the manipulators are back in
their original position?

~~~
gowld
Picking up and putting down a cube from a known location, and visually
analyzing it, are both solved problems. It's a boring and arbitrary
restriction. One could just as well require the manipulators start 100 yards
away, which would be biased toward fast-moving robots.

~~~
phkahler
>> Picking up and putting down a cube from a known location, and visually
analyzing it, are both solved problems. It's a boring and arbitrary
restriction.

In that case, solving a Rubik's cube is a solved problem. It's become boring
thing to watch machines do it. These machines are somewhat impressive in their
own way, but the task they are doing has no point. I'd even say because
"solving" is no longer relevant, the machines should be manipulating the cube
in known (non random) patterns since we're down to comparing speeds.

~~~
simen
There is no point to solving a Rubik's cube in the fastest manner possible for
humans either. It's just a challenge that some people do for fun. Just like
this project is a challenge with slightly different constraints.

------
theli0nheart
> _The cameras had trouble distinguishing red and orange faces, so they
> painted the orange faces black to make them stand out better._

This is awesome. I love that this is what they did to solve this problem,
versus something overly technical, like tuning the cameras or post-processing
the images.

~~~
tantalor
Or, they cheated

They also overtightened it

~~~
RJIb8RBYxzAMX9u
Eh, even the official rules for people AFACT[0] only require that the colors
be distinct; special exceptions are also afforded for people with visual
disabilities.

[0]
[https://www.worldcubeassociation.org/regulations/#article-3-...](https://www.worldcubeassociation.org/regulations/#article-3-puzzles)

~~~
lostlogin
It’s not really a disability when you can’t detect a difference between 2
colours in tenths to hundredths of a second.

~~~
naiveai
Dude, it's a robot. And the very fact that they were able to do this,
regardless, is amazing.

------
dang
Url changed from [https://arstechnica.com/gadgets/2018/03/homemade-robot-
smash...](https://arstechnica.com/gadgets/2018/03/homemade-robot-smashes-
rubiks-cube-record-with-0-38-second-solve/) ("Robot smashes Rubik’s Cube
record with 0.38-second solve"), which points to this.

The blog post for the software side is at
[http://blog.cactus.zone/2018/03/rubiks-solver-
software.html](http://blog.cactus.zone/2018/03/rubiks-solver-software.html).

------
userbinator
_We noticed that all of the fast Rubik 's Cube solvers were using stepper
motors and thought that we could do better if we used better motors_

It looks like they're using brushed DC motors, which reminds me of what
happened with inkjet printers --- they originally used stepper motors for both
axes, but then switched to a DC motor + encoder because it was both cheaper
and faster while being just as accurate.

------
tlarkworthy
I did not know the playstation eye camera was a cheap way to do 120 fps
capture. Good to know!

------
blackguardx
Really cool! It looks like they have some overshoot on their servos. I think
adding some damping to their control loop to get closer to critical damping
would shave a few percent off their time.

~~~
amluto
You’re assuming they’re using a linear controller, and they’re _way_ ahead of
you [1].

But I don’t think they’re overshooting per se. I think they’re landing the
centers in the right place, but the outer pieces account for most of the
moment of inertia, and they’re flexible, so the overall assembly is deforming.
Deriving the optimal control law for _that_ could be a bit messy. I would
guess that it involves bringing the center piece nearly to a stop slightly
short of 90 degrees and then gently bringing it the rest of the way.

[1] [https://build-its-
inprogress.blogspot.com/2017/12/controls-r...](https://build-its-
inprogress.blogspot.com/2017/12/controls-ramblings-how-to-get-from.html)

~~~
ars
I wonder if slightly overshooting on purpose, then running the motor in
reverse for a moment would actually be faster.

~~~
Klathmon
They talked about how "mistakes" in the tuning often resulted in exploding
cubes. I have a feeling they probably tried that or something like it but it
just puts too much stress on the cube.

------
Waterluvian
Has the Rubik's cube been "solved" in the sense that from any state we can
determine the fastest solution, guaranteed?

I'm aware of human friendly algorithms that aren't always optimal.

~~~
reikonomusha
Yes. We know the greatest lower bound distance to any solution (20 turns) and
we can always find the minimum length solution.

Edit: maximum -> GLB

~~~
DrScump
Rather than "maximum", don't you mean the _largest minimum_ is 20 turns? I'm
pretty sure I can do 21 turns and not solve it.

~~~
vlasev
Yea, it's the maximum over the minimal solutions for each configuration.

------
lunarhowl
The instructions took 45 ms, and the execution took about 330 ms. If the
machine goes faster, there's an increasing problem with tuning so the cube
doesn't break. I think it may be better to design custom cubes for machine
with similar material and dimensions. Toy manufacturers only factor in human
solvers, such as: speed, corner cutting, locking, corner twists & popping.

~~~
hodl
Taking that to the ultimate conclusion: the cube should be encoded in the L1
cache.

~~~
saagarjha
Could we make it small enough to fit it in the registers?

~~~
icebraining
Absolutely, even with some waste. Naively, each sticker can have one of six
colors, which needs 3 bits, but let's make it 4 for easier handling. There are
9x6=54 stickers, so we'd use 54*4=216 bits. Easily fits into four 64-bit
registers.

------
NewEntryHN
The article says it includes image capture and computation time. How does
image capture identify the color of the tiles at the center of the faces,
hidden behind the motor's arms? Or is the cube initial orientation known?

~~~
Chriky
The way a Rubix cube works, the center tiles never move.

~~~
umanwizard
Why is that relevant to the question?

All it means is that you only have to look at them once, at the beginning of
the solve.

But since computers have memory, that’s true for all the tiles.

~~~
BurningFrog
It's not per solve, it's "per cube".

That is, the top center is always the same color, for every solve.

~~~
umanwizard
Presumably after you mix up the cube, you can put it in the machine in any
orientation, can’t you?

------
blackrock
I still can't even visualize how the sides spin and rotate on that axis.

------
neom
x2 speed on the youtbe video is dope.
[https://www.youtube.com/watch?v=nt00QzKuNVY](https://www.youtube.com/watch?v=nt00QzKuNVY)

------
saagarjha
> With a a typical Rubik's Cube solution taking 19 to 23 turns

Hmm, so it's not finding the perfect solution but instead one close to
perfect. I'm curious as to time tradeoff of trying to find a solution that
does one spin better, but takes longer to compute.

~~~
foota
No, I think this is reflecting the fact that the optimal solution for some
initial states is shorter than for others, though I could be mistaken.

~~~
endgame
God's number is 20: [http://www.cube20.org/](http://www.cube20.org/)

~~~
amluto
From potentially incorrect memory, one can find the actual optimal solution
pretty quickly, but that needs a giant lookup table that functions like an
end-game table. Their lab might not have a machine with enough memory. Keep in
mind that it would be a net loss if the solver took even 15ms longer.

------
bgrgndz
Getting a better cube would solve the explosion problem and make it turn
faster, i suppose. Magnetic cubes are out there, reducing lockups and
explosions with better corner cutting ability. I'm interested to see how it
would go with a good cube.

