Several legs, one platform

The workspace is not a shape you choose

A serial arm's reach is roughly a sphere and can be quoted as a number. A parallel mechanism's is the intersection of three reachability conditions, changes with every degree of orientation, and has a surface of uncontrollable poses cutting through the middle of it. There is no formula. There is a map, and it has to be computed.

Assumes Locked, and still moving and The easy problem and the hard one change places.

Ask what a robot arm can reach and the answer is a number: a radius, with a bite taken out of the middle where the arm cannot fold small enough. It can be quoted in a catalogue, it does not depend on which way the hand is pointing very much, and a designer can reason about it.

Ask what a parallel platform can reach and there is no equivalent answer. What there is, is a map — and every part of the map has to be computed, because none of it is a shape with a name.

Where the platform stops being controllable, at 0°. Every point is a position of the platform's centre at a fixed orientation of 0°, shaded by how far it is from a direct singularity — pale is near. Unshaded means unreachable, which is the workspace boundary and the ordinary kind of singularity. The line is det A = 0, traced through the field rather than tested for: it runs through the middle of the reachable region in 102 segments, and on it the platform can move with all three actuators locked. 3312 of 6561 sampled positions are reachable.
Fig. 1 The whole answer for one mechanism at one orientation. Shaded is reachable, with pale meaning near a direct singularity and dark meaning well-conditioned; unshaded is out of reach entirely; and the line is the singular set, traced as a contour. Half the sampled grid is reachable and the line runs through the middle of it in 157 segments.

Three things at once

The map above carries three different pieces of information and running them together is the mistake it exists to prevent.

Whether the pose is reachable. Every leg must span its own gap: the attachment point must be no further from the base pivot than 1+2\ell_1 + \ell_2 and no nearer than 12|\ell_1 - \ell_2|. Three legs, three annuli, and the reachable set is their intersection. That boundary is where detB\det B vanishes — a leg straight or folded — and it is the ordinary kind of limit.

How well the pose is held. The smallest singular value of the three constraint lines, which says how nearly they have become dependent. It is a continuous field with no threshold in it: a pose does not become bad at some particular value, it becomes gradually worse, and the shading shows that rather than pretending there is a boundary.

Where it is not held at all. The set where detA=0\det A = 0: the direct singularities, where the three leg lines are concurrent and the platform can move with all three motors locked.

The first is a region. The second is a field. The third is a curve, and it is drawn as one — traced through the field by marching squares on detA\det A rather than assembled from points that were tested and failed. That distinction is not presentational. A scattering of failed test points looks like some bad poses. A contour looks like a wall, and a wall is what it is.

Why it cannot be described

A serial arm’s workspace is a shape because the arm’s reach is a single condition on a single distance. Everything else is detail.

Three conditions intersecting is a different kind of object. The three annuli have different centres — the three base pivots — and their radii do not change, but what they are annuli about does: the attachment points move with the platform, so as the platform turns, each annulus effectively moves relative to the others.

The result at zero orientation is a lens-like region covering about half a square grid over the base circle. At twenty degrees it is smaller and a different shape. Past forty it is smaller again. There is no parameterisation of that family, and the honest way to have it is to sample.

And it can be disconnected. Nothing prevents the intersection of three annuli from having two components, and if it does then the machine cannot get from one to the other without passing outside its own reach — which it cannot do.

Where the platform stops being controllable, at 32°. Every point is a position of the platform's centre at a fixed orientation of 32°, shaded by how far it is from a direct singularity — pale is near. Unshaded means unreachable, which is the workspace boundary and the ordinary kind of singularity. The line is det A = 0, traced through the field rather than tested for: it runs through the middle of the reachable region in 122 segments, and on it the platform can move with all three actuators locked. 2818 of 6561 sampled positions are reachable.
Fig. 2 The same mechanism at 31 degrees. The reachable region has shrunk noticeably and the singular curve has moved with it rather than staying put. This is one slice of a three-dimensional object: the workspace of a three-freedom mechanism is three-dimensional, and every figure of it is a section.

What “usable” actually means

