3 ms·
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
by kd5bjo 6y ago
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.
- jansan 6y agoMaybe it does not matter much for the rolling property, but for sure an offset axle will not improve comfort.
- Xophmeister 6y agoIt could just be a local maximum, with respect to the model.
- enriquto 6y agoI cannot be a local optimum: moving the axle just sligthly towards the center of the disk will produce a slightly rounder, and better, shape. It seems that the optimization is botched here.
- grenoire 6y agoI think the author's speed calculation model doesn't care about the axle position with respect to the wheel's centre. Could be accounted for, but I'm guessing that's why the model doesn't fit for it.
- wongarsu 6y agoBut axle position and constant radius are the only reasons why a circle is the best wheel shape, instead of Reuleaux triangles or something entirely different. If axle position isn't a factor that makes it seem like the code is just searching for an object with some constant radius X. Which is a fine task, but it's not really about the "Optimal Rolling Shape"
- avian 6y agoI 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 6y agoIt 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.
- vojtamolda 6y agoI feel the same thing. It's basically optimizing the "gear ratio" to get maximum speed. The wheel isn't centered because it doesn't complete an integer number of revolutions during the simulation. I'm still scratching my head while trying to figure out what's the mechanism that prevents the solution blowing up to infinity by setting the radius to zero and therefore achieving huge accelerations from a constant torque.
- ishmandoo 6y agoI couldn't figure this out at the time, but a potential explanation seems obvious to me now. I think this may have been because the wheel starts accelerating from a particular point. To optimize distance traveled, it's better to have more acceleration up front. Shorter spokes means more acceleration. For the overall wheel, the spoke length is normalized, but it makes sense that the optimization would set the starting spoke shorter. I should randomize the starting angle of the wheel and see if that fixes it. I'm surprised to see that I didn't discuss this in the blog post. You're right, I should have.