Several legs, one platform

Locked, and still moving

A serial arm goes singular at the edge of its reach, where it loses a freedom, and the failure is visible as an arm gone straight. A parallel mechanism has a second kind with no serial counterpart — it gains a freedom, in the middle of the workspace, at poses nothing about the legs' reach marks out.

Assumes The easy problem and the hard one change places and Two things called jamming.

A serial arm has one Jacobian, relating joint rates to hand velocity, and one kind of singularity: a configuration where that matrix loses rank and the hand can no longer move in some direction. It happens at the boundary of the reach, it is visible as a limb gone perfectly straight, and every treatment of robot arms covers it in one section.

A parallel mechanism’s velocity relation has two matrices:

Ax˙=Bθ˙A\,\dot{x} = B\,\dot{\theta}

and each can lose rank on its own. That gives two kinds of singularity, and only one of them has a serial counterpart.

Losing a freedom and gaining one. Left, the nearest inverse-kinematic singularity: a leg is straight to 1.1e-5 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.0001, 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 1.97 from the other configuration and nowhere near the edge of the reach.
Fig. 1 Left, a leg straight: the platform has lost a freedom, and this is the workspace boundary. Right, the three leg lines through one point: the platform has gained one, and this is in the middle of the workspace. The two configurations are 3.12 apart on a mechanism whose base pivots sit at radius 2.

Where the two matrices come from

Differentiate each leg’s closure and project along the leg’s outer link.

The attachment point PiP_i moves with the platform: Pi˙=p˙+φ˙Eri\dot{P_i} = \dot{p} + \dot{\varphi}\,E r_i, with EE the quarter-turn and rir_i the offset from platform centre to attachment. It also moves with the leg: Pi˙=1θi˙e^(θi)+2ψi˙e^(ψi)\dot{P_i} = \ell_1 \dot{\theta_i}\,\hat{e}^{\perp}(\theta_i) + \ell_2 \dot{\psi_i}\,\hat{e}^{\perp}(\psi_i), with ψi\psi_i the passive joint.

Take the dot product of both with u^i\hat{u}_i, the unit vector along the outer link. That kills ψi˙\dot{\psi_i}, because a rotation of the outer link about its own inner end moves the tip perpendicular to the link. What is left is one scalar equation per leg with no passive rate in it:

u^ip˙+(u^iEri)φ˙=1(u^ie^(θi))θi˙\hat{u}_i \cdot \dot{p} + \left(\hat{u}_i \cdot E r_i\right)\dot{\varphi} = \ell_1 \left(\hat{u}_i \cdot \hat{e}^{\perp}(\theta_i)\right)\dot{\theta_i}

Three of those stack into Ax˙=Bθ˙A\dot{x} = B\dot{\theta}. The rows of AA are [u^i, u^iEri][\hat{u}_i,\ \hat{u}_i \cdot E r_i] — entirely about the lines the outer links lie along. BB is diagonal, with entry 1(u^ie^(θi))\ell_1 (\hat{u}_i \cdot \hat{e}^{\perp}(\theta_i)) — entirely about each leg’s own two links and nothing else.

The separation is the whole story. One matrix is about the legs individually; the other is about how their lines sit together.

det B = 0: losing a freedom

BB is diagonal, so it goes singular when any one entry does, and entry ii vanishes when u^ie^(θi)\hat u_i \perp \hat e^{\perp}(\theta_i) — that is, when the outer link is parallel to the inner link. The leg is straight, or folded back on itself.

A straight leg cannot get any longer. Whatever the motor does, the attachment point cannot move further from the base pivot, so the platform has lost the ability to move in that direction. It has lost a freedom.

This is the serial arm’s singularity, happening one leg at a time, and it is at the workspace boundary by definition: a leg being fully extended is what “the edge of the reach” means.

On this mechanism the nearest such configuration to the origin, at zero orientation, is at (0.000, 1.819) — straight up towards the top base pivot — with a leg straight to 7 × 10⁻³ on a grid of 141 by 141. Its exact location is where the reachable region ends, which is why the search finds it on the boundary rather than inside.

det A = 0: gaining one