Reachability is necessary and it is nowhere near sufficient. The usable workspace is smaller in three separate ways, and each is a different kind of reduction.

Cut by the singular surface. The curve divides the reachable region into components. A machine operating in one of them cannot cross to another without passing through a pose where it is uncontrollable, which under load is not something to do deliberately. So the usable workspace is a connected component of the reachable set minus the singular set, and which component depends on where the machine starts.

Shrunk by conditioning. The leg forces grow as the singularity is approached, so poses near the curve are bad before they are singular. A practical specification quotes a threshold on the smallest singular value and treats everything below it as outside. That thickens the curve into a band, and the band is wider than it looks — the field falls off steeply near the curve, which is what the pale shading is showing.

Bounded by the working mode. Everything above assumes one choice of elbow per leg. Three legs, two choices each, eight working modes, and each has its own workspace of a different shape. A map drawn without saying which elbows it assumed is a map of an unstated machine, which is why the generator takes working as a parameter and the caption names it.

Multiply the three and the usable region is substantially smaller than the reachable one — and none of the three reductions is visible in an inverse-kinematics computation, which happily returns three motor angles for any reachable pose whether the machine can be controlled there or not.

What a serial arm’s specification hides, and what this one cannot

The contrast is worth making precise rather than by feel, because the two machines are specified in genuinely different languages.

A serial arm’s catalogue entry is a reach and a payload. Both are single numbers, both are honest, and the reason they can be single numbers is that the arm’s difficulties are all at its boundary. Inside the reach the arm works; near the edge it works badly; and “stay 10% inside the envelope” is advice that covers nearly everything.

There is no equivalent sentence for a parallel platform. “Stay inside the envelope” is satisfied by every pose on the singular curve, because the curve is nowhere near the envelope. “Stay away from singularities” requires knowing where they are, which is a three-dimensional set with no closed form. And the answer changes with the working mode, which is a fact about the particular machine on the floor rather than about the model.

So a parallel machine’s specification is a map or a rule, not a number. In practice manufacturers ship a conservative box — a rectangular region of position and orientation guaranteed to be inside the good component with margin — which is easy to state and throws away a great deal of the machine. Reclaiming it means carrying the map, and carrying the map means computing it, which is the whole content of this essay.

The measurement, and its resolution

The singular set is measured rather than argued about.

assertDirectSingularitiesAreInside traces the curve and, for every point on it, finds the distance to the nearest unreachable sample. The deepest point of the curve sits 0.428 from the nearest unreachable pose, which is 13.5 grid steps at the resolution used. That is not a boundary effect by any reading.

The segment count — 157 at a 121-square grid — is a property of the tracing resolution as much as of the mechanism. A finer grid gives more, shorter segments of the same curve. The figure reports the grid alongside the count for that reason, and a caption quoting one without the other would be quoting the sampling.

The same caution applies to the reachable fraction. “About half the grid” is half of a square grid covering the base circle, and a different extent would give a different fraction of a different thing. What is comparable across the figures in this essay is the shape, and what is not is any single percentage.

Three legs, one platformA 3-RRR planar parallel mechanism at (-0.71, -1.22) turned 0.0°, 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.000, and the smallest singular value of the three is 0.0002. At this position the platform can be turned through 61° in all before a leg runs out of reach.σₘᵢₙ 0.0002the three leg lines miss by 0.000
Fig. 3 One point on the curve, drawn as a mechanism. The three dashed lines meet to within 5 × 10⁻⁵ — that concurrency is what the contour is a contour of. Every point of the line in the map above is a configuration like this one, and there is nothing about the mechanism’s appearance at any of them that says the machine is in trouble.
Where the platform stops being controllable, at -23°. Every point is a position of the platform's centre at a fixed orientation of -23°, shaded by how far it is from a direct singularity — pale is near. Unshaded means unreachable, which is the workspace boundary and the ordinary kind of singularity. The line is det A = 0, traced through the field rather than tested for: it runs through the middle of the reachable region in 138 segments, and on it the platform can move with all three actuators locked. 3035 of 6561 sampled positions are reachable.
Fig. 4 The same mechanism at −23° with the third leg’s elbow the other way. This is a different working mode, so it is a different machine as far as the map is concerned: a different reachable region, a different conditioning field, and a different singular curve. Eight of these exist and a specification that does not name one is under-specified.

What a designer does with this

The map is not a report on a finished design. It is the objective function of the design problem, and the loop runs the other way round.

The free parameters here are four: the base radius, the platform radius, and the two link lengths. Every set of them produces a different map, and the design question is which set gives the largest well-conditioned singularity-free component over the range of orientations the machine has to work through.

That is a numerical optimisation, and each evaluation of it is the computation this essay describes. It is also a problem with no closed form and no obvious structure, which is why parallel-mechanism design is done by search rather than by construction — the opposite of the synthesis field, where the classical constructions produce a linkage directly from prescribed positions.

This site met that concretely while building the figures. The first geometry tried — base 2.4, platform 0.75, links 1.3 and 1.5 — has a perfectly good workspace with no singular curve in it at all at the home orientation. Not a small one: none. The figure that is the point of this field would have been a picture of nothing.

The geometry the site uses was chosen by scanning four candidate designs against four working modes and seven orientations and taking one whose reachable region is large and whose singular curve runs through it. Which is exactly the design loop described above, run once, by hand, to pick an example — and it is recorded in the constructor’s comment rather than in a note, because a default that was chosen for a reason should say so where the default is.

The instrument, and one thing it is not

Marching squares on a scalar field is an ordinary technique and it deserves one paragraph of scepticism, because it makes an assumption that is worth naming.

It finds the curve by looking for sign changes of detA\det A between adjacent reachable samples. That finds every place the determinant crosses zero, and it misses any place the determinant touches zero without crossing — a tangency, where the singular set is a point or a curve the function does not change sign across.

Whether such tangencies exist for this mechanism is not established here. If one did, the map would be missing part of the singular set and would look complete.

The same limitation appeared in the assembly-mode count as the odd numbers: a double root is a tangency, a sign-change scan sees one crossing where there were two, and the count comes out odd. That the two instruments have the same blind spot is not a coincidence — they are both sign-change scans of a function whose zeros are the same singular set, approached from different sides.

What would remove the blind spot is looking at the smallest singular value rather than at the determinant, since that is non-negative and touches zero rather than crossing. The shading in these figures is that quantity, so the information is on the page; the curve is not traced from it, because a contour of a non-negative function at zero is not a contour a marching-squares pass can find. Recording that the two disagree in principle, and that this site draws the one that can be traced, is more useful than a note about the technique being standard.

Why the map has to be per-orientation

One structural point remains and it is the reason “compute a map” is a bigger job than it sounds.

The workspace of a three-freedom mechanism is a subset of a three-dimensional space — two position coordinates and one orientation. Every figure in this essay is a slice of it at a fixed orientation, and the slices are genuinely different: the reachable region shrinks and changes shape as the platform turns, and the singular curve moves with it rather than sitting still underneath.

So the object a designer needs is a solid, not a picture, and the singular set inside it is a surface rather than a curve. The curves drawn here are that surface’s cross-sections.

For the six-legged platform it is worse by three dimensions: the workspace lives in six, the singular set is a five-dimensional hypersurface in it, and there is no slice that shows the shape of the thing. The usual practical answer is to compute a constant-orientation workspace — hold the platform level and map the positions — and separately an orientation workspace at a fixed position, and accept that the two together do not determine the solid.

That is a real limitation of the standard practice rather than of this site, and it is worth knowing before reading any parallel-mechanism workspace figure, including the ones above.

Two things this makes visible that a formula would not

The reachable region and the well-conditioned region have different shapes. They are not the same region with different margins. The conditioning field’s dark areas are not the middle of the reachable region — they are wherever the three leg lines happen to be well spread, which is a different geometric condition from all three legs reaching.

The singular curve does not respect the boundary. It runs into the unreachable region and out of it. Parts of the detA=0\det A = 0 set are at poses the mechanism cannot achieve anyway, which is harmless, and parts are deep inside, which is not. Nothing about the algebra of detA\det A knows about detB\det B, so there is no reason for the two to be related, and they are not.

