Lessons From Heavy Metal

:date: 2017-11-20 10:02 :tags:

When I was thinking about neural networks and trying to come up with a better metaphor than brain physiology, I reflected on my machine shop experience. A long time ago, I had a very good job where I was the engineer for a 150k sqft heavy manufacturing facility. It was basically a subcontract machine shop for workpieces on the enormous end of the scale.

Although I was a very young guy at the time, the owner entrusted me personally with a prodigious amount of responsibility. At the time, I didn't think much about it but when I look back on the things I managed, wow! The owner would buy old machine tools from failing manufacturing plants and my job was to reverse engineer their installations and create the same in our plant. Although my 3d modeling skills were not too challenging to me, they were very rare at the time and profoundly helpful for these projects.

What reminded me of the machine shop was after hearing the machine learning word "weight" be called "adjustment" enough times, I thought of these.


These are leveling screws. I actually invented these ones. Commercial ones were something like $150 and I realized that we could just make our own from electrical boxes and tube stock (it was a machine shop after all). We were able to get these down to about $20 each. As you can see we had many projects which ultimately used thousands of these cans. That's the kind of thing I did to add value.

The way these anchors work is that you embed them in concrete so that you can hold a machine tool tightly to the floor. Between the machine tool and the floor is a leveling jack which can push the machine away from the floor. In this way you could "adjust" the machine tool's pose.


The next trick was getting all the cans in the right place. This was something else I was responsible for. I managed the layout, the excavation, the setup, and the concrete logistics. Communicating to a concrete contractor how a hundred of these cans needed to hang in space before the pour was step one and step two was helping to design the scaffolding that could accomplish that. Then I was responsible for final inspections before the pour.


Once the concrete was poured, the leveling jacks were set in place and themselves leveled with their own leveling system. Small forms were used to pour grout to lock them in place.


Once the leveling jacks were fixed to the floor, the machine would be brought in. This photo shows a large Schiess CNC horizontal boring machine's bed being placed in an installation I designed. Because of such projects with German equipment, I was the plant's German translator too  —  before I learned German! I can't quite remember what that cut out on the back wall was for but it was for something tricky like clearance to remove one of the motor shafts if it ever needed replacing. Stuff like that has to be thought out well in advance.

Here's a picture of Howard leveling a machine.


He is adjusting the "weights" using non-artificial intelligence. The cost function is how straight and flat this table will move and the straightedge spanning the way surfaces is how he is intuitively not using the chain rule of calculus to link his adjustment actions to the final reduced error. Howard and all the mechanics were extremely good at this kind of thing. Their mechanical aptitude was humbling.

Here is a nice sequence of an installation I designed that shows how the leveling process could be rather complex. This vertical boring machine starts with a ridiculously complex geometry as set by the machine's clearance requirements.


All of those jacks have to be precisely angled to get correct access to them. You can see that the straightedge is being used to make sure the levelers are all level (horizontal and coplanar). Note that each of these jacks has 4 leveling screws.


Once the base of the jacks are set in place, it looks like this.


After the bed and the columns are set on the jacks and assembled, the machine needs to be leveled. I don't know if they're bolting the column to the base or if they are already doing some leveling on the jacks. Either way, they need to reach through holes in the casting to do that and that's why getting the angles perfect is not an optional feature.


If you want to think about this (very, very roughly) as a metaphor for machine learning, consider that the cost function, the "error", arises from an assembly of many moving parts. Not only do the bed and table need to be level, but that affects the columns, which affect the rail, which affects the heads, which affect the cutting tools, etc. Each of these pieces has their own adjustments, though just like most neural network architectures, fewer the closer you get to the measured error.

And finally, here is the finished installation actually turning a profit.


You can see the kinds of parts this machine works on. It can cut the mating surfaces of this power generation casing or the bore of the press base (I think that's what that is) spinning on the machine. (There is an unrelated press base in front of the fork lift.)

The Australian guy running this machine is one of the smartest people I've ever worked with and I work with a lot of molecular biotech people with PhDs. (That's why he's getting first shot running this thing.) The owner of the whole place is also a brilliant machinist (best in the world in my opinion) with a level of genius you hope to find in the halls of academia but too often don't.

It's interesting to contemplate why this installation is lowered into a pit. Basically when the machine was purchased the owner had the correct intuition (and I numerically verified) that the thing would not clear our overhead cranes. He also correctly guessed that his engineer could design an installation that would make it work out. And there it is!