Perfection
“Perfect”
Is subjective and demanding and, also, doesn’t really exist. I know all this, but I’m also a chronic recovering perfectionist.
I realized a while ago that I was never going to stop being a perfectionist, but I did have to learn the value of selective, focused perfectionism if I was going to finish anything. Also, perfection means different things to different people and what might be perfection to me is chaos for someone else.
The first several times I went independent I quickly realized that eventually I had to accept my work as good enough and “publish” what I had – even if I sometimes thought it could still use perfecting. Being a perfectionist and a successful entrepreneur are not entirely mutually exclusive, but it does make it much more difficult if you don’t get some sort of control over the impulse.
Then there’s the speed to market thing. Some people, and companies, prioritize getting their creation to the market faster than anyone else. Sometimes that’s a winning strategy, and sometimes too many compromises are made along the way and the quality is a dud.
Sometimes rushing a dud device to market clobbers whole segments as the public is underwhelmed with shoddy performance and loses faith that more advanced versions will work any better than the failing market leader.
Then there’s the other side of that coin – an organization won’t release their product because it’s not the best it can be, it’s not “perfect” yet. Sometimes other companies beat them to the punch (occasionally with dud versions of the product that crush the market) and either dominate sales or erode interest in what they’re working on. Seeking perfection can lead to failure.
So, I realized I needed to balance between creating something useful, functional, and aesthetically pleasing, with getting it out there and engaging the public with what I’ve made... even if I think it could still be better.
Perfectionists can endlessly iterate and make whatever we’re working on incrementally better – closer and closer to our idea of perfect – but at some point we have to realize we’ll never get it just right anyway. There’ll always be a “flaw,” or sacrifices made in one area to make another work. It’s the nature of the tech beast.
Everything Doesn’t Have to be Perfect
Instead of going for perfect, I developed a system of guide posts - parameters to define a standard for “good enough” for the design and functionality of whatever I’m working on. These guides allow me to balance between my own drive to make every single aspect the best it could possibly be, and the need to find a point where I release things to the public and actually market what I’ve made.
So, I identify critical parameters for each part of every project and then I stick to them – there has to be a vital justification for altering the specifications as the project develops. The parameters cover both functionality and aesthetics – whatever it is should be functional, pleasant to use, and have an elegant simplicity to its appearance and functionality.
Of course, I’m still grappling with the impulse to hang on and keep pushing my projects further along, but I’ve got to launch and keep moving forward.
It’s Not You I’m Criticizing
The other thing I’ve realized over the years is that being a perfectionist doesn’t just make me hyper critical of my own work…I may not be judging you, but I’m pretty opinionated about your robot arms or messy code.
While the bulk of my projects have focused on creating novel things that need to exist, I will admit that some of my projects have been driven by seeing existing things and thinking, “that’s not right, I could make that work better.” (If other perfectionists say they’re not judging others’ work they’re not being honest with someone…)
I rarely say anything out loud and I’m not big on public criticism because I don’t think that actually helps anyone get better, but I will go back to my lab and start working on making functional hypocycloid drives, that someone else claimed were impossible, to power a better robot arm with incredible precision and unbelievable torque.
I’m not doing this to feel like I’m better than anyone else. It’s more about what I want to make and prove to myself than anything. I want to make better parts – like modules that enable more functional, affordable robot arms – so other people can use them to make their projects better too.
Hypocycloid drive under the microscope, with a 30:1 gearing ratio.
Functionally, Perfect
So, what does all this look like in practice?
Well, on those robot arms...first let me say, I love robot arms. They are so useful and helpful to have around - the things that can be done with a precise robot arm are nearly endless. The problem is getting a fully functional, precise, adaptable robot arm that doesn’t cost a small fortune because any half-decent robot arm is currently priced way beyond what small makers or starting entrepreneurs can afford.
Yes, I’m aware there are inexpensive robot arms on the market currently. Please refer back to the words precise and adaptable. The current market of affordable robot arms can’t reliably and accurately apply lipstick let alone assemble precision parts, and they’re as likely to slap you in the face as manage the component you need.
Why are robot arms so expensive? It seems mostly because their customer base is relatively select, and large manufacturers can afford the hefty price tag. Since there aren’t a glut of options, there hasn’t been the sort of competition that would drive prices down by much.
So, I’m working on creating a better robot gearbox, here are the high level design requirements I’ve identified:
Extremely low backlash
High gearing ratio for torque maximization
Compact size
Light weight
Hollow center for electrical/pneumatic/hydraulic lines to feed through
Low cost
The gearbox should be easily paired with a compact and light-weight motor, which also has a hollow core to facilitate cable feed through, and the final design should be an aesthetically pleasing module with a clean finish.
Finally, the whole design needs to be scalable so you can create a small arm to handle minute parts with high precision or a large and powerful one that could lift a car.
To that end, I wrote a program which generates the geometry to create the gears - outputting machinable or 3D printable parts based on multiple editable parameters. It includes everything from the gearing ratio and size of the gear, to compensation for the manufacturing processes used. Its most basic parameters include:
Cycloid lobe count
Cycloid disk diameter
Eccentric CAM offset
Output pin count
Output pin diameter
Gear thickness
The user just enters the parameters into the script and it figures out how to scale the model so that a 400mm gear system is as accurate as a 5mm one.
Are We There Yet?
These parameters allow me to define a final goal for what I want a project to be. They provide a framework and a stopping point - when I’ve reached the goal parameters in an acceptable way, I can share the work and make decisions about where I go from there: release it as is and move on to other projects, or keep working to refine it further, or set new parameters and evolve the design or functionality in a new direction.
In the end, I already know none of it will be perfect - it won’t meet my idea of perfect and probably not yours either, but it works. Finding a workable state of perfection is doable if you define your values, set goals that align, accept only well-justified compromises, and then actually start the thing.
Managing perfection isn’t about arriving at a final product, it’s about reaching the point where you’ve met your intentions, built something fundamentally useful, and can share what you’ve created.
It’s not just what you made, it’s how you got there.