Several legs, one platform

The easy problem and the hard one change places

For a robot arm, working out where the hand is takes a walk down a chain and working out what the joints must be to put it somewhere is the hard part. Connect the platform by three legs instead of one and both statements reverse — and the reversal is not a matter of degree.

Assumes Four bars and four pins and Counting and measuring mobility.

Every mechanism on this site so far has one path from the ground to the part that does the work. A four-bar’s coupler is reached through the crank, or through the rocker, and the loop is one loop. A cam’s follower is reached through the cam. Even the spatial linkages of the last field are single closed loops.

Give the moving part three paths to ground instead of one and almost everything changes. Not the theory — the same screws, the same constraints, the same rank arguments — but the shape of the computation, which reverses end to end.

Three legs, one platformA 3-RRR planar parallel mechanism at (0.20, -0.15) turned 11.5°, elbows up/up/up. The three actuator angles were computed one leg at a time and independently, which is what makes this direction cheap. The dashed lines extend each leg's second link: those are the three forces the legs can transmit to the platform, and the mechanism is controllable exactly while they stay independent. Here they miss one another by 0.651, and the smallest singular value of the three is 0.9550. At this position the platform can be turned through 206° in all before a leg runs out of reach.σₘᵢₙ 0.9550the three leg lines miss by 0.651
Fig. 1 A 3-RRR planar parallel mechanism: three two-link legs, each with a motor at the ground pivot, all holding one triangular platform. Drag the platform’s angle. The dashed lines extend each leg’s outer link, and whether those three lines stay independent is the whole question of what this mechanism can and cannot do.

The serial case, for contrast

A robot arm is a serial chain: shoulder, elbow, wrist, hand. Its forward problem — given the joint angles, where is the hand? — is a walk. Multiply the transforms in order and read off the answer. One answer, no iteration, no choice.

Its inverse problem — given a wanted hand pose, what must the joints be? — is genuinely hard. Sometimes there is a closed form, if the geometry is kind enough; sometimes there is not and it needs a numerical solve. And there is usually more than one answer: an elbow-up and an elbow-down solution, a wrist flipped or not, a shoulder reaching left or right around the body.

That asymmetry is why an arm’s controller carries an inverse-kinematics routine as a named component and its forward kinematics as three lines.

The parallel case, which is the other way round

Now the platform. Three legs, each a two-link arm, each with its motor at the ground pivot. Give the platform a pose — a position and an angle — and ask what the three motor angles must be.

Each leg is solved on its own. The pose fixes where that leg’s attachment point is; the leg is then a two-link arm with a known base and a known tip; and a two-link arm’s inverse problem is a circle intersection, which has a closed form. Do it three times.

That is the whole computation. The legs do not consult one another, there is no iteration, and there is no simultaneous anything. The inverse problem for a three-legged platform is three independent two-link problems, and each of those is high-school trigonometry:

θi=atan2(dy,dx)±arccos ⁣(D2+122221D)\theta_i = \operatorname{atan2}(d_y, d_x) \pm \arccos\!\left(\frac{D^2 + \ell_1^2 - \ell_2^2}{2\ell_1 D}\right)

with d the vector from the base pivot to the attachment point and DD its length. The ±\pm is elbow-up or elbow-down for that leg, chosen independently of the others.

Now go the other way. Given the three motor angles, where is the platform?

Nothing decouples. Each leg says its outer link must be exactly 2\ell_2 long, which is one equation; the platform is rigid, so all three equations share the same three unknowns; and there is no order in which to solve them that makes any of them simpler. It is a simultaneous nonlinear system and it needs a solve.

This is not a mild inconvenience. The solve does not have one answer.

Three legs, one platformA 3-RRR planar parallel mechanism at (0.50, 0.35) turned -17.2°, elbows up/down/up. The three actuator angles were computed one leg at a time and independently, which is what makes this direction cheap. The dashed lines extend each leg's second link: those are the three forces the legs can transmit to the platform, and the mechanism is controllable exactly while they stay independent. Here they miss one another by 0.572, and the smallest singular value of the three is 0.2228. At this position the platform can be turned through 187° in all before a leg runs out of reach.σₘᵢₙ 0.2228the three leg lines miss by 0.572
Fig. 2 The same mechanism at a different pose, with the second leg’s elbow chosen the other way. Each leg’s elbow is an independent choice — three legs, two ways each, so eight working modes — and every one of them holds the platform in exactly the same place. Which one a physical machine is in was decided when it was assembled and cannot change without taking it apart.

When the geometry runs out

There is a second difference, and it is the one a designer meets first.

