Some basic definitions and related works to planning on manifolds
Outline
Some definitions
please hang with me I promise it's relevant
Manifold definition
A manifold is a topological space that is locally Euclidean
chart of an open set (red) to R^2
everyone's favorite homeomorphism
Manifolds are homeomorphic if they have the same number of "holes"
Manifolds are classified by their fundamental group, which is the fundamental number of ways that you can "walk in a loop" on the object.
Spheres + other objects with "no hole" are null-homotopic, i.e. all loops you can make are homotopic* to a single point.
*homotopy: continuous deformation of a function instead of a space
Tori, klein bottles, and coffee mugs all have the fundamental group [a,b].
Riemannian manifold definition
A Riemannian manifold is a manifold that is also differentiable at all points (smooth) and equipped with a metric that maps vectors, angles, and distances onto the manifold surface
The Riemannian metric must define an inner product between vectors tangent to every point p
the "flat torus" is created by gluing edges of a square: this metric is "stretched" from Euclidean
Geodesics
Under a Riemannian metric, a geodesic is a "length-minimizing curve."
In Euclidean space, these are lines and rays. In different metrics (with different curvature, etc) this may not be the case.
If a subset of a RM is strongly geodesically convex (g-cvx), then the geodesic between any two points is unique. The convexity radius of a point x is how far point y can be before the geodesic starts going "the other way around."
Why this might be relevant / nice for robots
Related works
Planning on manifolds in C-space
Concept: There are different "modes" in a manipulation problem that embody different manifolds in C-space.
CBiRRT
These manifolds intersect at "bridges."
Example: Moving mug from table to table
Purple: torque constraints are valid.
Green: Mug (in hand) is on either table
Goal: Find path from section (a) to section (e), traveling along (c) with bridges at (b) and (d)
CBiRRT
Build two RRT graphs, one in the purple and one in the green, and try to connect their leaf nodes until the line between them in C-space is free
Key insight: seeing C-space as containing modes that can be transitioned between, and exploring densely within that mode in the meantime
Manifolds get approximated via dense sampling
Graph of Convex Sets (GCS)
Concept: Tile the C-space from start to goal with convex sets that are collision/constraint free, then solve for shortest path using MICP and optimize path within nodes
Key insight: Maintaining nearly-optimal performance by using local convexity to optimize path segments. Optimize for Euclidean distance.
Graph of Geodesically Convex Sets (GGCS)
Concept: Adapt GCS to work on flat* Riemannian manifolds by tiling with geodesically convex sets, solving instead to minimize the geodesic length between start and goal.
*flat RM: a manifold equipped with zero Riemann curvature (locally isometric to Euclidean space, distances and angles are preserved)
Key insight: Adapt to 360-revolute joints and mobile bases by generalizing to Riemannian manifold. Optimize for geodesic distance. A flat manifold is needed.
GGCS: Positive curvature induces nonconvexity
Riemann curvature: Paper analogy.
If the RM has positive Riemann curvature at any point (ex. SO(3)), then the Riemannian distance function will not be g-convex
This disallows solving with GGCS which is a shortest-path problem: the paper could not do ball-joints for example
some informal impressions
...and some amateur questions