AA goes singular when its three rows become linearly dependent, and its rows are the three outer links’ lines. In the plane, three lines are dependent exactly when they are concurrent — all through one point — or all parallel, which is concurrency at infinity.

When that happens, there is a platform velocity x˙0\dot x \ne 0 with Ax˙=0A \dot x = 0, and therefore with Bθ˙=0B\dot\theta = 0: the platform moves and no motor moves at all.

Lock the three motors. The mechanism is a structure everywhere else, and here it is not: it can rotate instantaneously about the point where the three lines meet, because rotating about that point moves each attachment point perpendicular to its own leg’s line, which is exactly the direction that leg cannot resist.

The platform has gained a freedom that it does not have anywhere else, and the mechanism is uncontrollable there. The reverse statement is the one an engineer feels: to hold the platform against a load at such a pose, the leg forces must go to infinity, because the three available force directions no longer span what is needed.

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. 2 The mechanism at the nearest direct singularity on a 141-square grid: (−0.706, −1.221) at zero orientation. The three dashed lines are the outer links extended, and here they pass through one point to within 5 × 10⁻⁵. The platform can turn about that point with every motor locked.

The screw reading, which makes it geometry

det A = 0 is a determinant vanishing, and a determinant is not a picture. The screw reading is, and it connects this field to the last one exactly.

Each leg can transmit one force to the platform, along its own outer link — and nothing else, because everything else the leg does is a joint turning. That force is the leg’s constraint wrench: in the plane, [u^i;Pi×u^i][\hat u_i\,;\,P_i \times \hat u_i], which is a zero-pitch screw whose axis is the outer link’s line.

The platform is held by three such wrenches. It is fully controllable exactly when those three screws are linearly independent, and a direct singularity is a configuration where they are not.

So the rows of AA are not an arbitrary matrix that happens to matter. They are the platform’s constraint system, and the question “is this pose singular” is the question “do these three lines span”. That is a statement about lines in the plane, and it is the reason the picture is legible: three lines through a point is something a reader can see, and a small determinant is not.

The site therefore reports the smallest singular value of the three rather than the determinant. A determinant scales with the size of the rows, so it means different things for a millimetre mechanism and a metre one, and comparing determinants across a workspace compares partly the units. The smallest singular value is a distance to singularity in the rows’ own units. At the home pose it is 0.900; at the nearest singular pose found, 6 × 10⁻⁵.

Why the two are opposites and not two versions of one thing

It is tempting to file both as “the Jacobian went singular” and move on. The two are opposite in a way that matters for what to do about each.

At an inverse singularity the platform has fewer freedoms than the motors. Some motor motion produces no platform motion: the mechanism has slack in the command. Nothing bad happens if the machine is simply commanded elsewhere, and the failure is graceful — a direction becomes unavailable, the rest keeps working.

At a direct singularity the platform has more freedoms than the motors. Some platform motion happens with no motor motion: the mechanism has slack in the hold. Nothing keeps the platform where it was put, and the failure is not graceful, because it is uncontrolled motion under whatever load is present rather than an unavailable direction.

The site’s field has a precedent for exactly this confusion: a toggle position and the worst transmission angle are both called jamming, they are 222° apart on the same linkage, and they are opposite situations. The parallel case is the same shape of mistake one field along, and the vocabulary invites it just as strongly — both are “singularities”, both are “det = 0”, and one of them is where the machine cannot go and the other is where it must not be left.

The check, which has to fail two ways

An assertion that “the two singularities are different” is nearly content-free — two configurations picked by two different criteria will differ almost surely. What has to be checked is that each is where its own theory says.

assertTheTwoSingularitiesAreDifferent finds the nearest configuration of each kind on a grid and then tests each against the other criterion’s geometry:

  • at the nearest det B = 0 pose, some leg must be nearly straight — measured as the outer link’s direction against the inner link’s, and it comes out at 6.8 × 10⁻³;
  • at the nearest det A = 0 pose, the three leg lines must nearly meet — measured as the residual of the best-fit meeting point, and it comes out at 0.0000;
  • and the two poses must be some distance apart, or there is nothing to compare — 3.12.