A serial arm’s inverse problem fails when the target is out of reach: the hand cannot get there, no joint angles exist, and the failure is a statement about the target. That is a simple boundary, roughly a sphere, and it is easy to reason about.

A parallel mechanism’s inverse problem fails when any one leg cannot span its gap. Three legs, three conditions, and the reachable set is the intersection of three annuli whose centres are at the three base pivots and whose radii depend on the platform’s orientation. The result is not a shape anyone would guess: it is a lens-like region that changes as the platform turns, and it can be disconnected.

inverse therefore returns reachable: false rather than throwing or returning a complex angle. That is not an error condition. It is the honest answer to “what motor angle puts the platform there” when nothing does, and it is the reason the workspace has to be mapped rather than described.

At the platform’s home pose, with a base radius of 2.0, a platform radius of 0.6 and two equal links of 1.4, about half of a square grid covering the base circle is reachable at zero orientation. Turning the platform by forty degrees drops it, and by sixty degrees drops it further.

Solving the forward problem properly

The obvious route is Newton–Raphson on the three residuals, and the site takes it — but with a reduction in front, because Newton alone answers the wrong question.

Newton finds a solution: whichever one lies in the basin of the guess. Started from a spread of random guesses it will find several, and how many depends on the spread and the seed. A count obtained that way is a count of what the search happened to reach.

The reduction removes the search. Hold the platform angle φ fixed. Then each leg’s constraint says the platform’s centre lies on a circle of radius 2\ell_2 about a known point — known, because with φ fixed the offset from centre to attachment is known and the elbow position is known. Two circles of equal radius meet at two points, so two legs pin the centre to one of two places, and the third leg becomes a single scalar equation in φ alone:

g(φ)=p(φ)D3(φ)2g(\varphi) = \left| p(\varphi) - D_3(\varphi) \right| - \ell_2

Its zeros are the assemblies. Scan φ over the full turn, find the sign changes, bisect each bracket, polish against the full three-equation residual, merge duplicates. Two branches, because two circles meet at two points.

That is exhaustive to the scan’s resolution and no further, which is the honest thing to say about a root count — and the resolution is returned alongside the count wherever the count is used. At 3,600 steps it is a tenth of a degree.

The equation whose roots are the assemblies. Hold the platform's angle and each leg says the platform's centre lies on a circle; two legs then fix the centre to one of two points, and the third leg becomes this single number — how far it is from being its own length. Its zeros are the assemblies, and there are 6 of them at 216°, 48°, 144°. The two curves are the two ways the first pair of circles can meet, and the gaps are angles at which they do not meet at all, so no platform pose exists there whatever the third leg does.
Fig. 3 The scalar equation, drawn. Each curve is one of the two ways the first pair of circles can meet, plotted against the platform’s angle; the zeros are the assemblies. The gaps are angles at which those two circles do not meet at all, so no pose exists there whatever the third leg is doing — the equation is not merely non-zero, it is undefined.

How many answers there are

For the platform’s own home region, two. Command it to (0.2, −0.15) at 0.2 radians, read the three motor angles, and hand those angles back: there are exactly two platform poses that satisfy all three legs, and the commanded one is among them.

That is already the point being made. Two. A serial arm at given joint angles is somewhere; there is no question to ask. This mechanism at given motor angles is in one of two places, and which one depends on where it has been.

But two is not the maximum. Sweeping the three motor angles over 6,750 combinations — every 12 degrees on the first, every 24 on the other two — and counting roots at each gives a distribution that runs from none to six:

Assemblies Actuator triples
0 5,419
1 72
2 1,024
3 6
4 149
5 5
6 75

Most triples assemble in no way at all, which is unsurprising: three arbitrary motor angles generally leave the three attachment points in positions no rigid triangle fits. Of those that assemble, most do so in two ways, and 75 of them do so in six.

The odd counts are the interesting ones and they are the subject of a later essay: an odd count means two assemblies have merged, and two solutions merging is exactly a singularity.

6 ways to assemble the same three actuator angles. The actuators are at 216°, 48°, 144° in every panel, so the three elbows are at the same three points throughout and only the platform differs. Each pose satisfies all three legs to 6.7e-16. Found by reducing the problem to one equation in the platform angle and scanning it at 0.100° — exhaustive to that resolution and no further, which is the honest thing to say about a root count. Over a survey of 6750 actuator triples this mechanism ranges from none to 6.
Fig. 4 Six poses of one mechanism at one set of motor angles. The three elbows are in identical positions in every panel — the motors have not moved — and only the platform differs. Every one satisfies all three legs to within 2 × 10⁻¹⁵. A controller that solves the forward problem and gets an answer has not got the answer.
How many assemblies, over the actuator space. 6750 sets of actuator angles, sampled every 12° on the first and 24° on the other two, each one scanned for every platform pose that satisfies all three legs. The count runs from 0 to 6. The odd columns — 83 triples in all — are configurations where two assemblies have merged, which is what a direct singularity is when it is counted instead of drawn: the boundary in actuator space between a region with four assemblies and one with two.
Fig. 5 The distribution above, drawn. The pale columns are even counts and the marked ones are odd. Most sets of motor angles assemble in no way at all; of those that do, most assemble in two ways, and seventy-five of the 6,750 sampled assemble in six.

