And then
people realized that if they were just cutting polygons with smaller and smaller “Facets”, they needed a better way to generate the data of that curve. Originally, things started with an algorithm that looked at a circle and said “Ok, got to this point on the curve” and the servos would do it, and while the servos did that the control would calculate another point on the surface and tell the servos “Ok, go to that” and they did, and so on. What was needed was an algorithm that could generate an incredible number of “Steps” in real time and pass that data through to the servomotors, also in real time. So the servos, instead of waiting for the calculation to moved, kept pace with the calculation as it was being done.
This is where we started. Ignore the code for a minute and just look at the etch-a-sketch looking circle segment.
Now look at this
Did your head explode? isn’t it a good thing that you don’t have to write that code every time you want to draw a circle?
While the code required to program a machine tool is realtively simple, the “Hidden” code required to get the machine to follow the instructions you give it, is much more complex. And that’s just in two axis, the more axis you use, the more complex it becomes, and the code for a six axis robot is very, very complex indeed.
pretty heavy math there. Still all in all an amazing thing
Differential equations? Now you’re talking my language! (He said boldly, yet full of shit, having not actually had to solve any ODEs by hand in nearly 30 years.)
There are lots of thoughts that this triggers. To begin with, why do we think this takes enormous computing power? For one, RS-274 G-code is an interpreted language and interpreted languages are always slower than compiled code. Another reason is that tons of industrial CNC computers are very machines, yet (and I hate this cliche) processing horsepower is cheap today. I realize that chasing upgrades is expensive for companies, but maybe new controlling computers every five years?
Interpreted languages are probably handier for debugging the code, but if you’re in production, you’re doing a bunch of designs over and over. Or maybe just two or three parts over and over. What if we could compile better code based on these PH curves (or something else) for a part and just run that? Wouldn’t it make sense to do that?
Another cliche is that “if the answer is ‘we’ve always done it this way’, that’s a good reason to look at other ways” and sometime that has some truth to it, too.
You and I aren’t going to revolutionize how this gets done, but the thought experiments are fun.
“industrial CNC computers are very machines, yet” was supposed to say, “very old machines”
This takes enormous processing power, because interpolation is the smallest part of what the processor is doing.