The chain that does not close
Assumes What decides whether it moves and Six freedoms, not three.
Ninety-one essays on this site have been about mechanisms that close. A four-bar closes; a Gough platform closes six times over; a Sarrus linkage closes twice and is called immobile for it. The closing is not incidental to how any of them is drawn — it is the whole method. A configuration is the solution of a closure equation, the solve can fail, and a figure cannot show a pose the mechanism cannot reach because there are no coordinates to draw it from.
Here is the mechanism that does not close.
It is also, by a very long way, the mechanism a reader is most likely to have stood next to. Every industrial robot ever sold has this shape or a near relative of it, and the reason is in the second half of this essay.
There is nothing to solve
Give a four-bar a crank angle and finding the rest of it is a Newton–Raphson iteration on two equations that may have no real solution at all. Give this arm six joint values and its tool’s pose is
where each is the screw of joint i in the arm’s home configuration — an axis direction and a point on that axis, six numbers written once — and is where the tool sits when every joint reads zero. Six matrix multiplications. No iteration, no tolerance, no failure.
That is not a claim to make lightly on a site whose habit is to measure things, so it is measured: four hundred joint settings, sampled out to twelve radians — nearly two full turns per joint, well past anything a machine would allow — and every one produces a pose whose rotation part is orthonormal to . Not one is refused, because there is nothing to refuse with.
The contrast is worth stating as an arithmetic rather than as an atmosphere. A four-bar’s crank sweep reaches every position for a Grashof linkage and stops partway for a non-Grashof one, and the sweep is how that gets discovered. An open chain’s joint space is its configuration space, entire, with no conditions on it.
The count nobody argues with
Mobility comes out equally undramatically. Kutzbach’s criterion counts for a spatial mechanism of links and revolute joints. An open chain of six joints has seven links — six moving ones and the ground — so the count is . Six joints, six degrees of freedom.
It is right. It is right for every open chain, at every posture, with no exceptions, and there is no geometry that can make it wrong. That is the first time this site has been able to say that about a mobility count.
Mobility, in other words, stops being the question. What replaces it is the question a loop never had to ask, because a loop’s input was given: which of the arm’s configurations puts the tool where it is wanted.
Where the difficulty went
Reverse the two problems and the whole subject changes shape.
For a four-bar, given the lengths and the crank angle, find the coupler is hard — it is the closure solve — and given the coupler’s position, find the crank is usually a division. For the arm the first is a multiplication and the second is where everything lives.
For the six-joint arm the answer is eight, and the eight are not a numerical accident: two ways for the base joint to face the target, two for the elbow, two for the wrist. That count and the closed form behind it are the next essay but three; what matters here is that the plurality has moved. On a four-bar the forward problem had two branches and the site spent six phases treating them as the subject. On an arm the forward problem has one answer and the inverse problem has eight.
There is a fair objection to make at this point, and it is worth making before the essay makes it: is the inverse problem hard, or merely multiply-answered? Both, and the second is the reason for the first. A single answer can be searched for; eight answers arranged in three binary choices need a construction that knows which is which, and every real machine can use only some of them because of where its cables run.
The exchange goes further than the count. On a loop the forward solve is where a mechanism can refuse — a crank angle outside the working arc has no assembly, and the sweep that discovers this is one of the site’s oldest measurements. On an arm nothing refuses in the forward direction and everything refuses in the inverse one: a pose outside the workspace has no joint values, a pose inside it may have joint values the machine’s limits forbid, and a pose on the boundary has several answers that have collapsed into one. Three different kinds of refusal, all of them on the side of the problem a loop found easy.
There is a smaller exchange underneath it that is easy to miss. A loop is driven: one joint is chosen as the input and the rest follow, and which joint that is was a decision somebody made about the machine. An open chain has no such distinction. Every joint is an input, all six at once, and the tool’s motion is their sum. That is why an arm has a Jacobian in the plain sense — a linear map from all the inputs to the output — where a loop has a velocity ratio, a single number relating one input to one output, which the site has spent four essays pointing out is not a number at all.
What the site’s premise becomes
The rule this site is built on — every mechanism is solved before it is drawn — was never really about solving. It was about there being no way to place a mechanism by hand. So the rule survives here with its terms exchanged, and the exchange is worth writing down because it decides what the figures in this field are allowed to do.
- An arm drawn at joint values is drawn from a product of exponentials. Nothing can go wrong and nothing needs to be checked, beyond the check that the product is still a rigid transform.
- An arm drawn at a task — reaching a point, holding a tool square to a surface, following a line — is placed by an inverse solve, and the solve’s answer is run forward again before anything is drawn. An arm asked for a pose it cannot reach stops the build.
The second is the one that carries the weight, and it is the same weight the closure equation carried elsewhere. What it will not do is refuse a bad posture. An arm can be drawn folded into itself, or with its wrist at a configuration no machine could hold, and the geometry has no opinion. That boundary is real and it is where joint limits come in, several rungs up.
Why the screws, and not four numbers a joint
The classical way to write an arm down is a Denavit–Hartenberg table: four numbers per joint, derived from the common perpendicular between consecutive axes. It is in every textbook and it is what an arm on a factory floor is described by in its own controller.
This site uses the screws instead, and the choice is not a preference. Two consequences make it, and the second is the subject of the next essay:
- The screws are the lines in the picture. The dashed axes in the figures here are the parameters, so a figure and a computation cannot disagree about where a joint is. A DH table’s numbers are relations between frames that were attached by a convention, and the frames are not in the picture.
- The screws are continuous in the arm and the table is not. Two parallel axes have infinitely many common perpendiculars, so their DH parameters are undefined; tilt one axis by a millionth of a radian and the parameters jump by order one. Most arms ever built have parallel axes somewhere.
What a Jacobian is, when there is no loop to differentiate
Every velocity claim in this field comes from one matrix, and the matrix has a description here that it does not have elsewhere on the site. Column i of an open chain’s Jacobian is joint i’s home screw, carried by the product of the joints before it. That is a line in space with a pitch on it — for a revolute joint, the axis drawn in the figure.
So the tool’s twist is a sum: each joint’s rate times its own axis-as-a-line. Nothing is being differentiated symbolically and no closure equation is being linearised. The columns are geometry.
That has an immediate payoff, which the singularity essays are built on: a rank deficiency in this matrix is visible. Three lines meeting at a point, or two lines coinciding, is a picture rather than a determinant, and where the arm loses a direction is drawn that way.
It also has a check, and the check found a bug in machinery six phases old. The Jacobian is computed a second way — perturb a joint, take the tool pose before and after, and read the twist between them off the logarithm of the relative transform — and the two agree to over twelve configurations of four different arms. They did not, at first. They disagreed by , which is far too large for a central difference, and the cause was not in this field at all: logSE3, which every spatial loop on this site has used since the expansion phase, computes a coefficient as . That expression is a cancellation inside a cancellation. Its value at small angles is 1/12; at it returns , and below it returns NaN. The guard against it fired only below — past the underflow, and four orders of magnitude past the point where the answer had stopped being right.
Nothing on the site had ever asked for the logarithm of a rotation that small and nonzero. A loop’s Newton residual crosses that range in a single step on its way to , so the window was stepped over rather than landed in, and six phases of figures are unaffected. A finite difference lands in it every time, because a difference step is a rotation of a few microradians. The repair is a series where the closed form has stopped being computable, and it is in lib/spatial.js where the function is, not here where it was found.
The arm a reader has met
It is worth saying plainly what this shape is for, because the six joints are not arbitrary and the reason is entirely kinematic.
Six is the number of coordinates a rigid body has in space. An arm with fewer cannot reach every pose in its workspace; an arm with more can reach some poses in infinitely many ways, which is a feature with a cost and gets an essay of its own. Six is the number at which the inverse problem has finitely many solutions and the machine can be told to go anywhere.
The arrangement — three joints for position, three intersecting joints for orientation — is not required by anything. It is chosen because it makes the inverse problem solvable in closed form, which for a machine running a control loop at a kilohertz is the difference between a product and a research topic. That is a design decision made for the sake of an equation, which is the kind of thing this site collects.
What is not in this field
The boundary is the one this site has kept for six phases and it does not move here.
No force. The ellipsoid in these essays is a velocity ellipsoid — which directions the tool can be moved quickly in, for bounded joint rates. Its dual is a force ellipsoid and would need a statics this site does not do. A payload is not here, a motor torque is not here, and an arm’s stiffness is not here.
No control. A trajectory is a path through the configuration space and this field computes several kinds. How a servo follows one, what it does when it cannot, and what happens to the error while it tries, are all somebody else’s subject.
No planner. The configuration space of a mechanism is this site’s — an assembly branch has been a connected component of one since the foundation, six phases before anything here said so — and the essay that says so computes those components. Searching such a space for a route is not taken, and the boundary is drawn where it is because knowing that two configurations lie in different components is a kinematic fact, and getting from one to the other when they do not is an algorithm.
A formulation that cannot fail cannot report a failure
The product evaluates, always, with nothing to converge and nothing to refuse — and that is offered above as the arm’s advantage. It is also a loss, and naming it says why an arm’s software carries checks a linkage’s does not.
A loop mechanism’s solve refuses. Hand it a crank angle outside the range the lengths permit and Newton does not converge, and the non-convergence is a report: this configuration does not exist. That refusal is free, it is exact, and it arrives without anybody having written a reachability test — the closure equation does it, because a configuration that cannot close cannot be found.
An arm’s product has no such property. Feed it any six joint values whatever and it returns a pose, correctly, because the pose exists for every set of joint values. There is nothing the formulation can decline. So every question of the form can the arm do this has to be answered by a separate instrument that somebody wrote on purpose.
Three of them, and each corresponds to something a loop got for nothing. Joint limits have to be checked explicitly, because the product happily evaluates a shoulder at four radians on an arm that stops at two. Reachability has to be checked by running the inverse problem and seeing whether it returns anything, because the forward problem cannot be asked. And self-collision has to be checked geometrically, because a chain that passes through itself is a perfectly good product of transforms.
That is why the boundary of an arm’s workspace is a computed surface and a four-bar’s is a pair of crank angles the solve finds by failing. The information is the same and the effort is not: one is a by-product of the formulation and the other is a piece of machinery with its own bugs.
Which is the general lesson and it is worth carrying past arms. A formulation that cannot fail cannot report a failure, so every guarantee the failing formulation gave for free has to be re-created deliberately, and each re-creation is somewhere for a defect to live that the original had no room for. The arm’s easy forward problem and the linkage’s hard one are not a straightforward exchange: the arm’s ease is bought with a set of checks that a loop never needed.
The shape of the field
What follows from here runs in the order the difficulty does.
Two essays on how an arm is written down and where it can reach, which are the two questions that have answers before anything moves. Then the inverse problem: its solution count, the wrist that makes the count computable, and the Jacobian that both problems run through. Then what goes wrong — the three singularities, the paths that cannot be followed near them, and the fact that there is no natural way to measure the distance between two poses at all. Then one freedom too many, and one description too many, and last the space all of it has been happening in.
Every one of them is a statement about a mechanism with no loop in it, and nearly every one of them ends by meeting something the loops already knew. The pinned arm is a Kutzbach paradox. The redundancy circle is a mobility-one mechanism. The assembly branch is a connected component. The site did not plan that; it is what happens when the same discipline is pointed at the other half of a subject.
What this makes readable
Essays that name this one as a prerequisite.
- An arm is a tree One path to the tool
- Eight ways to hold the same tool One path to the tool
- Four numbers or a screw One path to the tool
- One strand over many joints Members that pull
- Two routes to a Jacobian One path to the tool
- Where the hand can go One path to the tool
About the same objects
Not linked from either essay — found by the objects both name.
- In space there is one chain kutzbach's criterion · loop closure · mobility · screw
- Six legs and a square root forward kinematics · inverse kinematics · jacobian · screw
- Two routes to a Jacobian jacobian · open chain · screw · serial manipulator
- A clearance is a link degrees of freedom · jacobian · mobility
- A roller is not a slider degrees of freedom · mobility · prismatic
- Bennett, and the condition that moves it loop closure · mobility · screw
What links here
The 8 of 9 essays linking to this one that name the most of the same objects.
- A straight line at constant speed One path to the tool
- An arm is a tree One path to the tool
- The space of configurations One path to the tool
- The arm that hits itself One path to the tool
- The mechanism that waits Motion that stops
- A demand that is an equation The curve as an equation
- A member with no length of its own Members that pull
- One strand over many joints Members that pull
The objects this essay names
Each one links to every other essay that touches it.
Degrees of freedomForward kinematicsInverse kinematicsJacobianKutzbach's criterionLoop closureMobilityOpen chainPrismaticProduct of exponentialsScrewSerial manipulator