Why anybody builds these

The asymmetry runs the wrong way for a general-purpose machine and exactly the right way for several specific ones.

Stiffness. A serial arm’s links carry bending: the shoulder motor holds up everything past it, at whatever moment arm the arm is currently extended to. A parallel mechanism’s legs carry axial load only, because a leg pinned at both ends can only push or pull along itself. Axial loading is enormously stiffer than bending for the same mass of metal, which is why flight simulators, machine-tool heads and telescope mirror supports are built this way.

Speed. The motors sit on the ground. A serial arm accelerates its own elbow and wrist motors along with the payload; a parallel one accelerates three light links. That is why the fastest pick-and-place machines in the world are delta robots and not arms.

The command is cheap. The controller’s inner loop asks where the platform is wanted and how long each leg must be to put it there — the inverse problem — thousands of times a second. On a parallel mechanism that is three closed-form evaluations. The hard forward problem is needed only for calibration and for working out where the machine is from its sensors, which is a much less frequent question.

So the reversal is not a defect that has to be tolerated. It is the reason: the direction that is cheap is the direction the control loop runs in.

The working modes, which are a different multiplicity

There are two independent sources of multiple answers here and conflating them is easy, so they are worth separating.

An assembly mode is a solution of the forward problem: given the motor angles, one of the platform poses that satisfies every leg. The six panels above are six assembly modes.

A working mode is a choice of elbow, per leg, made when the mechanism was put together. Three legs with two elbow choices each gives eight working modes, and a mechanism in one of them cannot get to another without a leg passing through being perfectly straight — which is the boundary of its own reach.

The two are orthogonal. A given working mode has its own workspace, its own singularities and its own set of assembly modes, and the eight workspaces are different shapes. That is why inverse takes a working argument and why the figures that map a workspace name one: a map drawn without saying which elbows it assumed is a map of an unstated machine.

This is the parallel mechanism’s version of something the four-bar field already has. A four-bar has two assembly branches and they matter for the same reason: a physical mechanism sits on one, cannot cross to the other, and a figure that let it cross would be showing a machine that came apart between frames. Here there are two multiplicities instead of one, and the second is fixed at assembly time rather than reachable during motion.

What the round trip checks

Two directions computed by machinery with nothing in common is this site’s standing habit, and here it is unusually clean. The inverse is closed-form circle intersections; the forward is a scan of a reduced equation followed by Newton on the full system. Neither shares a line of code with the other.

assertRoundTripReturnsThePose takes a grid of poses at three orientations, runs each through the inverse and back through the forward, and requires the pose to return. Over 147 poses the worst discrepancy is exactly zero — every one recovered to the last bit — and none of the grid falls outside the workspace at those orientations.

Exactly zero is worth pausing on, because it is a stronger result than the 10⁻¹⁵ this site usually reports. It happens because the forward solve is started from the pose it is checking and the residual there is already below the target, so Newton takes no step at all. That is a real check of the inverse — the residual being zero at the commanded pose is the statement that the inverse was right — but it is not a check that Newton converges from elsewhere. That is what the assembly-mode search does, from 3,600 scan points and a bisection, and there the worst residual is 2 × 10⁻¹⁵.

Reporting both matters. A round trip that starts Newton at the answer and reports agreement has the shape of a check that tests nothing, which this site has recorded before, and the way to keep it honest is to say what it did and did not exercise rather than to quote the smaller number.

One set of lengths, two mechanisms. The same four bars pinned in the same order and the same crank angle, assembled two ways. B sits 5.36 units apart between them. Both satisfy the loop-closure equations exactly, so neither is more correct — and a built mechanism is in one branch permanently, because getting to the other requires taking a pin out. The solver reaches whichever branch its starting guess is nearer, which is why a sweep carries the previous position forward rather than starting fresh.
Fig. 6 Where this site has met multiple solutions before. A four-bar has two assembly configurations at most crank angles, and a built one cannot pass between them without being taken apart. That is the same phenomenon at the smallest scale it occurs on — and the parallel platform’s six is the same thing again, with two extra legs to be simultaneously satisfied and correspondingly more ways to satisfy them.

What the reversal costs a designer