Each half would pass on its own for uninteresting reasons. A check that a leg is straight at the pose selected for having the smallest detB\det B is nearly a tautology; a check that three lines meet at the pose selected for the smallest detA\det A nearly is too. What makes the pair informative is that the two selections are made by different matrices and produce different places, and that each place has the geometric property the other matrix’s story predicts for it.

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. 3 The whole picture. Shaded region is reachable at zero orientation, with pale meaning near-singular; unshaded is out of reach. The line is det A = 0 traced through the field as a contour rather than tested for point by point. It runs through the middle, in 157 segments, and the deepest part of it sits 13.5 grid steps from the nearest unreachable pose.
Where the platform stops being controllable, at 20°. Every point is a position of the platform's centre at a fixed orientation of 20°, 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 126 segments, and on it the platform can move with all three actuators locked. 3091 of 6561 sampled positions are reachable.
Fig. 4 The same map twenty degrees round. The reachable region has shrunk — every orientation has its own workspace — and the singular curve has moved with it rather than staying put. A design cannot be cleared by mapping one orientation, because the surface is three-dimensional and this is a slice.

It is inside, and that is the claim

That the direct singularity is interior is what makes it a different kind of problem rather than a different name for the same one. A boundary singularity is manageable: stay away from the edge, which is a constraint every machine has.

An interior one cuts the workspace. A path from one side of the surface to the other passes through a pose where the mechanism is uncontrollable, and no amount of staying away from the edges avoids it.

So the claim is measured rather than asserted. assertDirectSingularitiesAreInside traces the curve, and for each point on it finds the distance to the nearest unreachable sample. The deepest point sits 0.428 from the nearest unreachable pose, which is 13.5 grid steps at the resolution used. That is not near an edge by any reading.

157 segments of curve, on a 121-square grid at zero orientation. The count is a property of the tracing resolution as much as of the mechanism — a finer grid gives more, shorter segments of the same curve — which is why the figure reports the grid alongside the count.

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 assembly counts again, with the three-assembly column marked. Odd counts mean two solutions have merged, which is the same event as det A losing rank — so this histogram is the singularity surface counted from the actuator side rather than traced in the workspace.

Where the odd numbers came from

The previous essay counted assembly modes over 6,750 sets of motor angles and found the count running 0, 1, 2, 3, 4, 5, 6 — with 83 of the triples giving an odd number.

An odd count means two solutions have merged. The scalar closure equation whose zeros are the assemblies has a double root there: the curve touches the axis instead of crossing it, and a sign-change scan sees one crossing where a moment before there were two.

Two assemblies merging is exactly a direct singularity. At the merge the mechanism is in a configuration reachable in two ways that have become one way, and the Jacobian AA has lost rank — it is the same event, counted rather than drawn.

So the histogram in that essay is the singularity surface seen from the actuator side. The boundary in actuator space between a region with four assemblies and one with two is a surface of direct singularities, and the 83 odd triples are the samples that landed on it. That two entirely separate computations — a root count and a determinant contour — are describing the same object is the sort of agreement this site looks for, and here it was not designed in.

Reading the map

The shaded field above is worth a moment of instruction, because it carries three different things at once and they are easy to run together.

Unshaded is unreachable. No motor angles put the platform’s centre there at this orientation — one of the three legs cannot span the gap. That boundary is where detB\det B vanishes, and it is the ordinary kind.

Shading is conditioning. Darker is further from a direct singularity; pale is near one. It is a continuous field because there is no threshold in the physics: a pose does not become bad at some particular value, it becomes gradually worse.

The line is the singular set itself. It is drawn as a contour of detA\det A traced through the field by marching squares, rather than as a collection of points that were tested and failed. That distinction is not cosmetic. A set of failed test points looks like a scattering of bad poses; a contour looks like what it is, which is a wall.

Reading the three together gives the shape of the design problem. The usable region is not “the shaded part”. It is the part of the shaded region on one side of the line, dark enough to hold a load, and connected to wherever the machine has to start from.

What it means for control

Three consequences, and they are the reason this is the essay of the field rather than a footnote to it.

