ENG-654 · Lecture 07

Workspace Path Planning

Lifting a desired Cartesian curve onto inverse-kinematic solution sheets

Running models: PUMA 560 and the cuspidal custom_3R_new.urdf.

The planning question

A workspace curve is not yet a robot trajectory

Prescribe\(\mathbf x_d(s)\) in task space
Liftchoose \(\mathbf q(s)\in f^{-1}(\mathbf x_d(s))\)
Validatecontinuity, limits, singularities, repeatability
The same Cartesian path can admit several joint paths, no continuation on one branch, or an open joint path over a closed workspace loop.

PUMA 560 example

Follow one closed wrist-center path in the workspace

The tool orientation and wrist posture are held fixed conceptually; the first three joints lift the displayed Cartesian loop.

Try it: play the path, orbit the model, and watch the desired and achieved wrist points.

Numerical lift

The Jacobian converts Cartesian error into a local joint correction

\[\dot{\mathbf x}=J(\mathbf q)\dot{\mathbf q}\]
\[\Delta\mathbf q=J^{\#}(\mathbf q_k)\bigl(\mathbf x_d(s_{k+1})-f(\mathbf q_k)\bigr)\]
\[J^{\#}=J^T(JJ^T+\lambda^2I)^{-1}\]
1

Start from a seed \(\mathbf q_0\).

2

Linearize forward kinematics at the current configuration.

3

Correct the joints, recompute \(J\), and iterate.

4

Use the last solution as the seed for the next path sample.

Local continuation

Different seeds can lift the same PUMA path differently

Each correction only sees the current Jacobian. A seed chooses the local solution sheet before tracking begins.

Numerical safeguards

Small steps and damping help—but do not create global knowledge

Step size

Large Cartesian steps invalidate the local linear model and can jump to another basin.

Near singularity

Small singular values amplify joint velocity. Damping limits the amplification but introduces tracking error.

Continuation

Warm-starting preserves a nearby solution while that local branch remains regular.

\[\|\dot{\mathbf q}\|\ \text{can grow while}\ \|\dot{\mathbf x}\|\ \text{stays modest as}\ \sigma_{\min}(J)\to0.\]

Analytical lift

Enumerate the PUMA IKs, classify them, then request a branch

For the wrist-partitioned PUMA, shoulder, elbow, and wrist signs give every regular solution a global SEW label.

What “analytical” changes

The branch label is an input—not an accident of convergence

Shoulder
Elbow
Wrist
IK label
right \((S+)\)
up \((E+)\)
nonflip \((W+)\)
S+ E+ W+
right \((S+)\)
down \((E-)\)
flip \((W-)\)
S+ E− W−
left \((S-)\)
up \((E+)\)
flip \((W-)\)
S− E+ W−
left \((S-)\)
down \((E-)\)
nonflip \((W+)\)
S− E− W+
Given \(\mathbf x_d(s)\), robot parameters, and a valid SEW label, an analytical evaluator returns the corresponding joint sample without needing an initial guess.

Local versus global

The two methods answer different planning questions

Jacobian / numericalAnalytical branch evaluation
Information usedLocal derivative at the current \(\mathbf q\)Complete inverse structure for the robot geometry
InitializationA seed configurationA branch label
OutputOne nearby solution, if convergence succeedsThe requested real solution, if that branch exists
Singularity signalConditioning degrades during iterationBranch discriminant or separator vanishes
Scopelocalglobal

Determinism

A numerical answer is seed-dependent; an analytical branch is fully specified

seed ANewton / DLSIK sheet 1
same \(\mathbf x_d\)+ branch S−E+W−one specified IK
seed BNewton / DLSIK sheet 6
Important: analytical does not mean “always feasible.” It means the selection rule is explicit and reproducible wherever the chosen branch exists.

Now change the topology

For a cuspidal robot, one aspect can contain multiple IK solutions

Model

custom_3R_new.urdf

Workspace event

A square loop is placed around a cusp and may cross nearby critical-value curves.

Planning consequence

Different lifts of the exact same loop can close, terminate, or change IK solution without becoming singular.

Master path editor

Place one square loop—every following slide reuses it exactly

Translate, stretch, and rotate the loop in the \((\rho,z)\) workspace slice. The red curves are singular critical values; × marks the selected cusp.

Workflow: edit the path, then press Finalize shared path. Regular, infeasible, and nonsingular slides all read this saved geometry.

One workspace loop, several lifts

Path feasibility is a property of the selected solution sheet

Regular

The selected joint path remains nonsingular and closes.

workspace ↻
joint space ↻

Infeasible

The selected lift reaches a fold where its IK pair coalesces.

workspace ↻
joint path ✕

Nonsingular change

The lift stays regular but returns to a different IK of the starting point.

workspace ↻
joint path →
The Cartesian command alone does not identify which of these joint-space outcomes the robot will follow.

Path type 1 · regular

A closed workspace loop lifts to a closed joint-space loop

The continuation returns to the starting IK and maintains nonzero determinant throughout the traversal.

Path type 2A · infeasible

The first lift reaches a fold and loses its real continuation

The workspace command continues, but this IK branch merges with another solution at \(\det J_p=0\).

Path type 2B · infeasible

The companion IK reaches the same fold from the other sheet

Same square, different lift: the two inverse solutions coalesce as a pair when the critical-value curve is reached.

Path type 3 · nonsingular

One traversal changes IK solution without crossing a singularity

The workspace loop closes while its regular joint-space lift remains open.

Non-repeatability

The second lap starts from the new configuration—not the original one

Play lap 1, then request the same square again. The second attempt starts from the newly reached IK and can terminate at a fold instead of reproducing the first trajectory.

Planning checklist

A path planner must reason about the lift—not only the curve

1

Define the workspace path and sampling law.

2

Enumerate or initialize candidate IK lifts.

3

Track branch identity, singularity distance, joint limits, and collisions.

4

For closed task loops, test joint-space closure and repeatability explicitly.

Lecture 07 conclusion: local Jacobian continuation answers “where do I move next?”; global IK structure answers “which lift am I on, and where can it end?”