One consequence deserves stating plainly, because it is the reason parallel machines are not simply better.

A serial arm’s workspace is large and its stiffness is poor. A parallel mechanism’s stiffness is excellent and its workspace is small — the reachable region above is a fraction of the circle its own base pivots sit on, where an arm of the same total link length sweeps a disc of nearly the full radius. The three legs get in each other’s way, and every one of them must reach, so the workspace is an intersection rather than a union.

Orientation is worse. A serial wrist turns the hand through most of a sphere. This platform’s reachable area shrinks steadily as it is asked to turn, and past a few tens of degrees there is very little left. A parallel machine that has to reorient far is a hard design problem, and the usual answer is a hybrid: a parallel stage for the stiff, fast, short-range motion with a small serial wrist on the end of it.

So the reversal is a trade rather than an improvement, and which side of it a machine wants is decided by whether the work is reaching or pushing. A flight simulator pushes. A paint sprayer reaches.

8 postures, one tool pose. The tool is at one place, held one way. Eight different sets of joint values put it there, and this is all of them at once: two ways for the base joint to face the target, two for the elbow, and two for the wrist — two by two by two. Every posture here came out of a closed form and was checked by running the arm forward again; the worst disagreement is below 10⁻¹⁴ of a metre. Which of them a machine can actually use is a separate question, and it is answered by the joint limits rather than by the geometry.
Fig. 7 The serial case, for the comparison this essay is built on. A six-joint arm’s inverse problem is the plural one: eight postures put one tool at one pose, found in closed form and each checked forward to 1.8 × 10⁻¹⁵. The reversal is complete — a platform’s forward problem is hard and multi-valued, an arm’s inverse problem is, and the difficulty is the same difficulty seen from opposite ends. That field is One path to the tool.

Errors accumulate one way and combine the other

The reversal is described above through stiffness and speed, and there is a third quantity it reverses that is worth having on its own, because it is the one that decides which machine measures better rather than which holds better.

A serial arm’s pose is a product of transforms. An error at the shoulder — a bearing’s runout, an encoder’s offset, a link a fraction long — is carried by every joint after it and arrives at the hand multiplied by the distance from the shoulder to the hand. The errors compose along the chain, the moment arms grow toward the base, and the tip’s accuracy is worse than any single joint’s. That is why an arm’s shoulder is built to a standard the wrist is not.

A parallel platform’s pose is the solution of three constraints. An error in one leg’s length does not propagate along anything; it perturbs one equation, and the pose moves by whatever the inverse of the Jacobian maps that perturbation to. Three leg errors combine rather than accumulate, and in a well-conditioned region their effects partly cancel — so the platform’s pose error is comparable to a single leg’s rather than to their sum.

That is the accuracy half of the same trade the stiffness argument makes, and it has the same structure and the same exception. In a well-conditioned region a parallel machine is more accurate than its parts, and a serial arm is less accurate than its parts. Near a singularity the inverse Jacobian blows up, the cancellation becomes amplification, and the parallel machine is worse than either — which is the same place its stiffness goes.

It also explains a division in practice that the workspace argument alone does not. Coordinate measuring machines, telescope mounts, machine-tool heads and motion platforms are parallel; general-purpose handling arms are serial. The first list is things whose value is in knowing exactly where the moving part is, and the second is things whose value is in reaching a lot of places. Accuracy and workspace sit on opposite sides of the reversal, and every machine on either list has chosen one.

There is a consequence for calibration too, and it runs the same way. A serial arm is calibrated joint by joint, because each joint’s error has its own distinct signature at the tip and they can be separated. A parallel machine’s leg errors reach the pose through one map, so they are separated by moving through poses where the map differs — which is why parallel machine calibration is a global fitting problem over a set of poses rather than a sequence of local measurements.

What comes next

Three things follow from the structure laid out here, and each is a rung of this ladder.

The forward problem’s several answers are the assembly modes, and how many there are varies over the actuator space in a way that is not arbitrary. That is the next essay.

The velocity relation has two matrices rather than one, because the mechanism has two ways of going wrong, and one of them has no serial counterpart at all. That is the essay after.

And the workspace is the intersection of three reachability conditions minus the places the second kind of singularity makes unusable, which is a genuinely different object from a serial arm’s reach and has to be computed rather than described.

What this makes readable

Essays that name this one as a prerequisite.

About the same objects

Not linked from either essay — found by the objects both name.

What links here

The 8 of 14 essays linking to this one that name the most of the same objects.

The objects this essay names

Each one links to every other essay that touches it.

Assembly-modeForward kinematicsInverse kinematicsInverse problemNewton–RaphsonParallel mechanismPlatformSerial chainWorking modeWorkspace