(No joint limits)
For a curve \(\gamma\) connecting two points \(p=\gamma(0),q=\gamma(1)\) on a manifold, its arc length is
\[\int_0^1||\dot\gamma(t)||\,\mathrm{d}t\]
This yields a distance metric
\[d(p,q)=\inf\{L(\gamma)\,|\,\gamma\in\mathcal{C}^{1}_{\operatorname{pw}}([0,1],\mathcal{M}),\\\gamma(0)=p,\gamma(1)=q\}\]
A geodesic is a (locally) length-minimizing curve.
A set \(X\subseteq\mathbb{R}^n\) is convex if \(\forall p,q\in X\), the line connecting \(p\) and \(q\) is contained in \(X\)
A set \(X\subseteq\mathcal{M}\) is strongly geodesically convex if \(\forall p,q\in X\), there is a unique length-minimizing geodesic (w.r.t. \(\mathcal{M}\)) connecting \(p\) and \(q\), which is completely contained in \(X\).
A function \(f:X\to\mathbb{R}\) is convex if for any \(x,y\in X\) and \(\lambda\in[0,1]\), we have
\[f(\lambda x+(1-\lambda)y)\le\]
\[\lambda f(x)+(1-\lambda) f(y)\]
A function \(f:\mathcal{M}\to\mathbb{R}\) is geodesically convex if for any \(x,y\in \mathcal{M}\) and any geodesic \(\gamma:[0,1]\to\mathcal{M}\) such that \(\gamma(0)=x\) and \(\gamma(1)=y\), \(f\circ\gamma\) is convex
A directed graph \(G=(V,E)\)
Have to consider the curvature of the manifold.
Positive curvature
E.g. \(S^n,\operatorname{SO}(3),\operatorname{SE}(3)\)
Negative curvature
E.g. Saddle, PSD Cone \(\vphantom{S^n}\)
Zero curvature
E.g. \(\mathbb R^n, \mathbb T^n\)
Fetch Robot Configuration
Space: \(\operatorname{SE}(2)\times \mathbb{T}^3\times \mathbb{R}^7\)
Black: Shortest path on PL approximation
Red: Shortest path on sphere
Intuition: How much does the Jacobian of the chart vary?
Intuition: The amount we can "slip" along the boundary also depends on the Hausdorff distance \(\epsilon_H\) between the manifold and its triangulation, as well as the angle \(\alpha_{\operatorname{max}}\) between adjacent charts.
Intuition: The error grows additively with the number of sets traversed in the optimal path.
Recall that \(\operatorname{SE}(3)\) is just \(\operatorname{SO}(3)\times\mathbb R^3\)
Three representations for \(\operatorname{SO}(3)\):
\(S^1\) is flat (no approximation needed)
Randomly sample \(n\) start and goal pairs, plan between them with each approximation.
Compute the true distance, and explore the error distribution.
Note: two possible representations in axis-angle and quaternion, so we plan twice. Euler angles are stranger, so we ignore.
Consider a block moving freely in 3D through a 2D maze.
Generate collision free regions with IRIS-NP. (Have to use Euler angles.)
Making the graph:
200 sets, 4744 edges
Tricks to deal with the bigger graph:
Sample path between a start/goal pair.
The large gap in the center gives room for the block to reorient itself.
GCS average runtime: 354.98 seconds
GCS* average runtime: 46.71 seconds
GCS* is ~7 times faster, and produces paths that are only 4.4% longer than GCS on average.
Takeaway: For large collision-free kinematic motion planning problems, use GCS*