When designing a parallel robot, knowing where it can reach and where it will fail is everything. The workspace defines the set of all reachable poses, while the singularity locus marks the dangerous boundaries where the robot loses controllability. This tutorial shows you how to compute, visualize, and design around them.
What You Will Learn
How to compute the workspace of a Stewart platform, what the singularity locus (loci) looks like in 3D, how it changes when you modify platform geometry, and how to design mechanisms that avoid singularities entirely within the working region.
1. What is the Workspace?
The workspace of a parallel robot is the set of all poses (positions and orientations) that the moving platform can reach. Unlike serial robots where the workspace is a single connected region, parallel robots have complex, bounded workspaces shaped by actuator stroke limits, joint angle limits, and interference constraints.
Types of Workspace
| Type | Definition | Use |
|---|---|---|
| Constant-orientation | All positions reachable at a fixed orientation | Machining, pick-and-place |
| Orientation workspace | All orientations reachable at a fixed position | Camera pointing, antennas |
| Total (6D) | All reachable (position + orientation) pairs | Full capability assessment |
| Dexterous | Positions reachable with all orientations | High-performance tasks |
Constant-Orientation Workspace
For a given orientation $(\phi, \theta, \psi)$, the constant-orientation workspace is the set of all positions $\mathbf{p} = [x, y, z]^T$ such that all actuator lengths remain within their stroke limits:
Think of it as: fix the platform’s tilt and rotation, then trace all the points in space where the center of the platform can go. The result is typically a 3D volume that looks like a rounded, irregular polyhedron.
2. The Singularity Locus (Loci)
Now here’s the critical part. Inside (or at the boundary of) the workspace, there exist dangerous configurations where the Jacobian matrix loses rank. The set of all such configurations forms the singularity locus.
What Exactly is a Locus?
A locus (plural: loci) is a geometric term for the set of all points satisfying a given condition. In our case, the condition is:
It’s the surface (or curve) inside the workspace where the determinant of the Jacobian equals zero. At these points, the robot either gains uncontrolled motions or requires infinite actuator forces.
Why “Loci” and Not Just “Points”?
Singularities don’t occur at isolated points—they form continuous surfaces in the workspace. For a Stewart platform at a fixed orientation, the singularity locus is typically a surface in 3D space (a 2D manifold embedded in $\mathbb{R}^3$). This surface can divide the workspace into singularity-free regions.
Figure 1. The singularity locus divides the workspace into regions. A singularity-free design keeps the working volume entirely within one safe region.
The Design Goal
Design the robot’s geometry so that the singularity locus lies entirely outside the required workspace—or at least, ensure the working region stays within a single connected component where $\det(\mathbf{J})$ does not change sign.
3. Computing the Workspace & Loci
3.1 Stewart Platform Geometry Recap
Recall the Stewart platform has base joints $A_i$ on a circle of radius $R_b$ and platform joints $B_i$ on a circle of radius $R_p$. The leg vector and actuator length for leg $i$ are:
3.2 Workspace Boundary (Geometric Method)
Each actuator constrains the platform center to lie inside a spherical shell:
The workspace is the intersection of 6 spherical shells. For a fixed orientation, each shell is centered at $A_i - \mathbf{R}\,b_i$ with inner radius $\rho_{i,\min}$ and outer radius $\rho_{i,\max}$. The workspace boundary is where at least one actuator reaches its limit.
Discretize the search space
Create a 3D grid of candidate positions $\mathbf{p} = [x, y, z]^T$ at the desired fixed orientation $(\phi, \theta, \psi)$.
Check actuator limits at each point
For each candidate $\mathbf{p}$, compute all 6 leg lengths $\rho_i$. If all lie within $[\rho_{\min}, \rho_{\max}]$, the point is inside the workspace.
Evaluate the Jacobian determinant
At each reachable point, compute $\det(\mathbf{J})$. Points where $|\det(\mathbf{J})|$ is below a threshold $\epsilon$ lie on the singularity locus.
Extract the locus surface
Use the sign-change of $\det(\mathbf{J})$ to trace the singularity surface. This is similar to the marching cubes algorithm for isosurface extraction.
3.3 The Singularity Condition
For the Stewart platform, the Jacobian is the $6 \times 6$ matrix whose rows are the Plücker coordinates of each leg line. The singularity locus satisfies:
where $r_i = \mathbf{R}\,b_i$ is the vector from the platform center to joint $B_i$. Geometrically, this means the six leg lines belong to a linear complex—they satisfy a special geometric relationship (e.g., all intersecting a common line).
Intuitive Analogy
Imagine holding a tabletop with 6 sticks. If all 6 sticks happen to align so they could all rotate around one common axis, you can’t resist motion in that direction no matter how hard you push. That’s a singularity—the platform can move even though all actuators are locked.
4. Interactive: Stewart Platform & Its Workspace
Below you see two synchronized views. On the left, the Stewart platform in its current configuration. On the right, the singularity locus rendered as a 3D isosurface (gold surface) inside the workspace boundary (gray wireframe). The gold surface represents the exact surface where $\det(\mathbf{J}) = 0$, computed via marching cubes extraction. A bright gold contour line at the current height shows the locus cross-section at the platform’s position.
Use the sliders to change the platform radius $R_p$, base radius $R_b$, height, and stroke—watch the singularity surface reshape in real time. The Height slider moves the cross-section plane, showing how the locus curve changes at different elevations (similar to the cross-sectional analysis in research papers).
Height: 0.65 m
Leg 1: 0.73 m
det(J): 0.042
Cond: 12.3
How to Read the Visualization
- Gray wireframe (right panel): workspace boundary—the outer limit of all reachable positions at zero orientation
- Gold semi-transparent surface: the singularity locus isosurface where $\det(\mathbf{J}) = 0$ exactly
- Gold contour line: cross-section of the locus at the current platform height—this is what you’d see in a top-down slice
- Red dot: current platform center position
- Move the Height slider to see the cross-section contour change—notice how the locus curve expands, contracts, or splits at different elevations
- Adjust $R_p$ and $R_b$ to see how the entire singularity surface reshapes
5. How Parameters Change the Loci
The shape and position of the singularity locus depends critically on the geometric design parameters of the platform. Understanding this relationship is the key to singularity-free design.
5.1 Platform Radius $R_p$
As the platform radius increases (platform joints spread further apart):
- The singularity locus moves closer to the workspace center
- The safe workspace shrinks
- When $R_p \to R_b$, the locus collapses onto the workspace itself
Try It
In the interactive panel above, drag the $R_p$ slider from 0.20 to 0.50. Watch the gold singularity surface expand and move inward, progressively reducing the safe working volume.
5.2 Base Radius $R_b$
Increasing the base radius (spreading the base joints):
- The singularity locus moves outward, away from the center
- The safe workspace expands
- The leg angles become more favorable for force transmission
5.3 The Ratio $R_p / R_b$
The Golden Rule
The ratio $R_p / R_b$ is the single most important design parameter. A smaller ratio means the singularity locus is pushed further from the working region. Typical designs use $R_p / R_b \in [0.3, 0.6]$.
5.4 Actuator Stroke
The stroke (difference between $\rho_{\max}$ and $\rho_{\min}$) determines the workspace size but does not directly change the singularity locus position. However, a larger stroke means more of the locus may end up inside the workspace.
| Parameter | Increase Effect on Locus | Effect on Safe Workspace |
|---|---|---|
| $R_p$ (platform radius) | Locus moves inward | Shrinks |
| $R_b$ (base radius) | Locus moves outward | Expands |
| $R_p / R_b$ (ratio) | Locus approaches center | Shrinks dramatically |
| Stroke length | No direct change | Larger total workspace |
| Height $h$ | Cross-section changes | Varies with height |
6. Designing Singularity-Free Workspaces
The ultimate goal is to guarantee that no singularity exists within the required workspace. There are several approaches.
6.1 Determinant-Based Approach
Define the required workspace
Specify the region $W_{\text{req}} \subset \mathbb{R}^3$ (or $\mathbb{R}^6$) that the robot must reach for your application.
Compute $\det(\mathbf{J})$ over $W_{\text{req}}$
Evaluate the Jacobian determinant at a fine grid of points inside $W_{\text{req}}$.
Check sign consistency
If $\det(\mathbf{J})$ does not change sign anywhere in $W_{\text{req}}$, the workspace is singularity-free.
Optimize parameters
Adjust $R_p$, $R_b$, joint distribution, and actuator placement until the locus clears the required workspace with sufficient margin.
6.2 Condition Number Criterion
Even away from singularities, the robot may have poor conditioning. A more practical criterion is to ensure the condition number stays below a threshold:
The well-conditioned workspace (the region where $\kappa < \kappa_{\max}$) is always a subset of the total workspace and always avoids singularities.
6.3 Geometric Insight: Hunt’s Condition
Hunt Singularity (Type II)
For the Stewart platform, a Type II singularity occurs when all six leg lines belong to a linear complex—a family of lines satisfying a single linear constraint in Plücker space. The most common case: all six lines intersect a common line in space.
This geometric understanding allows designers to avoid singularities by construction: choose base and platform joint distributions that make it geometrically impossible for all six leg lines to satisfy the linear complex condition within the required workspace.
Practical Warning
A robot that is “close” to a singularity (even without reaching it) will exhibit poor force transmission and reduced stiffness. Always design with a safety margin: use $|\det(\mathbf{J})| > \epsilon$ rather than just $\det(\mathbf{J}) \neq 0$.
Summary
Key Takeaways
- The workspace is the set of all reachable poses, bounded by actuator limits
- The singularity locus is the surface where $\det(\mathbf{J}) = 0$, dividing workspace into regions
- The locus is a continuous surface, not isolated points
- The ratio $R_p / R_b$ is the key parameter: smaller ratio = locus pushed further out
- Singularity-free design: ensure $\det(\mathbf{J})$ doesn’t change sign in $W_{\text{req}}$
- Always design with margin: use condition number $\kappa < \kappa_{\max}$ as criterion
Quick Check
Q1. The singularity locus is:
Q2. Increasing $R_p / R_b$ will:
Q3. A workspace is singularity-free when:
Q4. The constant-orientation workspace is formed by: