3 ms·
I just finished my master's thesis on optimizing lacing patterns for bicycle wheels using evolutionary algorithms [1]. To do that, I had to thoroughly investiga
by maaaats 11y ago
I just finished my master's thesis on optimizing lacing patterns for bicycle wheels using evolutionary algorithms [1]. To do that, I had to thoroughly investigate how they work to be able to write a wheel simulator. It's quite fascinating the forces a spoked wheel can withstand, given its simplicity and weight.
And damn, "truing" a wheel to make the wheel round, not wobble and have equal forces on the spokes is an art. Even done iteratively with small changes one often end up making some part of the wheel worse when fixing one part.
[1]: http://master.matsemann.com/ http://master.matsemann.com/
- SixSigma 11y agoI notice you found the regular lacings. Did you explore more fancy designs such as Crow's feet?
- maaaats 11y agoI tried with an unbiased representation, and then it found all kinds of stuff, mostly bad patterns. The ones in the video are the non-dominated solutions found, and no crow foot there. It did find it, or something similar, on many of the runs. But it was dominated by other solutions. Of course, this may be an artifact of my simulation.
- nerd_stuff 11y agoWhat about the POWerwheel lacing pattern? Remove some of those retarding spokes for extreme power gains! It may have dominated the other solutions so hard your computer tossed it out as an outlier and was too ashamed to report the error. Riders of the POWerwheel lacing pattern go so fast it's usually impossible to discern the lacing pattern from the wreckage they leave behind. To compound the problem most POWerwheel accidents are covered up as "space" attacking us with "meteors". http://sheldonbrown.com/power-wheel.html http://sheldonbrown.com/power-wheel.html
- deleted 11y ago[deleted]
- twic 11y agoI tried running a POWerwheel-laced wheel for a while, but the problem was that the wheel eventually shot off ahead of the rest of the bike. When i got a new one, i stuck to the conventional pattern. That wheel is probably still going, out there, somewhere.
- wiredfool 11y agoDid you find any interesting dependency on the geometrical characteristics of the rim? When I was in grad school doing my masters, I wound up spending a few weeks playing with wheels using my FEA stuff. I found that the torsional and lateral stability of the rim are very important when you start going to road racing wheels with fewer spokes. (Especially as you raise the tension to get better durability) Also, how did you do the FEA models? Did you wind up meshing all the parts, or did you use higher order beam elements for the spokes and rim bits?
- maaaats 11y agoSince the algorithm needs to evaluate hundreds of thousands of wheels, it's not a full-blown FEA model, as that would have taken far too long. It's written in a real-time physics library called Bullet, and the rim can at most be modeled as a few, infinitely stiff segments.
- wiredfool 11y agoI'd bet with a good model generation, the FEA on this is completely tractable in realtime now. It's only ~2(spokes)*6 dof, and that was doable in a second or so on a sparc in matlab 20 years ago. But to do that, you'd need to be doing beam elements for the spokes and rim segments, not meshing them with smaller solid elements. (And unless you're in non-linear land in material or geometry, a 2 node beam element with 6 dof /node is going to be an exact solution for the spokes, and a good approximate solution for the rim as long as the chord/arc error isn't large. ) And I've found some of the code, and holy crap it's still on the web. http://www.ce.washington.edu/~soroos/matlab/501/1../wheel2.html http://www.ce.washington.edu/~soroos/matlab/501/1../wheel2.h... (I'm sure I'm going to hate the 19yr ago me when I dig into that and try to figure out what the hell I was doing based on the comments, because I only remember the outlines of the math at this point. But... I could put this in numpy... I need this like I need another project to suck up my time... And I'm not sure what the me of 2034 is going to think of my code now. But that's another story.) The real trick with wheels from experience as a wheel builder is that all the really interesting behavior is in the non-linear region. And you're butting right up against that when you lace the wheels tightly. Calculating that limit is tricky. (Briefly, Ultimate load limit is ~ the sum of the tension in the spokes in the loaded zone of the wheel, roughly 4 or so with the rims/spokes I was looking at at the time. The tension limit is just under what will potato chip buckle the rim. So there's a complex interaction between spoke stiffness, rim lateral stiffness, and rim radial stiffness that affects performance at the load limit. Helpfully, fatigue durability is also better with higher tension in the spokes, since the fatigue performance goes to hell when you get stress reversals.) FWIW, My masters was investigating back calculating material parameters from a dynamic pavement test based on time histories of surface loading and displacement at known locations. I basically figured out that the error measure that we were using was pretty smooth as the stiffness of the subsurface layers varied and that it was possible to home in on a stiffness profile pretty consistently if there was at least a plausible guess of what was under there. It took a long time then though, overnight runs were common, and we didn't have clusters then. (also, uphill both ways, through the snow) I bet I could do it in near realtime now on my ipad, but that's a masters thesis for someone else.