Potential Improvements for the IRIS Algorithm in C-Space

Peter Werner, Thomas Cohn, Rebecca Jiang

March 15, 2024

IRIS-NP

p

IRIS-NP

p

IRIS-NP

p

SNOPT

 

IRIS-NP

p

IRIS-NP

p
p

IRIS-NP

p

The Current GCS Workflow

Make Regions with IRIS-NP

Motion Planning with GCS

Motion Planning with FPP

GCS-A*

Nonconvex Variants of GCS

GCS as a Policy

GCS + MCTS

Make Regions with C-IRIS

Clique Seeding

Everything Built on IRIS-NP

Shortcomings of IRIS-NP

  1. Slow Runtime


     
  2. Poor Scaling with World Complexity



     
  3. Not Actually Collision-Free

Initializing SNOPT is hard, and many programs must be run to imply collision-free

Need to run programs for every collision pair, so potentially quadratic runtime in number of geometries

Mostly in corners of regions. Due to pathologies and simply scale issues

Key Idea: Collision Checking a Single Configuration is Fast!

Algorithm 1: GreedyIRIS

Intuition: It's hard for SNOPT to push an infeasible initialization to infeasibility

 

Key idea: Only start SNOPT at points known to be in collision by drawing samples

 

Algorithm 1 -- GreedyIRIS

p

Algorithm 1 -- GreedyIRIS

p

Algorithm 1 -- GreedyIRIS

p

Algorithm 1 -- GreedyIRIS

p

Algorithm 1 -- GreedyIRIS

p

Algorithm 1 -- GreedyIRIS

p

Algorithm 1: GreedyIRIS

Some notes...

 

  • Need an okay starting polytope
    • Run an iteration of IRIS-NP with very weak settings
  • Batch structure -- repeatedly draw batches of samples until all are collision-free
  • Run a SNOPT program for each collision pair in a particle (may not be the best option)

Algorithm 2 -- FastIRIS

  • Goals:
    • Make Iris scale with compute
    • Exploit parallelism
  • Approach:
    • Use simple heuristic to solve closest point program

Algorithm 2 -- FastIRIS

p

sample

Algorithm 2 -- FastIRIS

p

find collisions

Algorithm 2 -- FastIRIS

p

parallel bisection search

Algorithm 2 -- FastIRIS

p

rank samples by distance under the metric

1.
2.
3.
4.
5.
7.
6.

Algorithm 2 -- FastIRIS

p
1.
2.
3.

 place faces in order

4.

Algorithm 2 -- FastIRIS

p

resample and repeat

Algorithm 2 -- FastIRIS

p

repeat until no collisions found

Algorithm 2 -- Sensitivity 

p

Quality of candidates matters

Algorithm 2 -- Sensitivity 

p

 smaller regions, more faces

Algorithm 3 -- RayIRIS

Raycasting to find collisions

p

Preliminary Results

Iris benchmarks

2

3

5

6

7

7

7

14

DoF Increasing

DoF Increasing

Preliminary Results

Preliminary Results

Algorithm Settings IrisInConfigurationSpace

Preliminary Results

Algorithm Settings GreedyIris

Preliminary Results

Algorithm Settings FastIris

Preliminary Results

HARD TO CALIBRATE

A Spectrum of Algorithms

Faster

Smaller Volume More Faces

Slower

Larger Volume

Fewer Faces

FastIRIS

RayIRIS ?

IRIS-NP

GreedyIRIS

C-IRIS

Some Other Ideas

  • Use signed distance to optimize instead of pairwise collision programs. (Hongkai has worked on this.)
  • Use samples along SNOPT path as new initial guesses.
  • Use machine learning?
  • Global optimization. (The IRIS hyperplanes feel a lot like the cuts used in branch-and-cut.)