Singularity analysis
-
Singularity analysis
- Prerequisites
- General Motivation
-
Course Content
-
Preliminaries
- Notations (used throughout the chapter)
- Vector spaces (why we start here)
- Forces, moments, and couples (rigid-body viewpoint)
- Linear and angular velocity (instantaneous rigid-body motion)
- Twists and wrenches (the 6D objects we actually use)
- Chasles’ theorem (why “screws” appear in the first place)
- Screws: axis, pitch, and “same line, different amplitude”
- Plücker coordinates (a clean way to encode a line)
- Mini-assignment 1 — build intuition with your own numbers (no robot yet)
-
General concepts
- Configuration versus instantaneous motion
- Quiz — configuration versus instantaneous motion
- Twist space and wrench space
- Reciprocity and virtual work (a preview you will use constantly)
- Jacobian rank is a geometric event
- Serial chains
- Parallel mechanisms and constraints
- Quiz — meaning of a rank drop
- Degrees of freedom from subspaces (the roadmap)
- Mini-assignment GC — think in subspaces
- Singularities in a serial robot: building the Jacobian one joint at a time
- Mini-assignment 3 — “spot the redundancy”
- References and Further Reading (Intro Level)
-
Preliminaries
- Credits
- Resources
Prerequisites
This chapter assumes you are comfortable with:
-
Vectors and matrices
- 3D vectors, dot product, cross product
- linear combinations, rank, null space (conceptually)
-
Rigid-body kinematics
- rotation matrices (or any equivalent representation)
- the idea that a rigid body has 6 instantaneous degrees of freedom in 3D
-
Basic mechanics vocabulary
- force, moment (torque), and power (even informally is fine)
General Motivation
Singularities are not just “when a Jacobian determinant becomes zero.”
They are geometric events: certain instantaneous motions become impossible, or certain constraint forces stop being able to oppose motion. In screw theory, these statements become clean linear-algebra facts about subspaces of twists (allowable motions) and subspaces of wrenches (allowable constraints).
This chapter builds that viewpoint step by step: vector spaces → forces and moments → twists and wrenches → Chasles’ theorem → screws (axis and pitch) → Plücker coordinates. Short quizzes after each milestone check understanding and catch common confusions early, while the assignments turn the ideas into concrete calculations and geometric intuition, preparing you to understand degrees of freedom and interpret singularities, especially in parallel robots.
Big picture. Our goal is to use screw theory to answer questions like:
- What motions can a mechanism produce at a given configuration?
- What forces/constraints can it transmit?
- When do these “capabilities” change suddenly (singularity)?
In a serial robot, we typically build a Jacobian column-by-column from joint screws.
In a parallel robot, we often reason from constraint screws (reciprocal to allowable motion screws) using virtual work.
We will proceed slowly and carefully. If you understand the preliminaries in this chapter, the later singularity analysis becomes far less mysterious.
Course Content
Preliminaries
Notations (used throughout the chapter)
- A point in space is denoted by a capital letter: $O, P, Q$.
- A vector is bold: $ \mathbf{r}, \mathbf{f}, \boldsymbol{\omega} $.
- The vector from $O$ to $P$ is $$ \mathbf{r}_{OP} := \mathbf{p} - \mathbf{o}. $$
- The cross product $\mathbf{a}\times \mathbf{b}$ is a vector orthogonal to both $\mathbf{a}$ and $\mathbf{b}$.
- A frame $Oxyz$ means origin $O$ with orthonormal axes $\hat{\mathbf{x}},\hat{\mathbf{y}},\hat{\mathbf{z}}$.
Dimensional sanity check.
Forces have units (N), moments have units (N·m), angular velocity is (rad/s), linear velocity is (m/s).
Screw theory mixes these in 6-vectors — so we must be explicit about what each block means.
Vector spaces (why we start here)
A (real) vector space $V$ is a set of objects called “vectors” where you can:
- add any two vectors in $V$, producing another vector in $V$
- multiply any vector in $V$ by any real number, producing another vector in $V$
and the usual rules (associativity, distributivity, etc.) hold.
Definition (span).
Given vectors $v_1,\dots,v_n \in V$, their span is $$ \operatorname{Span}\lbrace v_1,\dots,v_n\rbrace = \left\lbrace \sum_{i=1}^n \alpha_i v_i \ \middle|\ \alpha_i\in\mathbb{R} \right\rbrace $$ It is the smallest subspace that contains all $v_i$.
Why we care in kinematics.
“Possible instantaneous motions” form a subspace (a twist subspace).
“Possible constraint actions” form a subspace (a wrench subspace).
Singularity analysis becomes: how do these subspaces change with configuration?
Quick quiz — closure intuition
Question 1: “All forces applied to a rigid body form a vector space under vector addition.”
Forces, moments, and couples (rigid-body viewpoint)
Force
A force is a 3D vector $\mathbf{f}\in\mathbb{R}^3$. Physically, a force has:
- magnitude (how strong)
- direction
- line of action (where it acts)
When we say “a force applied at point $P$”, we mean:
- the vector $\mathbf{f}$, and
- the point $P$ (or equivalently the line of action)
Moment of a force about a point
Let $O$ be a reference point. The moment (torque) of $\mathbf{f}$ applied at point $P$ about $O$ is $$ \mathbf{m}_O := \mathbf{r}_P \times \mathbf{f} $$ This is a 3D vector with units (N·m).
Example (door handle intuition).
A small force $\mathbf{f}$ applied far from the hinge produces a larger $\mathbf{m}_O$ because $\mathbf{r}_P$ is larger.
That is exactly what $\mathbf{m}_O=\mathbf{r}_P\times\mathbf{f}$ encodes.
Changing the reference point
If you change the reference point from $O$ to another point $Q$, the moment changes as $$ \mathbf{m}_Q = \mathbf{m}_O - \mathbf{r}_Q \times \mathbf{f}. $$ So $\mathbf{m}_O$ is not “absolute”: it depends on the chosen reference point.
Couple (pure moment)
A couple is a free moment: a moment that does not depend on the choice of reference point. You can realize a couple by two equal and opposite forces separated by a distance (net force = 0, net moment ≠ 0).
Definition (couple).
A couple is a force system whose resultant force is zero but whose resultant moment is nonzero. It can be represented by a single vector $\mathbf{c}\in\mathbb{R}^3$ (units N·m) that is the same about any point.
Quick quiz — couple vs moment
Question 2: Which statement best describes a couple?
Linear and angular velocity (instantaneous rigid-body motion)
Consider a rigid body moving in 3D. Pick a reference point $O$ fixed in the body.
- The angular velocity is a vector $\boldsymbol{\omega}\in\mathbb{R}^3$. Its direction is the instantaneous axis of rotation (right-hand rule), and its magnitude is the rotation rate.
- The linear velocity of point $O$ is $\mathbf{v}_O\in\mathbb{R}^3$.
A fundamental rigid-body kinematics fact is:
Rigid-body velocity field.
For any point $P$ on the rigid body, $$ \mathbf{v}_P = \mathbf{v}_O + \boldsymbol{\omega}\times \mathbf{r}_P. $$
This formula is the reason rigid-body instantaneous motion is “6-dimensional”: $\boldsymbol{\omega}$ contributes 3 parameters, $\mathbf{v}_O$ contributes 3 parameters.
Twists and wrenches (the 6D objects we actually use)
Now we package the 3D quantities into 6D objects.
Twist (instantaneous motion)
A twist is a pair $$ \boldsymbol{\xi} := \begin{bmatrix} \boldsymbol{\omega}, \mathbf{v}_O \end{bmatrix}^T \in \mathbb{R}^6, $$
where:
- $\boldsymbol{\omega}$ = angular velocity of the rigid body
- $\mathbf{v}_O$ = linear velocity of the reference point $O$
Different choices of $O$ change $\mathbf{v}_O$, but the physical motion is the same. Later we will exploit this in “screw axis” representations.
Wrench (force system)
A wrench is a pair $$ \mathbf{w} := \begin{bmatrix} \mathbf{f}, \mathbf{m}_O \end{bmatrix}^T \in \mathbb{R}^6, $$ where:
- $\mathbf{f}$ = resultant force
- $\mathbf{m}_O$ = resultant moment about the reference point $O$
Again, $\mathbf{m}_O$ depends on $O$, but the underlying force system is the same.
Why wrenches fix the “closure problem.”
If you add two forces acting at different points on a rigid body, you cannot describe the result by a single 3D force vector unless you also carry the induced moment.
A wrench carries both $\mathbf{f}$ and $\mathbf{m}_O$, so “addition” stays inside the same 6D space.
Power (the pairing between wrench and twist)
When a wrench $\mathbf{w}=(\mathbf{f},\mathbf{m}_O)$ acts on a body moving with twist $\boldsymbol{\xi}=(\boldsymbol{\omega},\mathbf{v}_O)$, the instantaneous power is $$ \mathcal{P} = \mathbf{f}\cdot \mathbf{v}_O + \mathbf{m}_O\cdot \boldsymbol{\omega}. $$
This single scalar is the key bridge to virtual work and reciprocity later.
Quick quiz — power pairing
Question 3: The expression $\mathbf{f}\cdot \mathbf{v}_O + \mathbf{m}_O\cdot \boldsymbol{\omega}$ represents the instantaneous power of a wrench acting on a twist (for a consistent choice of reference point $O$).
Preview (duality language).
We will later say: wrenches are dual to twists because a wrench maps a twist to a real number (power) by this pairing.
Chasles’ theorem (why “screws” appear in the first place)
Chasles’ theorem (19th century) states that any rigid-body displacement in 3D can be described as:
- a rotation about some axis, and
- a translation along that same axis.
This combined motion is called a screw motion.
Screws: axis, pitch, and “same line, different amplitude”
A geometric screw is defined by:
- a directed line (the screw axis) in 3D
- a pitch $h$ (a real number)
Pitch $h$ measures “translation per rotation” along the axis:
- $h=0$: pure rotation about the axis
- $h\to\infty$: pure translation along the axis (informally: rotation rate goes to zero)
- finite nonzero $h$: helical motion (like a screw thread)
Pitch from a twist
If $\boldsymbol{\omega}\neq \mathbf{0}$, one common definition of pitch is: $$ h = \frac{\boldsymbol{\omega}\cdot \mathbf{v}_O}{\boldsymbol{\omega}\cdot \boldsymbol{\omega}}, $$ when $(\boldsymbol{\omega},\mathbf{v}_O)$ is written about a point $O$ on (or consistently related to) the screw axis.
Interpretation: the component of $\mathbf{v}_O$ parallel to $\boldsymbol{\omega}$ encodes translation along the axis, and dividing by $|\boldsymbol{\omega}|^2$ normalizes by rotation rate.
Pitch from a wrench
If $\mathbf{f}\neq \mathbf{0}$, similarly: $$ h = \frac{\mathbf{f}\cdot \mathbf{m}_O}{\mathbf{f}\cdot \mathbf{f}}, $$ for a wrench written in a consistent screw-axis form.
Projective idea (important later).
Scaling a twist by $2$ doubles the speed, but it represents the same screw axis and pitch.
That is why we separate:
- the geometric screw (axis + pitch) from
- the twist/wrench vector (axis + pitch + amplitude).
Quick quiz — pitch meaning
Question 4: What does the pitch $h$ of a screw primarily quantify?
Plücker coordinates (a clean way to encode a line)
A directed line $\ell$ in 3D can be represented by Plücker coordinates: $$ (\mathbf{s},\ \mathbf{m}), $$ where:
- $\mathbf{s}\in\mathbb{R}^3$ is a direction vector along the line (often unit-length),
- $\mathbf{m}\in\mathbb{R}^3$ is the moment of the line about the origin: $$ \mathbf{m} := \mathbf{p}\times \mathbf{s}, $$ and $\mathbf{p}$ is the position vector of any point on the line.
Key property (Plücker constraint). $$ \mathbf{s}\cdot \mathbf{m} = 0. $$ (Geometrically: $\mathbf{m}$ is perpendicular to $\mathbf{s}$ because it is a cross product with $\mathbf{s}$.)
Example (build a line from two points).
Let the line pass through points $A$ and $B$, and define $\mathbf{s} := \mathbf{r}_{AB}$ (or its unit version).
Pick $\mathbf{p} := \mathbf{r}_A$. Then $\mathbf{m}=\mathbf{p}\times\mathbf{s}$.
If you pick $\mathbf{p}:=\mathbf{r}_B$ instead, you get the same $\mathbf{m}$ (because $\mathbf{r}_B=\mathbf{r}_A+\lambda\mathbf{s}$, and $(\lambda\mathbf{s})\times\mathbf{s}=\mathbf{0}$).
Plücker form of a twist (preview)
A twist associated with a screw axis $(\mathbf{s},\mathbf{m})$ and pitch $h$ can be written (in one common convention) as: $$ \boldsymbol{\xi} = \begin{bmatrix} \boldsymbol{\omega}, \mathbf{v}_O \end{bmatrix}^T = \begin{bmatrix} \dot{\theta}\,\mathbf{s}, \dot{\theta}\,(\mathbf{m} + h\,\mathbf{s}) \end{bmatrix}^T, $$ when $\mathbf{s}$ is unit and $\dot{\theta}$ is the rotational rate about the axis.
- If $h=0$: $\mathbf{v}_O = \dot{\theta}\,\mathbf{m}$ corresponds to pure rotation about the axis.
- If $\dot{\theta}=0$ but translation exists: you get a pure translation twist (handled as a limiting case).
Don’t worry if this feels abstract: we will make it concrete with robot joints soon.
Quick quiz — Plücker constraint
Question 5: For Plücker coordinates $(\mathbf{s},\mathbf{m})$ of a directed line, which condition must hold?
Mini-assignment 1 — build intuition with your own numbers (no robot yet)
1) Moment shift practice.
Choose $\mathbf{f}=\begin{bmatrix}2, -1, 3\end{bmatrix}^T$ N applied at point $P$ with $\mathbf{r}_P=\begin{bmatrix}0.2, 0.0, 0.1\end{bmatrix}^T$ m.
Compute $\mathbf{m}_O=\mathbf{r}_P\times\mathbf{f}$.
Now let $Q$ be such that $\mathbf{r}_Q=\begin{bmatrix}0.0, 0.3, 0.0\end{bmatrix}^T$ m. Compute $\mathbf{m}_Q$ using
$\mathbf{m}_Q=\mathbf{m}_O-\mathbf{r}_Q\times\mathbf{f}$.
Explain in one sentence why $\mathbf{m}_Q\neq \mathbf{m}_O$ does not contradict “same force”.
2) Plücker line practice.
Let a line pass through $A=(0.1,0,0)$ m and $B=(0.1,0.2,0.3)$ m.
Compute $\mathbf{s}=\mathbf{r}_{AB}$ and $\mathbf{m}=\mathbf{r}_A\times\mathbf{s}$.
Verify $\mathbf{s}\cdot\mathbf{m}=0$.
3) Explain in words.
Why is it helpful that a line can be encoded by two 3-vectors $(\mathbf{s},\mathbf{m})$ instead of “a point + a direction”?
Up next:
We will connect these preliminaries to joint screws and show how a serial chain builds a twist subspace by “cascading” joint twists to derive the geometric Jacobian.
General concepts
The preliminaries introduced the objects of screw theory—vectors, forces and moments, twists and wrenches, screws and Plücker coordinates. We now introduce the viewpoint we will use for singularity analysis:
- what a mechanism can do instantaneously is captured by a subspace of twists (allowable motions),
- what a mechanism can transmit or resist is captured by a subspace of wrenches (allowable actions),
- singularities are configurations where these subspaces (and their relationship) become degenerate in a way that changes motion/constraint capability.
Configuration versus instantaneous motion
A mechanism has a configuration described by joint variables $$ q \in \mathbb{R}^n, \qquad \dot{q} \in \mathbb{R}^n. $$
At each configuration, the end-effector (or platform) has an instantaneous motion described by a twist $$ \mathbf{V} \in \mathbb{R}^6. $$
For many systems, velocity kinematics is a linear relation between joint rates and twist.
Serial velocity map.
For a serial chain, joint rates produce an end-effector twist: $$ \mathbf{V} = J(q)\,\dot{q}, $$ where the geometric Jacobian $J(q)$ is typically a $6 \times n$ matrix.
Parallel mechanisms add constraints. One convenient form is to write constraint equations directly on the platform twist.
Constraint velocity form (one common model).
For constrained motion, allowable platform twists satisfy $$ A(q)\,\mathbf{V} = \mathbf{0}, $$ where rows of $A(q)$ represent instantaneous constraints.
Singularity analysis is inherently configuration-dependent because both $J(q)$ and $A(q)$ change with $q$.
Quiz — configuration versus instantaneous motion
Question GC-1: Which object represents the instantaneous motion of a rigid body?
Twist space and wrench space
At a fixed configuration $q$, a mechanism does not produce “any” motion or “any” wrench; it produces only those compatible with its joints and constraints.
Twist space.
The twist space $\mathcal{S}_t(q)\subset \mathbb{R}^6$ is the set of all platform/end-effector twists that are instantaneously realizable at configuration $q$.
Wrench space.
The wrench space $\mathcal{S}_w(q)\subset \mathbb{R}^6$ is the set of wrenches that the mechanism can transmit or enforce at configuration $q$ (through actuation and/or constraints).
A crucial idea is that dimension equals capability.
Dimension = local capability.
- $\dim(\mathcal{S}_t(q))$ counts independent instantaneous motion directions (local DOF).
- $\dim(\mathcal{S}_w(q))$ counts independent action/constraint directions available at that configuration.
Reciprocity and virtual work (a preview you will use constantly)
When a wrench acts on a twist, it produces instantaneous power. If a rigid body has twist $\mathbf{V} = (\boldsymbol{\omega}, \mathbf{v})$ and is subject to wrench $\mathbf{W} = (\mathbf{f}, \mathbf{m})$, the instantaneous power is $$ \mathcal{P} = \mathbf{f}\cdot \mathbf{v} + \mathbf{m}\cdot \boldsymbol{\omega}. $$
Reciprocity (virtual work condition).
A wrench $\mathbf{W}$ is reciprocal to a twist $\mathbf{V}$ if it does no instantaneous power on that motion: $$ \mathcal{P} = 0. $$
This single condition will later let us construct constraint wrenches for parallel robots and connect them to allowable motions without “guessing” from geometry.
Jacobian rank is a geometric event
A Jacobian is a linear map between vector spaces.
Serial chains
For a serial chain, $$ \mathbf{V} = J(q)\,\dot{q}. $$ The set of all achievable twists is the column space of $J(q)$, hence $$ \mathcal{S}_t(q) = \operatorname{Col}(J(q)), \qquad \dim(\mathcal{S}_t(q)) = \operatorname{rank}(J(q)). $$ A singularity is typically marked by a rank drop of $J(q)$, meaning the twist space loses dimension: at least one instantaneous motion direction becomes unavailable.
Parallel mechanisms and constraints
For constrained motion written as $$ A(q)\,\mathbf{V} = \mathbf{0}, $$ the allowable twist space is the null space: $$ \mathcal{S}_t(q) = \operatorname{Null}(A(q)). $$ If the constraint rows become linearly dependent, constraints lose effectiveness and the platform may gain unexpected instantaneous motion (the geometric intuition behind “uncertainty” configurations).
Quiz — meaning of a rank drop
Question GC-2: For a serial robot, if the rank of $J(q)$ drops at a configuration, what is the most direct geometric meaning?
Degrees of freedom from subspaces (the roadmap)
Rather than memorizing mobility formulas, we will repeatedly use a single habit:
- identify a set of candidate twists (from joint screws or allowable platform motions),
- identify a set of candidate wrenches (from constraints/actuation),
- compute dimensions via span, rank, and reciprocity.
For serial robots, the DOF is read from $\operatorname{rank}(J(q))$.
For parallel robots, the DOF is often read from the dimension of $\operatorname{Null}(A(q))$, or equivalently from how many independent constraint wrenches exist.
Mini-assignment GC — think in subspaces
Consider three revolute joints whose axes (in a fixed base frame) are:
- Joint 1: axis along $ \hat{\mathbf{z}} $ through the origin
- Joint 2: axis also along $ \hat{\mathbf{z}} $ and lying on the same line as Joint 1
- Joint 3: axis along $ \hat{\mathbf{x}} $ through the origin
1) Without computing any determinant, argue how many independent joint screw directions you expect in the attainable twist space.
2) Explain why Joints 1 and 2 do not contribute two independent directions (hint: same screw axis, different amplitude).
3) Describe (in words) a geometric alignment that could reduce the number of independent directions further (a singularity event).
Caution: Jacobians are powerful, but not a silver bullet
Expressions such as $J^{\mathsf{T}}J$ and $JJ^{\mathsf{T}}$ appear often (least squares, damping, manipulability measures). They are useful only when you keep track of:
- which vectors live in joint space versus twist space,
- the dimensions of $J$ (often $6\times n$, not square),
- the physical meaning of the metric you are implicitly introducing.
We will return to this caution after deriving the geometric Jacobian and again in the parallel-robot singularity discussion. The guiding habit is always the same: interpret rank and null spaces as statements about twist and wrench subspaces.
Singularities in a serial robot: building the Jacobian one joint at a time
A serial robot can be understood as a sequence of joints that each contribute an instantaneous motion to the end-effector. The geometric Jacobian appears naturally when we ask a simple question:
If only joint (i) moves (all other joints are frozen), what instantaneous twist does the end-effector experience?
When we answer this question for every joint and stack the results, we obtain the Jacobian.
The “one joint moves” thought experiment
Fix a configuration $q$ (all joint values are fixed). Consider the end-effector frame with origin at a point $E$ attached to the last link. For each joint $i$:
- set $\dot{q}_i \neq 0$,
- set $\dot{q}_j = 0$ for every $j\neq i$.
The end-effector then has some instantaneous twist $$ \mathbf{V}_E^{(i)} \in \mathbb{R}^6, $$ which is the contribution of joint (i) to the end-effector twist.
Because velocity kinematics is linear in joint rates, the full end-effector twist is the sum of all contributions: $$ \mathbf{V}E = \sum{i=1}^n \mathbf{V}_E^{(i)}. $$
Revolute and prismatic joints as screws (end-effector contribution)
To write $\mathbf{V}_E^{(i)}$ explicitly, we describe each joint as a screw axis expressed in a common frame (typically the base frame).
Revolute joint (i)
A revolute joint has:
- an axis direction vector $\mathbf{s}_i$ (unit vector),
- a point $P_i$ on the axis.
Define the moment of the axis about the base origin $O$: $$ \mathbf{m}i = \mathbf{r}{OP_i} \times \mathbf{s}_i. $$
The angular velocity contribution at the end-effector due to joint $i$ is $$ \boldsymbol{\omega}^{(i)} = \dot{q}_i \, \mathbf{s}_i. $$
The linear velocity contribution of the end-effector point $E$ is $$ \mathbf{v}E^{(i)} = \boldsymbol{\omega}^{(i)} \times \mathbf{r}{P_iE} = \dot{q}i \, \mathbf{s}_i \times \mathbf{r}{P_iE}. $$
So the end-effector twist contribution becomes $$ \mathbf{V}E^{(i)} = \begin{bmatrix} \boldsymbol{\omega}^{(i)}
\mathbf{v}_E^{(i)} \end{bmatrix} = \dot{q}_i \begin{bmatrix} \mathbf{s}_i
\mathbf{s}_i \times \mathbf{r}{P_iE} \end{bmatrix}. $$
Prismatic joint (i)
A prismatic joint has:
- a translation direction vector $\mathbf{s}_i$ (unit vector).
Its contribution has zero angular velocity and a linear velocity along the axis: $$ \mathbf{V}_E^{(i)} = \begin{bmatrix} \mathbf{0}
\dot{q}_i\,\mathbf{s}_i \end{bmatrix}. $$
The key pattern is simple:
- revolute joint column: an angular part (\mathbf{s}i) and a linear part (\mathbf{s}_i\times\mathbf{r}{P_iE}),
- prismatic joint column: angular part (\mathbf{0}), linear part (\mathbf{s}_i).
This is exactly the geometric meaning of “joint screws.”
Jacobian formation: stacking the joint contributions
Collect all the joint contributions into a single matrix by placing the twist generated by unit joint rate in each column.
For revolute joints, the (i)-th column is $$ \mathbf{J}i(q) = \begin{bmatrix} \mathbf{s}_i(q)
\mathbf{s}_i(q)\times\mathbf{r}{P_iE}(q) \end{bmatrix}, $$ and for prismatic joints it is $$ \mathbf{J}_i(q) = \begin{bmatrix} \mathbf{0}
\mathbf{s}_i(q) \end{bmatrix}. $$
Stacking these columns gives the geometric Jacobian $$ J(q) = \begin{bmatrix} \mathbf{J}_1(q) & \mathbf{J}_2(q) & \cdots & \mathbf{J}_n(q)\end{bmatrix}. $$
Then the end-effector twist is simply $$ \mathbf{V}_E = J(q)\,\dot{q}. $$
Why this is “natural.”
Each column answers the same physical question: what twist appears at the end-effector if only joint (i) moves with unit rate?
The Jacobian is just these answers written side-by-side.
Serial singularities: loss of attainable twist directions
The set of all twists the end-effector can generate at configuration $q$ is the column space of $J(q)$: $$ \mathcal{S}_t(q) = \operatorname{Col}(J(q)). $$
Its dimension is $$ \dim(\mathcal{S}_t(q)) = \operatorname{rank}(J(q)). $$
A serial singularity occurs at configurations where the rank drops: $$ \operatorname{rank}(J(q)) \text{ decreases.} $$
Geometrically, this means at least one instantaneous motion direction that was possible nearby becomes impossible at that configuration. Equivalently, the columns of $J(q)$ become linearly dependent.
What “dependence of columns” means physically
If two joint columns become aligned in the 6D sense, their effects at the end-effector become redundant. Typical geometric causes include:
- two revolute axes becoming parallel (and positioned so their end-effector velocity contributions align),
- three axes becoming coplanar or intersecting in special ways,
- wrist alignment events (common in 6R wrists), where two rotation axes line up and one rotational direction is lost.
The important point is not the specific “named singularity,” but the mechanism behind it: a singularity is a configuration where the joint screws fail to span the same set of twists as they do in a generic configuration.
Quiz — how the Jacobian is formed
Question 3.1: What does the \(i\)-th column of the geometric Jacobian represent?
Mini-assignment 3 — “spot the redundancy”
Consider a 3-joint serial mechanism with three revolute joints. Suppose that at a particular configuration:
- Joint 1 axis direction is (\mathbf{s}_1 = \hat{\mathbf{z}}),
- Joint 2 axis direction is (\mathbf{s}_2 = \hat{\mathbf{z}}) (parallel to joint 1),
- Joint 3 axis direction is (\mathbf{s}_3 = \hat{\mathbf{x}}).
1) Explain why (\mathbf{s}_1) and (\mathbf{s}_2) being parallel is a warning sign for a rank drop.
2) Give a geometric condition involving the end-effector point (E) (relative to the two axes) that could make the full 6D columns truly dependent.
3) In one sentence, state what motion you expect to be “hard” or “impossible” at the singular configuration.
Goal: practice translating “column dependence” into geometry.
References and Further Reading (Intro Level)
- D. S. Zlatanov, Generalized Singularity Analysis of Mechanisms, Ph.D. dissertation, University of Toronto, 1998
- M. Conconi and M. Carricato, “A New Assessment of Singularities of Parallel Kinematic Chains,” IEEE Transactions on Robotics, vol. 25, no. 4, pp. 757–770, 2009, doi: 10.1109/TRO.2009.2020353.
- J. Selig, Geometric Fundamentals of Robotics
- R. Murray, Z. Li, S. Sastry, A Mathematical Introduction to Robotic Manipulation, CRC.
Credits
This course page was created by Durgesh Haribhau Salunkhe, EPFL, and funded by IEEE RAS and EPFL.
Resources
$$ . $$