
Reinventing the Wheel: Discovering the Optimal Rolling Shape with PyTorch (2019) - sillysaurusx
https://blog.benwiener.com/programming/2019/04/29/reinventing-the-wheel.html
======
matsemann
> _I parameterized the wheel as a twenty sided polygon with a variable radius
> for each vertex, ri._

Could this way of representing the problem (radius) introduce bias to the
solution? It could probably make many kind of shapes, but it may need to
overcome some huge local maxima in order to drastically change it to something
else by tweaking multiple of the radii.

When writing my thesis on spoke patterns for bicycle wheels, one of the
representations outperformed the others, as it had symmetry baked in. That
could have made it not find some esoteric solutions (which is why I had
multiple representations).

~~~
anticristi
I totally agree! It would have been better to avoid bias by using a
pixel/voxel representation (1=material present, 0=no material present), like
Airbus did with wing structure optimization:
[https://backend.orbit.dtu.dk/ws/portalfiles/portal/138121106...](https://backend.orbit.dtu.dk/ws/portalfiles/portal/138121106/ppnature23911_Aage_ORBIT.pdf)

(Not claiming that OP's work isn't absolutely cool, rather suggesting paths
for future improvements. :D)

~~~
matsemann
On/off representations are cool, but also a bit harder to work with. One can
end up having disjoint groups that don't really make sense, so lots of
permutations has to be thrown out. So finding the correct representation can
actually be very hard.

~~~
neutronicus
The problem you're describing is kind of dual to the problem with parametrized
representations.

It's easy to construct parametrized boundary representations (as OP used) that
maintain topological invariants, but it's very difficult to use them to
explore the space of possible topologies (which would be relevant if OP wanted
to say, design a _lighter_ wheel).

------
SeanDav
The Reuleaux triangle is for some measurements (for example material used),
more optimal than a circle, while still able to roll smoothly.

[https://en.wikipedia.org/wiki/Reuleaux_triangle](https://en.wikipedia.org/wiki/Reuleaux_triangle)

~~~
mfer
Only in theory. A Reuleaux triangle would need to be connected to an axle
which is connected to the thing being moved. If it's on vehicle or trailer you
have one on each side. The axle needs to go up an down 3 times per circle
revolution.

If the wheels on each end of an axle aren't perfectly aligned the up and down
motion won't be the same on each side. The speed of the up and down motion
while moving down a modern road would be very fast. This would wear our parts
far more quickly.

Theory and practical implications don't always line up. In practice it's not
more optimal when applying to every day real world application.

~~~
mrfredward
In addition, that up and down motion is annoying to passengers, and a waste of
energy. The suspension has dampers, and the tires have hysteresis (it takes
more energy to squish a tire down than you get from letting it spring back
up), so more energy is put into the "up" parts of the cycle than is recovered
from the "down" parts.

------
kd5bjo
It’s interesting to note that the final result, though essentially circular,
has an offset axle. This certainly seems suboptimal, and it would’ve been nice
to have some analysis of why this differs from the expected result.

~~~
avian
I feel like the resulting shape is more of a fluke here.

> The performance of the wheel was based on the final speed achieved by an
> accelerating imaginary car, vf. The wheel was driven with a constant torque,
> τ, and no slipping.

There is nothing in this fitness value that defines the shape of the wheel. As
described here, there's no clear reason why the shape of the wheel would
affect the speed of a car (no slip, no taking into account up/down movement of
the car, etc.) Rather this algorithm seems to optimize for a certain radius
and the circular shape is the result of the fact that all points converge to
the same optimum.

I also find the fact that it converges at a finite radius using this model
suspicious. If you look at this optimization problem analytically, the optimum
is obviously a wheel with a zero radius: Force on car is torque over wheel
radius. If radius goes to zero, then force goes to infinity and acceleration
goes to infinity and car speed goes to infinity.

~~~
ishmandoo
It doesn't take the vertical movement of the car into account directly, but
that cosine term in the force does mean that having to raise the car (or lower
the car) saps it of effective torque.

Also, the wheel spoke lengths are normalized, so the wheel can't grow or
shrink overall.

------
sudoaza
Spoiler alert: It's still round :(

------
troelsSteegin
That's cool. I think though that framing the overall problem as starting from
pushing and pulling an irregularly shaped object over irregular ground would
be much more interesting. "Discovering" sliding, and "discovering" tipping and
then rounding would be a nice hack. That seems like a reachable problem in
today's RL if you score "the game" in terms of net exerted force, and if you
represent both the shape of the ground and shape of the object as mutable ...

~~~
ishmandoo
I intended to extend this to non-flat surfaces, but never got around to it.
Wanted to input that rolling-square cycloidish shape and see if I find a
square wheel as optimal. I should give it a go.

------
tornadofart
"How could ancient Sumerian wheel builders have calculated the ideal shape
without modern computers and software? We may never know." I don't think
figuring out the shape of the wheel was ever the problem. People have been
moving huge stones by rolling them over logs since the dawn of time. Figuring
out that the round thingy is of more use if you pierce it in the middle and
let it rotate around an axle was, I think, the tougher nut to crack.

------
ishmandoo
Hey hey, this is my blog! Thanks for posting it, @sillysaurusx.

------
m000
Give this man his Ig Nobel Prize!

------
amelius
A better wheel is no wheel. Use superconductor based magnetic levitation
instead!

------
no_identd
Now do it in 3D to 1-up Shark Wheels.

------
mathiasrw
Would be interesting to see the same in a 3D space

~~~
gerdesj
Assume a spherical cow ...

QED

~~~
jjgreen
... in a vacuum

~~~
noir_lord
...on a frictionless plane that goes to infinity.

------
BubRoss
Leave it to hacker news to reinvent the wheel without making it round.

