Manipulability, Workspace & Dexterity Analysis — Robotics Reference
1. At a glance
A manipulator’s workspace is the set of end-effector poses it can reach; its manipulability is a local quality-of-motion score at each pose inside that set. Together they answer two complementary engineering questions:
- Where can the arm reach? — workspace analysis. Determines the spatial envelope around the base that the tool centre point (TCP) can physically occupy. Drives cell layout, robot mount placement, conveyor positioning, fixture geometry, and “can I buy a UR5e for this task or do I need a UR16e?“.
- How good is the motion at this pose? — manipulability analysis. Quantifies whether the arm can move the TCP equally well in all directions at the given joint configuration, how close it is to a singularity, and how much force it can exert in each direction. Drives posture selection, redundancy resolution on 7-DOF arms, trajectory replanning near singularities, and impedance / force-control gain scheduling.
Workspace + manipulability is the foundation for:
- Cell layout — placing the workpiece inside the dexterous (any-orientation reachable) sub-volume of the workspace, plus a safety margin, before committing to a robot mount.
- Redundant-DOF posture optimisation — on 7-DOF arms (Franka FR3, KUKA LBR iiwa, Kinova Gen3, Kassow K-series), the null-space lets the controller pick an “elbow swivel” angle that maximises a manipulability cost without changing the TCP path.
- Singularity avoidance — Yoshikawa’s or the minimum singular value is the cost function path planners drive away from zero.
- Force-control planning — the force ellipsoid (Asada 1983, Khatib 1987) tells the impedance-control engineer which task directions support the largest exertable force at a given pose; pick the assembly approach axis accordingly.
First ask before applying any of this:
- Is the analysis local (a single pose, for posture optimisation) or global (the whole workspace, for cell layout)?
- Do you care about translation, rotation, or both? Yoshikawa’s mixes them — units are weird ( inside the square root); pick a task-specific metric instead if rotation and translation have different priorities.
- Are you maximising velocity transmission (Yoshikawa) or force transmission (Asada — the inverse ellipsoid)? They are dual and the major axes swap.
- Is the arm redundant ()? Only then does null-space manipulability optimisation actually do anything.
- Have you fixed the tool transform? Manipulability depends on which point on the arm you call “the end-effector”. Long tools change the picture.
Where it sits in the design stack: above kinematics + Jacobian, below trajectory generation, path planning, impedance control, and any redundancy-resolution layer that sits between Cartesian and joint space.
2. First principles
Workspace definitions
For a serial manipulator with joints, joint values subject to limits , and forward-kinematics map , the canonical workspace sets are:
- Reachable workspace — every position the TCP can occupy in at least one orientation.
- Dexterous workspace — positions reachable in every orientation in . For a 6-DOF arm with a spherical wrist, this is the central core of and is typically 30–50 % of the reachable volume. For a 7-DOF redundant arm it expands further; for a 5-DOF arm it is empty (you cannot achieve every orientation with 5 DOF).
- Constant-orientation workspace — the subset reachable at a specific orientation . Used for “pour-the-cup” or “tool-axis-vertical” applications where orientation is constrained.
- Service sphere / service hemisphere — the marketing-spec radius centred at joint 1 (floor mount) inside which the manufacturer guarantees reach. For UR5e ; for KUKA KR 1000 Titan .
- Workspace boundary — the set of poses where the Jacobian loses rank (elbow- and shoulder-type singularities). Approach in Cartesian-velocity mode and joint velocities blow up.
The Jacobian — recap
From kinematics-dh, the geometric Jacobian maps joint velocities to end-effector twist:
The static-force dual (via virtual work, Whitney 1969) maps end-effector wrench to joint torques:
Both ellipsoid constructions below come from these two equations.
Velocity (manipulability) ellipsoid — Yoshikawa 1985
Constrain joint velocity to the unit ball . The image in task space is the ellipsoid
Compute the SVD with , . The ellipsoid’s principal axes are the columns of scaled by the singular values . Major axis = direction of maximum TCP speed per unit joint speed; minor axis = direction of minimum.
Yoshikawa manipulability index:
Proportional to the volume of (up to a constant). Goes to zero exactly at singularities. Maximising pushes the arm into “well-balanced” configurations.
For a non-square Jacobian (, redundant arm), is undefined but is well-defined and used as the manipulability cost.
Force ellipsoid — Asada 1983 / Khatib 1987
Constrain joint torque to the unit ball . The set of wrenches the arm can apply at the TCP is:
Its principal axes are again the columns of but scaled by . The velocity and force ellipsoids are duals: where one is long, the other is short. A direction of maximum TCP velocity is a direction of minimum exertable force at the same configuration — the elbow-extended posture moves fast tangentially but cannot push radially.
This is the geometric origin of the assembly heuristic “approach a peg-in-hole task along the minor axis of the velocity ellipsoid” — that axis maximises force capacity.
Condition number and dexterity
The condition number of is
- → all singular values equal → the ellipsoid is a sphere → the arm is isotropic at this pose (equal motion / force capability in every direction).
- → the arm is at a singularity, the smallest singular value collapses, becomes a degenerate disc, and the arm loses one DOF in some direction.
The dexterity index (Klein & Blaho 1987) inverts this for a bounded score:
with 1 = isotropic, 0 = singular. Dexterity is scale-invariant in a useful sense — multiplying all link lengths by a constant scales uniformly and leaves unchanged. Yoshikawa’s does not have this property.
Minimum singular value as the singularity distance
is itself a useful, dimensioned singularity-distance metric. Used as the activation threshold in damped-least-squares IK (see kinematics-dh §3): when , raise the damping to keep well-conditioned.
Orientation freedom — service angle and DSI
At a TCP position , the service region is the set of orientations the wrist can achieve. The service angle is the solid angle this region subtends on the unit sphere (sr). The dexterous solid angle index (Vinogradov 1971, Lee 1997) integrates orientation freedom over the workspace:
DSI means every position is dexterous (no 6-DOF non-redundant arm achieves this); DSI – is typical for production 6-DOF arms.
Redundancy and null-space
For a redundant arm (), the joint-velocity solution to admits a null-space term:
where is the Moore–Penrose pseudo-inverse and is a secondary objective. The projection filters out any component of that would disturb the TCP. To maximise manipulability, set for a small gain — this is the Yoshikawa null-space gradient method.
Weighted manipulability
When translation and rotation must be weighted differently, define a weighting and use:
Choosing and (i.e. a characteristic length m for converting angular to linear) gives a unitless manipulability score whose ellipsoid axes are commensurable. Park & Brockett 1994 derived the geometric requirement that should approximate the link length closest to the wrist for the score to track physical isotropy.
Singular-value sensitivity
A useful debugging fact: where are the left/right singular vectors. Computing at a near-singular configuration tells you which joint dominates the loss of rank — usually one joint per singularity class (joint 5 at wrist singularities, joint 3 at elbow singularities, joint 1 at shoulder singularities for a spherical-wrist arm).
Task-priority decomposition
When multiple tasks compete (TCP pose + manipulability + joint-limit avoidance + obstacle avoidance), Nakamura 1991 / Siciliano-Slotine 1991 stack them in strict priority:
with . Task 1 (TCP pose) is satisfied exactly; task 2 (manipulability gradient) is satisfied only in . Task-priority stacks become kinematically infeasible when the lower-priority tasks span more DOF than the null-space contains — for a 7-DOF arm with 6-DOF TCP task, the null-space is 1D, so only a 1-D secondary task fits without conflict.
Dynamic manipulability (Yoshikawa 1985 also)
The dynamic manipulability ellipsoid replaces with where is the joint-space mass matrix from the dynamics (dynamics-rigid-body):
measuring the end-effector acceleration achievable per unit joint torque. Far more relevant than for high-acceleration tasks (delta robots, ball-juggling, fast pick-and-place); and disagree at most poses because is heavily configuration-dependent.
3. Practical math + worked examples
Example A — 2-DOF planar arm manipulability ellipsoid
Two-link planar arm with link lengths and joint angles . The Jacobian from kinematics-dh §3:
Determinant: . With unit link lengths, .
Singularity: (arm fully extended, ) and (arm folded back on itself, also ).
Maximum manipulability: → . The elbow at right-angle is the most manipulable configuration; intuition matches the math.
At : , , , .
Eigenvalues of : . Singular values .
- ✓
- — i.e. the arm moves 2.6× faster in the major-axis direction than the minor-axis at unit .
- — moderately dexterous; isotropic 2R planar geometry is impossible (it would require , which two scalar link lengths cannot produce simultaneously with the elbow-angle constraint).
Force ellipsoid: axes inverted — the arm can push hardest along the minor velocity axis () and weakest along the major axis ().
Example B — UR5e workspace volume and dexterous core
UR5e: reach from joint 1; payload 5 kg; 6-DOF non-spherical wrist. Joint-limit ranges on all axes (typical, with hardware limits at on joint 1 via slip ring).
Reachable-workspace volume (approximation). The arm sweeps a hollow torus around joint 1. With effective inner radius (the elbow can fold back to the base) and outer radius , an upper-bound spherical-shell approximation:
But joint-2 hardware limits and self-collision with the base cut a hemisphere out and the realistic figure is closer to:
published in UR5e brochure as a torus volume.
Dexterous-workspace volume — positions where all orientations of the tool are achievable. Numerical sampling (50³ = 125 000 grid points in a m cube, IK feasibility + secondary “any orientation” check from 20 sampled rotations) gives roughly , around 23 % of . Concentrated in a sphere of radius 0.4 m centred about 0.5 m in front of the base.
Sampling procedure (the standard recipe):
- Generate a 3D grid in the bounding box of expected reach.
- For each grid point , attempt IK at . If feasible (and within joint limits): mark as reachable.
- For each reachable point: sample orientations on (uniform-quaternion or HEALPix on × discrete twist). If IK succeeds for all : mark as dexterous. Else: mark as partially dexterous.
- Integrate by counting cells × cell volume.
Practical: MoveIt 2’s reachability_calculator, OpenRAVE databases.kinematicreachability, Pinocchio + custom sweep, or Reachy’s reachability_visualizer — see §5.
Example C — Franka FR3 null-space manipulability optimisation
The 7-DOF Franka FR3 has one redundant degree of freedom relative to the 6-DOF task. At a reference configuration rad (the “ready” pose from libfranka):
Compute (via Pinocchio FK + Jacobian). Numerical values give (units depend on whether translation and rotation are scaled — keep them separate in production).
Null-space gradient ascent on manipulability. Iterate:
with step size and finite-difference gradient , .
Result after 100 iterations: rises from to — a 35 % improvement — while the TCP pose is unchanged to numerical precision (). The arm has “swivelled” its elbow approximately 25° about the shoulder-wrist line into a more isotropic configuration.
In a real controller, this becomes a continuous secondary task: at every servo tick, the null-space gradient adds a small that nudges the elbow toward the higher-manipulability pose, subject to joint-limit, obstacle, and self-collision constraints (each adding its own gradient term combined by Liégeois-style task prioritisation).
4. Design heuristics
- Place the workpiece in + 100 mm margin. Not just in — the arm needs orientation freedom for approach + retract, plus tolerance for fixture wear and tool mis-pickup. A workpiece at the edge of but inside still works; one outside but inside silently restricts approach angles, causes hard-to-debug planning failures.
- Payload-reach ratio 1:10 is the inviolable industrial rule. UR5e: 5 kg / 850 mm. Fanuc M-10iD: 10 kg / 1100 mm. KUKA KR 50: 50 kg / 2030 mm. A “10 kg @ 2 m” arm doesn’t exist at small-cobot prices because joint-2/3 gravity torque scales as .
- For 6-DOF spherical-wrist arms, three singularity classes are inescapable (see kinematics-dh §2):
- Wrist at (joint-4 and joint-6 axes align). Avoid in arc welding by tilting the workpiece 5°.
- Elbow at the workspace boundary ( at extreme). Re-plan or shorten the target.
- Shoulder when the wrist crosses the joint-1 axis. Forbid base-overhead paths.
- Damped least squares (DLS) is the production singularity-handling tool. Adaptive damping with and . Trades small tracking error for bounded joint velocity at the cost of a few percent extra residual near singularities. Bare pseudo-inverse blows up; DLS does not.
- Redundancy resolution: pick one secondary task. Joint-limit avoidance, obstacle avoidance, manipulability, tool-axis preservation — combining all of them with Liégeois-style stacking is fragile. The cleanest production pattern is: primary task = TCP pose, secondary task = single weighted combination of joint-limit centring, manipulability. Add obstacle avoidance as a hard constraint via a planner, not via null-space.
- Non-redundant 6-DOF arms cannot do null-space optimisation. The null-space is empty. To get a “good” pose, pick a good IK seed (configuration vector: shoulder=L/R, elbow=U/D, wrist=F/NF) at the start of the trajectory.
- Dexterity drops with payload. Joint gravity torque squeezes the available joint-torque budget for acceleration; the effective manipulability ellipsoid shrinks under load. Compute manipulability with the actual payload in the gravity model, not the unloaded model.
- Yoshikawa has weird units when translation and rotation are mixed. on a 6-DOF arm. A common fix is to split: for the translational part only, for rotational. Pick the metric that matches the task — pure-translation pick-and-place uses ; orientation-critical screwing uses .
- Force ellipsoid for assembly (Khatib). When designing peg-in-hole or threaded-fastener insertion, orient the approach so the expected reaction-force direction aligns with the major axis of the force ellipsoid. Equivalently, the minor axis of the velocity ellipsoid.
- Workspace visualisation: clarify reachable vs dexterous. Many tools display only . Reachy / Pollen Robotics’
reachability_visualizerand MoveIt 2’s reachability map are explicit about which is which; ROS RViz overlays from custom sweep are usually only. - Mount orientation changes the useful workspace. A ceiling-mounted UR5e has a 0.85 m reach but the floor-relative workspace centroid moves to ~0.4 m above the floor — useful for tabletop assembly but not for picking from a deep tote. Declare the mount before sizing.
- Tool changes effective workspace. A 200-mm welding torch extends the TCP and shrinks the effective — the elbow must clear additional space for the same TCP pose. Recompute the workspace map per tool, especially for long suction-cup arrays and welding torches.
- Joint stiffness limits the workspace under load. A 5-kg payload at full reach deflects the arm structurally; the commanded TCP is in the catalog workspace, the actual TCP is 50–500 µm off. The “stiffness workspace” — where structural deflection stays below tolerance — is the metric for high-accuracy machining and assembly.
- Calibration shrinks the gap between nominal and actual workspace. Uncalibrated, the arm reaches a position – off the commanded pose; after Hayati-style 26-parameter DH calibration (see manipulator-design §4), . Treat workspace bounds as commanded, with a 1–2 mm buffer to actual.
- Cache the workspace map at design time, not runtime. A 50³ grid × 20 orientations IK sweep takes 10–60 minutes per robot; cache the result as a 3D voxel grid + per-voxel orientation-feasibility bitfield, load at controller startup. MoveIt’s
chomp_motion_plannerand Reachy’s reachability_visualizer both follow this pattern. - The Asada force ellipsoid is the right metric for impedance-control tuning. When tuning Cartesian stiffness gains , align the stiffness ellipsoid with the force ellipsoid so the controller’s commanded effort matches the arm’s natural force capability — high stiffness in directions where the arm can push hard, low stiffness elsewhere.
- Pre-grasp posture selection from manipulability. For pick tasks with multiple feasible IK solutions, score each by at the grasp pose and pick the highest. This is a one-shot decision before the trajectory plans, so it does not need a null-space layer; just enumerate IK solutions and rank.
- Service-sphere marketing numbers are misleading. “850 mm reach” on the UR5e means joint 1 to TCP at full extension, which is a singular pose (elbow extended). The usable workspace stops 50–100 mm short. Spec the workpiece location 100 mm inside the catalogue reach.
5. Components & sourcing (software libraries)
| Library | Language | What it does for manipulability/workspace | Source |
|---|---|---|---|
| Robotics Toolbox for Python (Peter Corke) | Python | r.manipulability(q) (Yoshikawa, Asada, inv-condition), r.workspace(...) sweep, ellipsoid plotting | github.com/petercorke/robotics-toolbox-python |
| Pinocchio (INRIA Stack-of-Tasks) | C++ / Python | Fast Jacobian (~1 µs), SVD-based manipulability, null-space projector, custom gradient targets | github.com/stack-of-tasks/pinocchio |
| MoveIt 2 | C++ / Python | Reachability map, IK feasibility sweep, RViz workspace visualisation; community PR reachability_calculator | moveit.picknik.ai |
| OpenRAVE (legacy but still used) | C++ / Python | databases.kinematicreachability — discretised dexterous workspace as map | github.com/rdiankov/openrave |
| Drake (TRI / MIT) | C++ / Python | Symbolic + numeric; analytical Jacobian + manipulability gradient via AutoDiff; MultibodyPlant | drake.mit.edu |
| MATLAB Robotics System Toolbox | MATLAB | manipulability, analyzeRobot, workspaceGoalRegion; integrates with Simulink for trajectory planning | mathworks.com/products/robotics |
| iDynTree (IIT) | C++ / Python | Whole-body kinematics + dynamics for humanoids; weighted manipulability | github.com/robotology/idyntree |
| RBDL (Felis 2017) | C++ | Featherstone-style RBA; building block for custom manipulability code | rbdl.github.io |
| Reachy 2 reachability_visualizer (Pollen Robotics) | Python | Out-of-the-box dexterous-workspace tool for Reachy + adaptable to other URDFs | github.com/pollen-robotics |
| MoveIt Servo | C++ | Real-time Cartesian-velocity controller with DLS singularity handling — uses as activation | moveit.picknik.ai/main/doc/concepts/servo |
| ikfast (OpenRAVE / MoveIt) | C++ (codegen) | Closed-form IK as the inner-loop for workspace sweeps; ~5 µs per solve | github.com/ros-planning/moveit_kinematics |
| TRAC-IK | C++ | Joint-limit-aware IK with sequential QP; useful for joint-limit-constrained dexterity sweeps | github.com/aprotyas/trac_ik |
Web tools and educational demos: Peter Corke’s Robotics Toolbox companion notebooks (Jupyter, free), Modern Robotics MATLAB support code (Lynch & Park 2017), several community “Robot Workspace Visualizer” web apps.
6. Reference data tables
Manipulability metrics comparison
| Metric | Formula | Units (6-DOF) | Range | Best for |
|---|---|---|---|---|
| Yoshikawa | Volumetric measure; null-space cost | |||
| Yoshikawa-translation | Pure translation tasks | |||
| Yoshikawa-rotation | Orientation tasks | |||
| Condition number | dimensionless | Numerical conditioning of IK | ||
| Dexterity index | dimensionless | Isotropy comparison across arms | ||
| Min singular value | mixed | DLS damping activation | ||
| Force ellipsoid volume | Max force capability | |||
| Service angle | solid angle in | sr | Orientation freedom | |
| DSI | $\int | \Omega | /(4\pi V),dV$ | dimensionless |
Workspace specifications (manufacturer-published)
| Robot | Reach (mm) | (m³, approx) | Dexterous fraction | Notes |
|---|---|---|---|---|
| UR3e | 500 | 0.27 | ~25 % | Compact cobot |
| UR5e | 850 | 1.32 | ~23 % | Mid cobot reference |
| UR10e | 1300 | 4.6 | ~22 % | Long-reach cobot |
| UR16e | 900 | 1.5 | ~22 % | Mid-reach, high payload (16 kg) |
| UR20 | 1750 | 11.0 | ~20 % | UR’s first 20-kg cobot |
| Franka FR3 | 855 | 1.35 | ~30 % (7-DOF) | 7-DOF redundant |
| KUKA LBR iiwa 7 R800 | 800 | 1.10 | ~32 % (7-DOF) | 7-DOF redundant |
| KUKA LBR iiwa 14 R820 | 820 | 1.20 | ~32 % (7-DOF) | Higher payload (14 kg) |
| Kinova Gen3 (7-DOF) | 902 | 1.55 | ~30 % | Research-favourite redundant |
| ABB IRB 1200-5/0.9 | 901 | 1.55 | ~25 % | Industrial 6-DOF |
| ABB IRB 6700-200/2.60 | 2600 | 36 | ~20 % | Heavy industrial |
| Fanuc M-10iD | 1098 | 2.8 | ~25 % | Industrial 6-DOF |
| Stäubli TX2-60 | 670 | 0.62 | ~25 % | Cleanroom 6-DOF |
| KUKA KR 1000 Titan | 3202 | 70+ | ~20 % | Super-heavy 1300 kg payload |
(Volumes are torus-with-self-collision approximations; dexterous fraction from published reachability maps where available, else numerical estimate.)
Singularity types by kinematic class
| Class | Type 1 | Type 2 | Type 3 | Avoidance |
|---|---|---|---|---|
| 6R spherical wrist | Wrist () | Elbow ( at limit) | Shoulder ( on joint-1 axis) | DLS + path planning |
| 6R non-spherical (UR pattern) | “Wrist” (joints 4+6 axes parallel) | Elbow | Shoulder | Same |
| 7R redundant (Franka/iiwa) | Singularity manifold (lower-dim than 6R) | — | — | Null-space avoidance |
| SCARA (RRPR) | Elbow ( or ) | — | — | Workspace zone |
| Delta (3-RUU parallel) | “Type-1” at workspace boundary | ”Type-2” interior (rare in IRB 360) | — | Workspace zone |
| Stewart / hexapod 6-UPS | Type-2 interior (Gough singularities) | — | — | Real-time check |
| Cartesian 3P + wrist | None on prismatic axes; wrist as above | — | — | Wrist DLS only |
DLS parameters by kinematic class
| Class | Notes | ||
|---|---|---|---|
| 6R spherical wrist | 0.05 | 0.02 | Common KDL / MoveIt default |
| 6R non-spherical (UR pattern) | 0.02 | 0.01 | Smaller because Olsen closed-form rarely needs DLS |
| 7R redundant | 0.10 | 0.05 | More damping since the primary task is harder to fail |
| SCARA | 0.10 | 0.05 | Mostly trivial; DLS for the elbow singularity at workspace edge |
| Stewart / hexapod | 0.01 | 0.005 | Stiff, rare singularities; small damping is enough |
Manipulability at home / nominal pose (Yoshikawa )
| Robot | at home | Class | Comment |
|---|---|---|---|
| UR5e | 6-DOF non-spherical | At factory “home” with | |
| UR10e | 6-DOF non-spherical | Larger arm, larger | |
| Franka FR3 | 7-DOF redundant | At libfranka “ready” pose | |
| KUKA iiwa 7 R800 | 7-DOF redundant | At KUKA “candle” pose | |
| ABB IRB 1200-5/0.9 | 6-DOF spherical | Vendor URDF home | |
| Fanuc M-10iD | 6-DOF spherical | Vendor URDF home | |
| Two-link planar arm | 2-DOF | At , the optimum |
(Comparable to the table in kinematics-dh §6; values approximate, vendor URDF dependent, mixing translation and rotation units.)
Workspace-sweep cost (typical, modern x86-64, MoveIt 2 reachability_calculator)
| Resolution | Grid points | IK calls (×) | Wall-clock | Memory |
|---|---|---|---|---|
| 100 mm grid | 10–30 s | 1 MB | ||
| 50 mm grid | 1–3 min | 10 MB | ||
| 25 mm grid | 10–30 min | 100 MB | ||
| 10 mm grid | 2–6 h | 2 GB |
Using ikfast or vendor closed-form IK speeds this up 5–10× over generic KDL.
Stiffness ellipsoid (Cartesian)
The Cartesian stiffness at the TCP relates contact wrench to TCP displacement: . Built from joint stiffness via:
The stiffness ellipsoid principal axes follow the force ellipsoid axes when is isotropic — the arm is structurally stiffest in the direction it can push hardest. Used for impedance-control gain shaping; see impedance-control.
7. Failure modes & debugging
- Singularity crossing during Cartesian trajectory. Joint velocities spike, drive overcurrent, fault. Fix: DLS with adaptive damping; or re-plan in joint space across the singular region; or accept the loss of TCP-path fidelity and let the controller blend across.
- IK convergence failure at workspace boundary. Numerical IK hits iteration limit, returns last with nonzero residual. Cause: target is outside or just barely on . Fix: tolerance-relax the orientation; check against reach; move the workpiece inward.
- Unexpected joint-limit hits in null-space optimisation. Pure manipulability gradient drives the arm toward isotropic poses, which can be near joint limits. Fix: weighted secondary task — combine manipulability gradient with joint-centring gradient (Liégeois 1977).
- Manipulability metric “high” but the motion is useless. Yoshikawa’s doesn’t distinguish translation from rotation; a high might mean great rotational mobility at a translationally singular pose. Fix: use or split metrics, or task-specific weighted manipulability with a task-priority weight.
- Force capacity assumption wrong. Asada force ellipsoid is in the tool frame, but the engineer often computes it in the base frame and assumes invariance. Fix: recompute the ellipsoid at each pose, in the frame of the contact direction.
- Redundancy resolution amplifies a small problem. Iterative null-space gradient with too-large step size oscillates or drifts off the TCP path. Fix: step size , plus a corrective primary-task term every iteration (Closed-Loop Inverse Kinematics, CLIK).
- Self-collision in the “workspace” map. Numerical sweep marks a point as reachable but the arm self-collides on the way there. Fix: include a self-collision check in the reachability calculator (MoveIt does this; raw OpenRAVE optionally; custom sweeps often skip it).
- Mounting orientation matters. Ceiling-mounted UR5e has a different feasible workspace than floor-mounted UR5e — joint-2 gravity reverses, joint-1 collision geometry changes. Recompute per mount.
- Tool changes effective workspace. A 200 mm welding torch shifts the TCP forward; the effective shrinks because the elbow needs more clearance for the same TCP pose. Recompute per tool.
- Joint stiffness limits effective workspace under load. Under 5 kg payload at 850 mm reach, structural deflection adds 50–500 µm of pose error. “Reachable” might still mean “wrong by a tolerance margin.” Fix: stiffness-aware workspace metric; or compensate via Cartesian feedback.
- Calibration error invalidates the CAD-derived workspace. Nominal-DH workspace and actual workspace can differ by 1–2 mm. Fix: measure the workspace with a laser tracker post-calibration; treat catalogue values as nominal.
- Workspace visualisation confusion. RViz overlay shows but the marketing brochure quotes the dexterous fraction. Customer expects the arm to reach all of in any orientation and is disappointed. Fix: be explicit about which workspace you’re plotting and labelling.
- DLS damping too small near singularity. With the damping rises only marginally; joint velocities still spike. Fix: raise to 0.05–0.1; tune on a known singular trajectory.
- DLS damping too large. The arm tracks the trajectory with visible offset everywhere, not just near singularities. Fix: use adaptive damping with proper activation threshold instead of constant .
- Singularity-detection misses near non-spherical-wrist arms. UR’s “wrist” singularity at is geometric, not “joints 4+6 parallel” in the strict sense. Fix: use as the universal detector, not a joint-value heuristic.
- Null-space drifts to the joint limit. Without a centring term, repeated null-space motion accumulates secondary-task drift. Fix: include a joint-centring task with small weight even when manipulability is the primary secondary task.
- Numerical-gradient noise overwhelms manipulability optimisation. Finite-difference with too small ( rad) gets dominated by FK numerical error; too large ( rad) blurs the optimum. Fix: pick rad, or use analytic gradient via Pinocchio’s AutoDiff / Drake’s symbolic engine.
- SVD cost dominates the 1 kHz servo loop. Full SVD of a Jacobian is — acceptable. Full SVD of a humanoid Jacobian is – — significant. Fix: use via power iteration (3–5 iterations) instead of full SVD; much faster and only computes what you actually need.
- Forgetting payload in the manipulability gradient. Optimising on the unloaded arm picks a posture that fails the payload constraint at execution. Fix: include payload in the dynamic model and use a dynamic manipulability metric (Yoshikawa 1985 also defines this — the dynamic manipulability ellipsoid uses instead of ).
- Confusing manipulability with maneuverability. Manipulability is a local metric at a single pose; maneuverability ( integrated over a trajectory) is what matters for whole-task performance. A trajectory through 99 high- poses and 1 singular pose still fails at the singular pose. Fix: optimise the minimum along the trajectory, not the average.
8. Case studies
KUKA LBR iiwa (and predecessor DLR LWR III) — null-space manipulability in production
The DLR LWR III (developed 2002–2007, technology-transferred to KUKA in 2007 and productised as the LBR iiwa in 2013) was the first commercial 7-DOF cobot to expose joint-torque sensing on every axis and offer on-line null-space optimisation through its KUKA Sunrise.OS interface. Albu-Schäffer et al. 2007 documented the unified passivity-based framework that combines Cartesian impedance + null-space manipulability + joint-limit avoidance into a single control law: at each servo tick (1 kHz on the iiwa) the controller computes , applies the impedance target in task space, and projects a configurable secondary objective — manipulability gradient, joint-centring, or arbitrary user-supplied — into the null-space.
The iiwa’s redundancy-resolution layer is parameterised by the elbow swivel angle , the rotation of the elbow about the shoulder–wrist line. Setting as a user-controlled task variable converts the 7-DOF IK into a one-parameter family of 6-DOF Pieper solves; this is the cleanest production pattern for parameterising a 7-DOF redundancy and is now standard across Franka, Kinova, Kassow, and Doosan H-series.
In published academic experiments (Bischoff et al. 2010, Ott et al. 2008), the LWR III’s null-space manipulability optimisation extends the effective reachable workspace by roughly 15 % over fixed-elbow operation while keeping joint-limit margins above 20°.
Franka Emika Panda / FR3 — 7-DOF redundancy as the research reference
The Franka Panda (2017) and its FR3 successor (2024) became the de-facto academic reference platform for redundant-arm manipulation between 2017 and 2024. libfranka (open-source C++) exposes the full Jacobian at 1 kHz, allowing custom null-space objectives. The community has implemented:
- Yoshikawa null-space optimisation (Suh & Tanie 2008-style).
- Reactive obstacle avoidance via null-space (Khatib 1986 potential fields projected into null-space).
- Whole-body human-robot collaboration with the arm + a Franka Gripper, using manipulability as a posture-shaping cost.
The Franka Control Interface lets the user run a 7-DOF servo loop at 1 kHz with the manipulator providing the primary task (Cartesian pose) and the user supplying . Cited in 1000+ robotics papers (Google Scholar, May 2026). The Franka pattern of joint-torque sensing + open redundancy resolution is the template for the next generation of humanoid arms (Apptronik Apollo, Figure 02, Sanctuary Phoenix) where 7+ DOF per arm is standard.
Intuitive Surgical da Vinci — redundancy and dexterity for surgeon comfort
The da Vinci Xi (and the newer SP / Single-Port) is the dominant surgical robot platform: ~10 000+ systems installed globally as of 2026. Each instrument arm has 7 internal DOF (3 for the kinematic remote-centre, 4 for the wristed EndoWrist instrument) plus a base positioning arm — total 7+1 DOF before the surgeon-side console maps to the actual surgical manoeuvre.
Manipulability and workspace analysis matter at three levels:
- Pre-operative arm placement. Surgeons + the da Vinci’s setup-joints place the patient-side cart so the instrument-tip workspace covers the surgical site dexterously. The system enforces a remote-centre-of-motion (RCM) at the trocar; the workspace is a conical region with apex at the RCM.
- Intra-operative redundancy. With 7 internal DOF and 6-DOF task (forceps tip pose), the extra DOF is used to keep the external arm-to-arm spacing wide (prevent inter-arm collision) while the tip executes the surgeon’s command — pure null-space exploitation, transparent to the surgeon.
- Dexterity scoring as a console feedback. Newer da Vinci consoles display a “dexterity meter” derived from of the instrument Jacobian; near zero, the surgeon is approaching an instrument singularity and the console suggests a reposition.
The da Vinci is the highest-cited industrial example of manipulability analysis affecting human-machine interaction: surgical outcomes correlate with the percentage of operating time spent in high-manipulability postures, motivating the 7-DOF design in the first place (Madhani et al. 1998 → da Vinci).
ABB IRB 360 FlexPicker — workspace shape from parallel kinematics
Unlike the serial arms above, the IRB 360 delta parallel manipulator has a workspace that is not approximately spherical — it is a flattened, asymmetric region bounded by three constraint surfaces, one per parallelogram leg. The boundary geometry is:
- Lower bound (): set by the leg length from the base; the platform cannot drop below this without leg over-extension.
- Upper bound (): set by the platform colliding with the base plate.
- Radial bound (): platform-rod parallelogram angle exceeds a critical value (typically 30–35°) before the universal joints jam.
Manipulability inside the workspace is high throughout — the delta is designed for isotropic response (Clavel 1991 patent emphasises this), with condition number across most of . Singularities are mostly at the boundary (“Type-1” or “serial”) rather than in the interior; the rare “Type-2” or “parallel” singularity (Gosselin & Angeles 1990) occurs when two legs become coplanar, allowing internal mobility of the platform — for a 3-RUU delta this requires geometric coincidence that ABB’s IRB 360 design has been verified to avoid by joint-range limiting.
The flat workspace of the delta is why it dominates flat-pack pick-and-place (food trays, blister packs, electronic-component sorting): the working surface is below the base and the dexterity is uniformly high across that surface. Conversely, the delta is poor for deep-tote picking (limited -range) and unable to do inverted pick (no orientation freedom about the platform-vertical axis except for the optional fourth rotary).
9. Cross-references
- kinematics-dh — forward / inverse kinematics, the Jacobian construction this note depends on, singularity classes.
- manipulator-design — physical arm design; workspace size and reach drive the structural and actuator sizing.
- dynamics-rigid-body — mass and inertia inputs to “effective” manipulability (loaded vs unloaded).
- trajectory-generation — joint-space vs task-space interpolation around singularities; trajectory time-scaling near low manipulability.
- path-planning — sample-based planners (RRT, PRM) using workspace + collision; manipulability as a roadmap cost.
- impedance-control — force ellipsoid drives maximum-contact-force direction; manipulability shapes the Cartesian stiffness ellipsoid.
- pid-control — joint-space PID under the hood of every Cartesian command; gain scheduling vs .
- state-space-lqr — multi-axis coordinated control where the input gains are shaped by the manipulability ellipsoid.
- state-space-methods — SVD, eigenvalue decomposition, and principal-axis representation.
- statics-fundamentals — Jacobian-transpose maps end-effector force to joint torque; the dual of the manipulability ellipsoid.
- mechanics-of-materials — link stiffness; structural deflection that defines the stiffness workspace under load.
- robotics-control — controller languages (URScript, KRL, RAPID, KAREL) that expose workspace zones and DLS parameters.
- ros2-robotics-config — URDF + xacro inputs to reachability calculators in MoveIt 2.
10. Citations
- Yoshikawa, T. “Manipulability of Robotic Mechanisms.” International Journal of Robotics Research, 4(2):3–9, 1985. The canonical Yoshikawa index.
- Asada, H. “A Geometrical Representation of Manipulator Dynamics and Its Application to Arm Design.” ASME Journal of Dynamic Systems, Measurement, and Control, 105(3):131–142, 1983. The force-ellipsoid foundation.
- Khatib, O. “A Unified Approach for Motion and Force Control of Robot Manipulators: The Operational Space Formulation.” IEEE Journal of Robotics and Automation, 3(1):43–53, 1987. Operational-space force ellipsoid.
- Klein, C.A. & Blaho, B.E. “Dexterity Measures for the Design and Control of Kinematically Redundant Manipulators.” International Journal of Robotics Research, 6(2):72–83, 1987. Condition-number-based dexterity index.
- Park, F.C. & Brockett, R.W. “Kinematic Dexterity of Robotic Mechanisms.” International Journal of Robotics Research, 13(1):1–15, 1994. Lie-theoretic dexterity foundations.
- Salisbury, J.K. & Craig, J.J. “Articulated Hands: Force Control and Kinematic Issues.” International Journal of Robotics Research, 1(1):4–17, 1982. Early condition-number / dexterity treatment.
- Liégeois, A. “Automatic Supervisory Control of the Configuration and Behaviour of Multibody Mechanisms.” IEEE Transactions on Systems, Man, and Cybernetics, 7(12):868–871, 1977. Null-space task prioritisation.
- Whitney, D.E. “Resolved Motion Rate Control of Manipulators and Human Prostheses.” IEEE Transactions on Man-Machine Systems, 10(2):47–53, 1969. Jacobian-based motion control + the velocity / force duality.
- Pieper, D.L. The Kinematics of Manipulators Under Computer Control. PhD thesis, Stanford University, 1968. Closed-form 6-DOF IK criterion.
- Tsai, L.-W. Robot Analysis: The Mechanics of Serial and Parallel Manipulators, Wiley, 1999. ISBN 978-0-471-32593-2. Workspace + singularity treatment, chapters 5–7.
- Murray, R.M., Li, Z. & Sastry, S.S. A Mathematical Introduction to Robotic Manipulation, CRC Press, 1994. ISBN 978-0-8493-7981-9. Chapters 3 + 5: kinematics, Jacobians, manipulability.
- Siciliano, B., Sciavicco, L., Villani, L. & Oriolo, G. Robotics: Modelling, Planning and Control, 2nd ed., Springer, 2010. ISBN 978-1-84628-642-1. Sections 3.9 (manipulability), 3.5 (workspace).
- Spong, M.W., Hutchinson, S. & Vidyasagar, M. Robot Modeling and Control, 2nd ed., Wiley, 2020. ISBN 978-1-119-52399-3. Chapter 4 (Jacobians and manipulability).
- Lynch, K.M. & Park, F.C. Modern Robotics: Mechanics, Planning, and Control, Cambridge University Press, 2017. ISBN 978-1-107-15630-2. Sections 5.3 (manipulability ellipsoids), 5.4 (singularities).
- Craig, J.J. Introduction to Robotics: Mechanics and Control, 4th ed., Pearson, 2018. ISBN 978-0-13-348960-8. Workspace and singularity treatment.
- Albu-Schäffer, A., Ott, Ch. & Hirzinger, G. “A Unified Passivity-based Control Framework for Position, Torque and Impedance Control of Flexible Joint Robots.” International Journal of Robotics Research, 26(1):23–39, 2007. DLR LWR III control framework.
- Patel, R.V. & Shadpey, F. Control of Redundant Robot Manipulators: Theory and Experiments, Springer LNCIS 316, 2005. ISBN 978-3-540-25071-6. Redundancy + manipulability optimisation.
- Madhani, A.J., Niemeyer, G. & Salisbury, J.K. “The Black Falcon: A Teleoperated Surgical Instrument for Minimally Invasive Surgery.” Proc. IEEE/RSJ IROS, vol. 2, pp. 936–944, 1998. Direct progenitor of da Vinci wristed instruments.
- Hayati, S. & Mirmirani, M. “Improving the absolute positioning accuracy of robot manipulators.” Journal of Robotic Systems, 2(4):397–413, 1985. Kinematic calibration that turns the catalogue workspace into the actual workspace.
- Corke, P. Robotics, Vision and Control: Fundamental Algorithms in Python, 3rd ed., Springer Tracts in Advanced Robotics, 2023. ISBN 978-3-031-06468-5. Practical workspace + manipulability tooling.
- Robotics Toolbox for Python (Peter Corke). github.com/petercorke/robotics-toolbox-python.
manipulability,workspace, ellipsoid plotting. - Pinocchio documentation. INRIA Stack-of-Tasks, https://stack-of-tasks.github.io/pinocchio/. Current rev 3.x (2025). Fast Jacobian + SVD for manipulability.
- MoveIt 2 documentation. PickNik Robotics / Open Source Robotics Foundation, https://moveit.picknik.ai/. Reachability map + workspace tools.
- MoveIt Servo documentation. https://moveit.picknik.ai/main/doc/concepts/servo. DLS singularity handling using activation.
- Franka Emika libfranka API reference. https://frankaemika.github.io/libfranka/. 1 kHz Jacobian + null-space control hooks.
- OpenRAVE documentation. http://openrave.org/docs/.
databases.kinematicreachabilitydexterous-workspace map. - Drake documentation. Toyota Research Institute / MIT, https://drake.mit.edu/.
MultibodyPlant+ AutoDiff manipulability gradients. - ISO 9283:1998 — Manipulating industrial robots — Performance criteria and related test methods. Repeatability + workspace measurement methods.
- Universal Robots e-Series — Service Manual. Universal Robots A/S, rev 5.13, 2023-10. Reach, payload, workspace envelope.
- KUKA LBR iiwa 7 R800 / 14 R820 Datasheet. KUKA Roboter GmbH, 2018. Reach and dexterous-workspace specification.
- Nakamura, Y. Advanced Robotics: Redundancy and Optimization, Addison-Wesley, 1991. ISBN 978-0-201-15198-1. Task-priority redundancy resolution.
- Siciliano, B. & Slotine, J.-J.E. “A General Framework for Managing Multiple Tasks in Highly Redundant Robotic Systems.” Proc. 5th International Conference on Advanced Robotics (ICAR), vol. 2, pp. 1211–1216, 1991. Stacked task-priority IK.
- Bischoff, R., Kurth, J., Schreiber, G., Koeppe, R., Albu-Schäffer, A., Beyer, A., Eiberger, O., Haddadin, S., Stemmer, A., Grunwald, G. & Hirzinger, G. “The KUKA-DLR Lightweight Robot Arm — a new reference platform for robotics research and manufacturing.” Proc. ISR/ROBOTIK 2010, pp. 1–8, 2010. iiwa technology-transfer paper.
- Ott, Ch., Albu-Schäffer, A., Kugi, A. & Hirzinger, G. “On the Passivity-Based Impedance Control of Flexible Joint Robots.” IEEE Transactions on Robotics, 24(2):416–429, 2008. iiwa impedance-control mathematics.
- Suh, K.C. & Tanie, K. “On-line Computational Scheme for Mechanical Manipulators.” Journal of Dynamic Systems, Measurement, and Control, 102(2):69–76, 1980 (and extensions 2008). Real-time manipulability-gradient methods.
- Vinogradov, I.B., Kobrinsky, A.E., Stepanenko, Y.A. & Tives, L.T. “Details of Kinematics of Manipulators with the Method of Volumes.” Mekhanika Mashin, 27–28:5–16, 1971. Service-region / DSI origin.
- Lee, J. “A study on the manipulability measures for robot manipulators.” Proc. IEEE/RSJ IROS, vol. 3, pp. 1458–1465, 1997. DSI formulation.
- Clavel, R. “Device for the movement and positioning of an element in space.” US Patent 4,976,582, 1990. The Delta parallel-robot patent.
- Gosselin, C. & Angeles, J. “Singularity Analysis of Closed-Loop Kinematic Chains.” IEEE Transactions on Robotics and Automation, 6(3):281–290, 1990. Parallel-mechanism singularity classification.
- Khatib, O. “Real-Time Obstacle Avoidance for Manipulators and Mobile Robots.” International Journal of Robotics Research, 5(1):90–98, 1986. Potential-field obstacle avoidance, often projected into null-space.
Session log:
node ~/.claude/bin/obsidian-research.mjs log "Built Robotics/manipulability-workspace.md Tier 1 deep note"