Both of those are obvious once seen and neither is available from the equations without drawing them. That is the argument for the map rather than a specification: the interaction between the two conditions is geometric, and geometry is what a picture is for.

Losing a freedom and gaining one. Left, the nearest inverse-kinematic singularity: a leg is straight to 6.8e-3 and cannot reach further, so the platform has lost a freedom. That is the workspace boundary and it is a serial arm's singularity. Right, the nearest direct-kinematic singularity: the three leg lines pass through one point to 0.0000, so the three forces the legs transmit are no longer independent and the platform can turn about that point with every actuator locked. It has gained a freedom, and it is 3.12 from the other configuration and nowhere near the edge of the reach.
Fig. 5 The two kinds side by side once more, because the map is a map of their interaction. The left configuration is the reachable region’s boundary and the right one is the line through its middle. A specification that quotes only a reach has described the first and said nothing about the second.
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. 6 The same singular set, counted rather than traced. Each column is how many actuator triples permit that many assemblies; the odd columns are the ones where two assemblies have merged, which is what a direct singularity is in the actuator picture. The workspace map and this histogram are two views of one surface, and neither was derived from the other.

An inner bound against an outer one

A map or a rule, not a number is the honest conclusion, and it is worth saying what the rule actually looks like in practice, because real parallel machines do carry a number and the number is a different kind of thing from a serial arm’s.

What gets quoted is the largest inscribed region of a simple shape — a box, a cylinder — that fits entirely inside the usable set at a stated range of orientations. Every pose in it is reachable, well conditioned and on one side of the singular surface, so the number is a guarantee: anywhere in this box, the machine works.

A serial arm’s reach is the opposite kind of number. It is a circumscribed bound: the radius of a sphere containing everything the arm can reach, with the caveats about the shoulder and the wrist left to the small print. Poses inside it may be unreachable, may be singular, may be at a joint limit.

So the two specifications are an inner bound and an outer bound, and comparing them directly is comparing two numbers that mean opposite things. A parallel machine’s quoted volume is smaller than what it can reach; a serial arm’s is larger. Setting the two side by side, as a purchaser naturally does, understates the parallel machine by whatever the inscribed shape discarded — which on a lens-shaped region cut by a curve is most of it.

That is a real and unhelpful asymmetry, and the reason for it is exactly this essay’s subject. An outer bound is cheap for a serial arm because the reachable set is nearly a sphere and one number describes it. An inner bound is what a parallel machine can honestly offer because its usable set has no description — so the specification retreats to the largest simple shape that fits, and the retreat is what makes the number small.

The practical consequence for anybody choosing between the two is short. Ask what kind of bound the number is, and if it is inscribed, ask what fraction of the reachable set it covers — because that fraction is computable from the map and is the difference between a machine that is smaller than it looks and one that is not.

Where this field stops

Six essays in, this field has one mechanism drawn in detail, one drawn in outline, and one analysed by its constraints alone. What it has not got is worth listing, because a field that names its gaps is easier to build on than one that implies completeness.

The three-dimensional workspace. Every map here is a slice at a fixed orientation. The real object is three-dimensional for the planar platform and six-dimensional for the Gough platform, and neither is drawn.

Redundant actuation. Adding a fourth leg to a three-freedom platform removes some singularities entirely — the extra constraint line keeps the set spanning where three would have failed — at the cost of the legs having to agree. It is the standard answer to the interior-singularity problem, and it was not computed here; what a fourth leg buys computes it, and finds the singular curve of a slice reduced to isolated points.

The spatial workspace. The Gough platform’s usable envelope is bounded by leg stroke, joint cone angle and conditioning, and this site computes only the third.

Dynamics, again. “The leg forces go to infinity” is a statement about a ratio of velocities and is kinematics. What the leg does about it, how fast the platform can be driven through a well-conditioned region, and what the payload does to any of it are outside this site by the same rule that keeps inertia out of the cam field.

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 13 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.

ConditioningConstraintDirect singularityInverse kinematicsParallel mechanismPlatformSingularityWorking modeWorkspace