A workspace map is not enough. Reachability says where the platform can be; it does not say where the platform can be controlled. A specification written from the first is a specification that includes poses the machine cannot hold.

The usable workspace is a connected component. Once the singular surface is drawn, what a machine actually has is the region on one side of it — and if that region is disconnected, part of the reachable set is unreachable in practice, because getting there means crossing.

Nearness matters, not just membership. The leg forces grow as the singularity is approached, so a pose at a smallest singular value of 10⁻³ is bad before it is singular. Practical designs quote a conditioning threshold and treat everything below it as outside, which shrinks the usable region further and is the reason the shaded map above is drawn as a continuous field rather than as a yes-or-no region.

Two things that are not the same configuration. The mechanical advantage of a four-bar, from the velocity solution: for a lossless mechanism it is the reciprocal of the output-to-input speed ratio, so wherever the output momentarily stops the force ratio diverges. It reaches 26172 at 229° — a toggle, where crank and coupler line up, and the reason a knee-joint clamp holds with almost no effort. The transmission angle is at its worst somewhere else entirely: 54.3° at 0°, 229° away, where coupler and rocker line up instead. Both get called "the mechanism jamming" and they are opposite situations — one is enormous force output, the other is force going into the bearings.
Fig. 6 The planar field already has one half of this. A four-bar at a toggle position has its coupler and rocker in line and momentarily gains an instantaneous freedom — the same “gains a freedom” event, on a mechanism with one loop instead of three legs. What the parallel case adds is that the event happens on a surface through the middle of the workspace rather than at isolated configurations.

Two singularities, two remedies

The two kinds are opposite in what they do to the platform, and they are also opposite in what a designer can do about them — which is the practical half of the distinction and the reason it is worth carrying past the arithmetic.

An inverse singularity is at the workspace boundary, where a leg has gone straight. It is avoided by staying inside, and it is pushed further out by giving the legs more travel: longer outer links, more stroke, a larger base. Every one of those is a change of size, none of them changes the mechanism’s character, and a designer with room can always buy more margin.

A direct singularity is interior, and none of that helps. Its condition is that the three outer links’ directions become linearly dependent, which is a statement about directions rather than lengths — so scaling the mechanism up moves the singular set with it and buys nothing. More travel makes the workspace bigger and the singular surface inside it bigger too.

What does move it is the architecture: where the legs attach to the base and to the platform, and therefore what directions the outer links can take. Change the platform radius against the base radius, change the attachment angles, use a different leg arrangement, and the singular surface moves through the workspace and can be pushed towards its edge. That is a redesign rather than a resize, and it is why parallel mechanism papers are so preoccupied with architecture in a way serial arm papers are not.

So avoid the singularities means two entirely different instructions. For the inverse kind it means stay inside, and the boundary is where the arithmetic already says the mechanism stops. For the direct kind it means stay in one component, and the components are separated by a surface nothing about reachability marks — which is why the map has to be drawn and why a controller needs it as data rather than as a limit check.

The asymmetry also explains why the direct kind is the dangerous one in service. A mechanism approaching an inverse singularity is visibly at the end of its travel and refuses to go further; a mechanism approaching a direct one is somewhere ordinary, moving normally, with its leg forces rising and nothing in its commanded position out of the usual. The failure has no warning in the quantity anybody is watching, which is the argument for watching the smallest singular value instead.

The one this site does not compute

There is a third case in the literature, sometimes called a combined or architecture singularity, where AA and BB lose rank simultaneously — which happens for particular designs rather than at particular poses, and can make a mechanism singular throughout its workspace.

That is a statement about the base and platform geometry rather than about a configuration, and this site does not search for it. Naming it matters because a reader who has met the two-Jacobian story and not the third could reasonably conclude that any design is fine as long as its singular surfaces are avoided, and some designs have nothing to avoid them into.

What this site does compute is the two configuration-dependent kinds, on one mechanism, with the geometry of each measured rather than described. That is the entrance, and the workspace essay is what a designer does with it.

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

ConcurrencyConstraintDirect singularityInverse singularityJacobianParallel mechanismPlatformRankScrewSingularityWorkspace