November 21, 2025
https://github.com/ethz-asl/amr_visualisations
Task Space
Configuration Space
Thanks, Rebecca!
Thanks, Bernhard!
Learning the Metric of Task Constraint Manifolds for Constrained Motion Planning, Zha et. al.
Collision-Free Motion Planning Problem:
\[\begin{array}{rl}\min_\gamma & L(\gamma)\\ \operatorname{s.t.} & \gamma:[0,1]\to\mathbb R^n\\ & \gamma(0)=q_0,\gamma(1)=q_1\\ & g(\gamma(t))\le 0,\forall t\in[0,1]\end{array}\]
Constrained Collision-Free Motion Planning Problem:
\[\begin{array}{rl}\min_\gamma & L(\gamma)\\ \operatorname{s.t.} & \gamma:[0,1]\to\mathbb R^n\\ & \gamma(0)=q_0,\gamma(1)=q_1\\ & g(\gamma(t))\le 0,\forall t\in[0,1]\\ & h(\gamma(t))=0,\forall t\in[0,1]\end{array}\]
Sampling-Based Planning
Sampling-Based Methods for Motion Planning with Constraints, Kingston et. al.
Trajectory Optimization
Trajectory Optimization On Manifolds with
Applications to \(SO(3)\) and \(\mathbb{R}^3 \times S^2\), Watterson et. al.
Trajectory Optimization on Manifolds: A
Theoretically-Guaranteed Embedded Sequential
Convex Programming Approach, Bonalli et. al.
Direct Collocation Methods for Trajectory
Optimization in Constrained Robotic Systems, Bordabla et. al.
Parametrized Motion Planning Problem:
\[\begin{array}{rl}\min_{\tilde\gamma}& L(\xi\circ\tilde\gamma)\\ \operatorname{s.t.} & \tilde\gamma:[0,1]\to\mathcal U\\ & \tilde\gamma(0)=\tilde q_0,\tilde\gamma(1)=\tilde q_1\\ & g((\xi\circ\tilde\gamma)(t))\le 0,\forall t\in[0,1]\\ & h((\xi\circ\tilde\gamma)(t))=0,\forall t\in[0,1]\end{array}\]
Keenan Crane (Twitter)
Analytic IK can be written as a function
\[\operatorname{IK}:\operatorname{SE}(3)\times\mathcal{C}\times\mathcal{D}\to\mathbb{R}^n,\]
where \(\mathcal{C}\) are continuous redundancy parameters and \(\mathcal{D}\) are discrete redundancy parameters.
By taking additional arguments, \(\operatorname{IK}\) is smooth and injective (almost everywhere). So we can build up parametrizations with it.
Key requirement: it has to be a minimal coordinate system
Major effort to get the pieces needed into Drake
(Full tutorial notebook releasing soon!)
Trajectory Optimization in Minimal Coordinates
Better Options for IK
Crossing Between IK Branches
For the KUKA iiwa, the branches meet when \(\theta_i\in\{0,\pi\}\) for \(i\in\{1,3,5\}\). Call this the coregular surface.
Here's a trajectory in joint space that crosses the coregular surface (x-axis is time):
For the KUKA iiwa, the branches meet when \(\theta_i\in\{0,\pi\}\) for \(i\in\{1,3,5\}\). Call this the coregular surface.
Now we can trace that trajectory in end-effector space, following two branches that should meet there.
Joint Space
End-Effector Space
Examine the end-effector velocity into and out of the coregular point.
Parallel and flip the GC parameter?
\(\quad\rightarrow\) No coregular self-motion
Don't flip the GC parameter?
\(\quad\rightarrow\) \(180^\circ\) (max) coregular self-motion
Antiparallel and flip the GC parameter?
\(\quad\rightarrow\) \(180^\circ\) (max) coregular self-motion
Don't flip the GC parameter?
\(\quad\rightarrow\) No coregular self-motion
Just need to handle the numerical issues
Model as a hybrid system (refer to Underactuated Ch.17)
Underactuated Robotics, Tedrake
End-Effector Trajectory
Joint Trajectory
Fixed Pose \(X_1(1)=X_2(0)=\hat X\)
Equal Velocity \(\dot X_1(1)=\dot X_2(0)\)
End-Effector Trajectory
Joint Trajectory
Equal Pose \(X_1(1)=X_2(0)\), "coregularity" \(\operatorname{IK}(X_1(1))_1=0\)
Equal Velocity \(\dot X_1(1)=\dot X_2(0)\)
End-Effector Trajectory
Joint Trajectory
Equal Pose \(X_1(1)=X_2(0)=\operatorname{FK}(\bar q), \bar q_1=0\)
Equal Velocity \(\dot X_1(1)=\dot X_2(0)\)
Equal Pose \(X_1(1)=X_2(0)=\operatorname{FK}(\bar q), \bar q_1=0\)
Equal Velocity \(\dot X_1(1)=\dot X_2(0)\)
\(\left.\frac{d}{dt}\arccos(t)\right|_{t=1}:=\left.\frac{d}{dt}\right|\arccos(t)|_{t=0.9999}\)
Maintain multiple parametrizations with different representational singularities
iiwa self-motion parametrizations:
This leads to more modes, but we can transition in their interior!
November 21, 2025