Brandon's Blog

6/25/2020

Digital to Analog Conversion

One fun and also frustrating aspect of robotics and automation is the transition from the cleanly-abstracted digital realm to the analog domain, which is messy, noisy, unreliable, and altogether more real.

You hear the same thing out of engineers looking at a technical drawing: do you really think this 10mm bolt you drew will fit through a 10mm hole? That hole should be 10.25mm plus or minus your manufacturing tolerance. Why?  Because the drill bit is going to wiggle, or the casting is going to shrink a little, or the bolts from that supplier tend to run big, or having to take a mallet to a tight fit will break the part.

Digitally, you look at a 3-D print and say, “well, I’m a layer height above the print and need to move to the right to print another part, how could I possibly have an issue?”  But then the nozzle moves right and knocks the part off the built plate.  Why?  Because there’s a little plastic gunk on the tip of the nozzle, or the lead screw is a little bent right there, or the moon is in the wrong phase.  So you tell the printer to raise up a little when making an open-range travel.

It’s best not to think about computers as analog devices given the extent to which we depend on them.  That software update you’re downloading is traveling along a wire that’s also picking up Mix 96.5 at some college-physics-class level of amplitude.  Your spinning platter hard drive is hurtling at speeds that would rip your car apart, quietly adjusting magnetic fields by just enough to flip from a zero to a one.  Of course, the whole setup is chock full of little checks and double-do’s and decades worth of real-life practice in much more challenging environments than your desk, but it’s also a good bit of magic in there.  And somebody’s promotion relied on making everything run just a little faster than last year.

The digital abstraction is beneficial in that you shouldn’t need to think about these things in daily life.  I plug a corded drill into an outlet next to my phone charger and don’t really need to believe that they’re actually on the same circuit, interacting with each other a bit.  All those stupid FCC disclaimers on everything say that devices must accept interference from other devices, so you design for these oddities: a filtering capacitor here, a protection diode there, a little safety factor on your wire gauge.

It’s only when the abstraction bends and breaks that we realize it’s all just a bunch of analog stacked on top of itself.