Prescribing a curve rather than points
Assumes How many points may be prescribed.
This field’s central number is nine. A four-bar’s coupler point can be made to pass through nine prescribed points, exactly, and a tenth is one demand too many.
The counting behind it is simple and it is worth restating because everything in this rung is about what happens when the counting stops applying. A four-bar has nine free quantities once the scale, position and orientation of the whole thing are taken out: the four lengths, the coupler point’s two coordinates, and the frame’s placement. Each prescribed point is two equations and one new unknown, the crank angle at which the point is reached. So each point costs one net equation, and nine of them uses the nine freedoms up.
Past nine, the system is over-determined and there is no exact answer. What replaces it is approximate synthesis: an objective function, a starting guess, and a linkage that minimises something.
The sampling does not converge to the curve
The natural thought is that a curve is the limit of a fine enough sampling, so prescribing a hundred points approaches prescribing the curve.
It does not, and the reason is not that a hundred is not enough. It is that the character of the answer changes at ten and never changes back.
At nine and fewer, the answer is exact and finite. There are finitely many four-bars meeting the demand, they are the roots of a polynomial system, and the algebra field counts them. Each one hits every prescribed point to the solver’s floor.
At ten and more, the answer is a minimum. There is no four-bar meeting the demand, so what comes back depends on the objective function, on the starting guess, and on which of the many local minima the search fell into. The error is not zero anywhere, and how it is distributed is a design choice: minimising the worst error gives a different linkage from minimising the sum of squares, and each objective wins only on its own measure.
Refining the sampling makes the second problem harder, not closer to the first. A thousand points is a thousand residuals to trade off rather than a better approximation to an exact demand.
The exact and approximate problems are not two ends of one axis. They are different problems with different mathematics, and the boundary between them is at ten.
What an equation asks for instead
A polynomial does not sample anything. names the whole curve at once, and a mechanism satisfying it is not right at some places and nearly right at others — it is right everywhere it moves.
There is no counting to do, because the demand is not a list of conditions to be traded against a supply of freedoms. It is one condition, and a construction that turns it into a mechanism directly.
The price is the size. A general cubic costs a hundred and one bars and a general quintic four hundred and thirteen, against a four-bar’s four.
What the nine is really counting
It is worth going one level down on the nine, because the same counting is what does not apply to a compiled machine and the contrast is the rung’s whole point.
Nine is a balance between freedoms and conditions. The four-bar supplies nine numbers that can be chosen; each prescribed point supplies two conditions and consumes one new unknown, the crank angle at which the point is reached. Nine points, eighteen conditions, nine new unknowns, nine net — and the supply is exhausted.
Two things follow that a reader might not expect.
The count says nothing about whether a solution exists. It says the system is square. A square polynomial system has finitely many complex solutions, and how many of them are real varies with the data: the algebra field makes exactly this distinction, and a nine-point problem can be square and have no real four-bar at all.
The count says nothing about whether a solution is usable. All the defect tests come afterwards, and they remove most of the answers.
So the nine is a statement about the size of the demand rather than about what can be delivered, and a designer reading it as nine points can be hit is over-reading it by two whole steps. A compiled machine has no such number and no such gap between the count and the answer, because there is nothing being balanced.
The two are answering different questions
Set them side by side and the difference is not accuracy. It is what is being promised.
Synthesis promises a small mechanism that is right in the places that were named. It cannot say anything about anywhere else, and often what happens elsewhere is bad — the coupler curve wanders, or the linkage reaches its prescribed points on different branches and cannot be driven from one to the next.
Compilation promises a mechanism that is right everywhere on an arc. It cannot say anything about size, and what happens to the size is very bad.
Neither promise contains the other. A designer who wants a linkage to pass through five positions has no use for a four-hundred-bar machine that draws a curve through them and everywhere else besides; a mathematician who wants to know whether a given curve is drawable at all has no use for a four-bar that is close to it at five places.
The demand a curve makes is not larger, it is different in kind
There is a way of hearing prescribe the whole curve as prescribe infinitely many points, and it is worth showing that this is the wrong picture.
Infinitely many points would be an infinitely over-determined system, and the natural response to it would be an optimiser with an integral objective — which is a real method and is what approximate synthesis with a continuous objective does. That produces a linkage minimising an integral, and it is still an approximation.
An equation is not that. It is one condition, on the two arm angles, and a machine enforcing it has one fewer degree of freedom than the arm did. Nothing is being balanced against anything, no residual is being minimised, and the number of points does not enter at any stage of the construction.
The difference between a sample and an equation is not a difference of quantity. A hundred points and a polynomial are not two sizes of the same demand; one is a list of places and the other is a membership test, and only the second can be turned into a mechanism directly.
A curve that a four-bar draws, prescribed both ways
The cleanest way to see the two fields on one object is to take a curve a four-bar already traces and put it to each.
As points. Sample the coupler curve at nine positions and hand them to Burmester’s machinery. It returns finitely many four-bars, one of which is the original. Exact at nine points, small, and — since the original is among the answers — exact everywhere as well, by luck rather than by construction.
As an equation. Fit the sextic to the traced points and hand the polynomial to the compiler. It returns a machine of hundreds of bars, exact along an arc, with no idea that four bars would have done.
Same curve, two demands, two answers differing by two orders of magnitude in size. And the four-bar is not merely smaller: it is exact on the whole curve rather than on an arc, and it has no gadget waiting to go singular.
On this one curve, synthesis wins outright. That is not an embarrassment for compilation, because the curve was chosen to be one a four-bar draws; it is the demonstration that a general procedure has no way to be lucky, and that the interesting open question is how large the gap gets on curves nobody chose.
Where the boundary actually is
There is a case in the middle, and naming it is the honest way to draw the line.
Function generation asks for a relation between an input angle and an output angle, over a range, and the approximation field handles it by choosing precision points and minimising between them. Written as an equation, the same demand is a relation between two angles — which is exactly the form the expansion works in, and a compiled machine for it would be exact.
Nobody would build the compiled version, because a four-bar function generator is four bars and is right to a fraction of a per cent over its range. But the comparison is the sharpest available statement of what the trade is: exactness over a whole range, for a machine two orders of magnitude larger.
That is the trade, stated once, and every case in the subject falls on the same side of it.
Three demands, and where each one lands
The clearest way to fix the boundary is to take three requests a designer might actually make and say what each field does with them.
Pass through five prescribed positions of a rigid body. Burmester’s problem, exactly solvable, finitely many answers, most of them defective. Synthesis, comfortably; and there is no version of this a compiler takes, because five positions of a body is not a curve at all.
Trace this photographed curve as closely as possible with as few links as possible. Sample it, choose precision points, run an optimiser. Synthesis, again; the curve arrived as points and has no equation, and inventing one by fitting would be adding a step whose error nobody asked for.
Trace exactly the set where this polynomial vanishes. Compilation, and nothing else in the subject answers it at all. A four-bar can be fitted to the curve and will not be exact; a search over larger chains has no way to certify exactness even if it stumbles on it.
The pattern is that the field is chosen by how the demand arrived, not by how accurate an answer is wanted. A demand that arrived as positions stays a synthesis problem however precisely it is stated, and a demand that arrived as an equation is a compilation problem however roughly.
What synthesis has that compilation does not
Three things, and they are the reason this field is not superseded.
A finite answer set that can be enumerated. Burmester’s three-position problem has a curve of solutions and the four-position problem has finitely many, and knowing how many there are is itself useful — it says whether a demand is under- or over-specified before anything is built. Compilation returns one machine and has nothing to enumerate.
Defect tests. A synthesised linkage may be exactly correct and unusable, because the prescribed positions lie on branches it cannot be driven between. This field spends a whole rung on that, and of 1,176 exactly correct three-position syntheses only 111 turned out to be usable. Compilation has an analogous problem — a machine may be assembled on a branch that draws a different curve — and its version is repaired by bracing rather than tested for.
Mechanisms people build. Every linkage in the applied field came out of a synthesis problem, and none came out of a compilation.
The counting has an analogue and it is not useful
For completeness, it is worth asking whether a compiled machine has a version of the nine, and the answer is instructive by being disappointing.
The compiler’s input is a polynomial and its output is a machine, and the machine’s size is set by the number of surviving cosine terms. So there is a number — the term count — and it plays the role of how big a demand this is.
What it does not do is bound anything. There is no statement of the form a machine of this size can draw curves of at most this term count, because the compiler builds whatever size the term count calls for. The number describes the answer rather than limiting the question, which is the opposite of what the nine does.
Synthesis has a budget and compilation has a bill, and the difference is why one field is full of counting arguments and the other has none. A budget makes the interesting question what fits; a bill makes it what does this cost, and the second is arithmetic rather than mathematics.
What compilation has that synthesis does not
One thing, and it is worth the field.
A guarantee that does not depend on the demand. Every synthesis method has demands it cannot meet, and finding out is part of the work: the optimiser may not converge, the exact solutions may all be defective, the chain may be wrong. Compilation cannot fail. Handed any polynomial whose curve the arm can reach, it returns a machine, in under a second, and the machine is exact.
That changes what the question is. Before, can a linkage draw this curve was open for each curve and settled case by case, usually by somebody clever. After, it is closed for all curves at once, and the open question is the different one of how small the linkage can be.
This field’s problem is optimisation and that field’s problem is existence, and they were only ever confused because both of them start by somebody wanting a curve.
What this changes about how the field reads its own history
Synthesis on this site has been presented as the problem run backwards: given the motion, find the lengths. That framing is right and it has a hidden assumption in it that this rung makes visible.
The assumption is that the motion arrives as data. Every method in the field takes positions, or a sampled path, or a table of input-output angle pairs, and every one of them is therefore an interpolation problem in disguise — which is why the whole field ends up with precision points, objective functions and defect tests, none of which is about mechanisms at all.
A demand that arrives as an equation is not data, and the machinery that grew up around data does not apply to it. That is the reason compilation looks so unlike everything else here: it is not a better interpolation, it is the absence of one.
The field’s methods are shaped by the form of its inputs, and it has had one form of input for two centuries. Adding a second changes what the methods are for rather than improving them, which is why this rung is a boundary marker rather than a new technique.
The one place they meet
A four-bar’s coupler curve has an implicit equation of degree six. So an ordinary four-bar is, read backwards, a compiled machine for a particular sextic — four bars where the compiler would use hundreds.
That is the sharpest thing either field says about the other. The compiler handles every curve the same way and therefore cannot notice that a particular sextic is a four-bar’s own curve. Synthesis notices nothing else: it is entirely built out of what a four-bar can do.
There is a second meeting point, smaller and worth recording. Both fields have a branch problem, and both discovered it the same way. Synthesis found that a linkage can meet every prescribed position exactly and be unable to travel between them, because the positions lie on different assembly branches — 1,065 of 1,176 exact answers lost that way. Compilation found that a machine can satisfy every bar exactly and draw a different curve, because a parallelogram closed the wrong way.
The same underlying fact — that bar lengths do not determine an assembly — bites both, and neither field’s instruments could see it until something was measured that the constraints did not mention. That is worth more than the analogy suggests: it says the failure belongs to linkages rather than to either method.
So the honest summary is that neither is a method for the other’s problem, and the useful open question belongs to neither: given a curve, what is the smallest linkage that draws it exactly. The compiler gives an upper bound. On the one family where a better answer is known, the bound is a hundred times too large, and nothing in the subject says how far the gap goes.
About the same objects
Not linked from either essay — found by the objects both name.
- What universality is worth compiled linkage · kinematic synthesis · universality
- Six things a compiled linkage is not compiled linkage · universality
- The price is on the equation compiled linkage · universality
- Three problems called synthesis kinematic synthesis · path generation
The objects this essay names
Each one links to every other essay that touches it.
Approximate synthesisCompiled linkageKinematic synthesisObjective functionPath generationPrecision positionUniversality