\newabbreviation

gcsGCSTrajOptGraph of Convex Sets 11institutetext: Massachusetts Institute of Technology, Cambridge, MA 02139
{wernerpe,tcohn,rhjiang,tseyde,msimchow,russt,rus}@mit.edu

Faster Algorithms for Growing Collision-Free Convex Polytopes in Robot Configuration Space

Peter Werner    Thomas Cohn    Rebecca H. Jiang Denotes equal contribution.    Tim Seyde    Max Simchowitz    Russ Tedrake    Daniela Rus
Abstract

We propose two novel algorithms for constructing convex collision-free polytopes in robot configuration space. Finding these polytopes enables the application of stronger motion-planning frameworks such as trajectory optimization with Graphs of Convex Sets [1] and is currently a major roadblock in the adoption of these approaches. In this paper, we build upon IRIS-NP (Iterative Regional Inflation by Semidefinite & Nonlinear Programming) [2] to significantly improve tunability, runtimes, and scaling to complex environments. IRIS-NP uses nonlinear programming paired with uniform random initialization to find configurations on the boundary of the free configuration space. Our key insight is that finding near-by configuration-space obstacles using sampling is inexpensive and greatly accelerates region generation. We propose two algorithms using such samples to either employ nonlinear programming more efficiently (IRIS-NP2) or circumvent it altogether using a massively-parallel zero-order optimization strategy (IRIS-ZO). We also propose a termination condition that controls the probability of exceeding a user-specified permissible fraction-in-collision, eliminating a significant source of tuning difficulty in IRIS-NP. We compare performance across eight robot environments, showing that IRIS-ZO achieves an order-of-magnitude speed advantage over IRIS-NP. IRIS-NP2, also significantly faster than IRIS-NP, builds larger polytopes using fewer hyperplanes, enabling faster downstream computation. Website: https://sites.google.com/view/fastiris.

keywords:
collision-free motion planning, robot configuration space

1 Introduction

A major challenge in robot motion planning is the need to simultaneously consider task space, the world in which the robot physically resides, and configuration space, 𝒞𝒞\mathcal{C}caligraphic_C, the set of all possible robot configurations. The planner must produce a trajectory in the configuration space, but many constraints are formulated in the task space. Collision avoidance is particularly challenging, because even geometrically simple obstacles in task space can have intractably complicated descriptions when transformed into configuration space through the robot’s inverse kinematics. While there is work on constructing explicit configuration-space representations of workspace obstacles [3, 4, 5], these methods are intractable for the high degree-of-freedom (dof) robotic systems being used today.

The unavailability of obstacles’ configuration-space descriptions has not prevented the development of a rich literature of motion planning algorithms. Many approaches approximate the set of collision-free configurations (𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT) without explicitly constructing the individual obstacles. Interval analysis and cell decompositions can approximate 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT as the union of boxes [6][7, §5-6], but these methods are computationally intractable for high-dimensional configuration spaces. Perhaps the most widely used technique has been sampling-based planning, in which samples are drawn from 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT and connected into a graph structure.

These representations of 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT are popular due to their simplicity and versatility. However, they all struggle with the “curse of dimensionality” – the memory use of the representation may grow exponentially with the dimension of the configuration space. This has led the motion planning community to explore volumetric approximations of 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT such as the union of spheres used by Yang and LaValle [8] or the polytopes constructed by Deits and Tedrake [9]. In contrast to the grid- or sampling-based approaches, the individual sets used in these approaches describe free-space regions rather than points. Although these sets are harder to construct, they often enable a more concise approximation of 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT and yield convex (probabilistic) collision-avoidance constraints.

Motion planning algorithms such as trajectory optimization with  [1] leverage these representations to quickly produce high-quality, collision-free trajectories for high-dimensional robotic systems. However, the performance of these planners is highly dependent on the properties of the convex sets. It is desirable for these sets to have large volumes in order to reduce the number of sets required to approximate 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT, while retaining simple descriptions to make downstream planning more efficient. While creating perfectly collision-free sets is very costly, practical algorithms should provide a straightforward way to trade off between precision and runtime.

Recent results for planning with leverage the IRIS-NP algorithm [1, 10, 11, 12]. IRIS-NP takes in a collision-free seed configuration and attempts to construct a convex, collision-free polytope containing it. IRIS-NP, however, falls short of meeting the aforementioned criteria in practice. Its runtime is substantial and trading off between runtime and correctness (how much of the region is collision-free) proves challenging. IRIS-NP only terminates after failing to solve a user-specified number of nonlinear programs in succession, a time-consuming process dependent on this user-specified parameter acting as a proxy for correctness, when the actual relationship is unclear. Furthermore, these nonlinear programs must be run separately for every object in the scene, causing IRIS-NP to scale poorly with environment complexity.

In this paper, we improve upon IRIS-NP, focusing on a key subroutine that constructs hyperplanes to separate the seed point from obstacles. Our improvements leverage the fact that we can evaluate thousands of configurations for collisions in the time it takes to solve a single nonlinear optimization problem. We employ random sampling and collision checking to estimate the proportion of the polytope that is collision-free, providing a rigorous probabilistic certificate, and enabling intuitive tradeoffs between region correctness and computation times. We further present two algorithms that utilize sampling and collision checking to improve polytope generation: IRIS-ZO rapidly generates polytopes using a simple parallelized zero-order optimization strategy that requires no gradient computations and is easy to implement. IRIS-NP2 uses sampled collisions to seed nonlinear optimizations, increasing search success, and dramatically reducing the required number of programs. We demonstrate that both algorithms outperform IRIS-NP in terms of computation time and region quality.

2 Problem Formulation

In this section, we introduce the problem formulation and discuss the required inputs and provided outputs of our proposed algorithms.

We aim to generate large convex polytopes in configuration space whose fraction in collision is less than a user-provided constant. More precisely, let λ𝜆\lambdaitalic_λ denote the Lebesgue measure in the free configuration space 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT. Given a user-specified admissible fraction in collision ε(0,1)𝜀01\varepsilon\in(0,1)italic_ε ∈ ( 0 , 1 ) and confidence δ(0,1)𝛿01\delta\in(0,1)italic_δ ∈ ( 0 , 1 ), we will compute positive-volume convex polytopes 𝒞𝒞\mathcal{R}\subseteq\mathcal{C}caligraphic_R ⊆ caligraphic_C such that

𝐏𝐫[λ(𝒞free)λ()>ε]δ.𝐏𝐫delimited-[]𝜆superscript𝒞free𝜆𝜀𝛿\displaystyle\mathop{\bf Pr}\left[\frac{\lambda(\mathcal{R}\setminus\mathcal{C% }^{\mathrm{free}})}{\lambda(\mathcal{R})}>\varepsilon\right]\leq\delta.bold_Pr [ divide start_ARG italic_λ ( caligraphic_R ∖ caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT ) end_ARG start_ARG italic_λ ( caligraphic_R ) end_ARG > italic_ε ] ≤ italic_δ . (1)

Since obtaining a closed-form description of 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT is intractable for general robotic systems [13, §4.3.3],[7, §3], our algorithms utilize a task-space description. Such descriptions are readily provided via common robot description formats such as URDFs [14] or SDFs [15]. We expect the robot to be described as M𝑀Mitalic_M sets 𝒢iNtssubscript𝒢𝑖superscriptsubscript𝑁ts\mathcal{G}_{i}\subseteq\mathbb{R}^{N_{\text{ts}}}caligraphic_G start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⊆ blackboard_R start_POSTSUPERSCRIPT italic_N start_POSTSUBSCRIPT ts end_POSTSUBSCRIPT end_POSTSUPERSCRIPT representing collision geometries in task space. Here, Nts{2,3}subscript𝑁ts23N_{\text{ts}}\in\{2,3\}italic_N start_POSTSUBSCRIPT ts end_POSTSUBSCRIPT ∈ { 2 , 3 } is the dimension of the task space, and q𝒞𝑞𝒞q\in\mathcal{C}italic_q ∈ caligraphic_C is the configuration. The sets 𝒢isubscript𝒢𝑖\mathcal{G}_{i}caligraphic_G start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT are represented in their body frame Bisubscript𝐵𝑖B_{i}italic_B start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. Using the monogram notation of [16, §3.1], each 𝒢isubscript𝒢𝑖\mathcal{G}_{i}caligraphic_G start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is paired with a configuration-dependent rigid-body transformation XBiW(q)SE(Nts)superscriptsuperscript𝑋subscript𝐵𝑖𝑊𝑞𝑆𝐸subscript𝑁ts{}^{W}X^{B_{i}}(q)\in SE(N_{\text{ts}})start_FLOATSUPERSCRIPT italic_W end_FLOATSUPERSCRIPT italic_X start_POSTSUPERSCRIPT italic_B start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_q ) ∈ italic_S italic_E ( italic_N start_POSTSUBSCRIPT ts end_POSTSUBSCRIPT ) that defines the forward kinematics of 𝒢isubscript𝒢𝑖\mathcal{G}_{i}caligraphic_G start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT in the world frame W𝑊Witalic_W. We use the shorthand 𝒢i(q)subscript𝒢𝑖𝑞\mathcal{G}_{i}(q)caligraphic_G start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_q ) for 𝒢isubscript𝒢𝑖\mathcal{G}_{i}caligraphic_G start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT expressed in world frame:

𝒢i(q)={pWNts|pW=WXBi(q)pBi,pBi𝒢i}.subscript𝒢𝑖𝑞conditional-setsubscript𝑝𝑊superscriptsubscript𝑁tsformulae-sequencesuperscript𝑊subscript𝑝𝑊superscript𝑋subscript𝐵𝑖𝑞subscript𝑝subscript𝐵𝑖subscript𝑝subscript𝐵𝑖subscript𝒢𝑖\mathcal{G}_{i}(q)=\{p_{W}\in\mathbb{R}^{N_{\mathrm{ts}}}\,|\,p_{W}=^{W}\!\!X^% {B_{i}}(q)\cdot p_{B_{i}},\;p_{B_{i}}\in\mathcal{G}_{i}\}.caligraphic_G start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_q ) = { italic_p start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_N start_POSTSUBSCRIPT roman_ts end_POSTSUBSCRIPT end_POSTSUPERSCRIPT | italic_p start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT = start_POSTSUPERSCRIPT italic_W end_POSTSUPERSCRIPT italic_X start_POSTSUPERSCRIPT italic_B start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUPERSCRIPT ( italic_q ) ⋅ italic_p start_POSTSUBSCRIPT italic_B start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_B start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∈ caligraphic_G start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } .

We let 𝒢(q)={𝒢1(q),𝒢2(q),,𝒢M(q)}𝒢𝑞subscript𝒢1𝑞subscript𝒢2𝑞subscript𝒢𝑀𝑞\mathcal{G}(q)=\{\mathcal{G}_{1}(q),\mathcal{G}_{2}(q),\dots,\mathcal{G}_{M}(q)\}caligraphic_G ( italic_q ) = { caligraphic_G start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_q ) , caligraphic_G start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_q ) , … , caligraphic_G start_POSTSUBSCRIPT italic_M end_POSTSUBSCRIPT ( italic_q ) } be the set of all collision geometries.

For a configuration q𝑞qitalic_q, the system is in collision if there exists a valid111Typically, only a subset of all collision pairs is considered for practical reasons. pair of collision geometries 𝒜(q),(q)𝒢(q)𝒜𝑞𝑞𝒢𝑞\mathcal{A}(q),\mathcal{B}(q)\in\mathcal{G}(q)caligraphic_A ( italic_q ) , caligraphic_B ( italic_q ) ∈ caligraphic_G ( italic_q ) such that 𝒜(q)(q)𝒜𝑞𝑞\mathcal{A}(q)\cap\mathcal{B}(q)\neq\emptysetcaligraphic_A ( italic_q ) ∩ caligraphic_B ( italic_q ) ≠ ∅. For a valid collision pair 𝒜(q),(q)𝒢(q)𝒜𝑞𝑞𝒢𝑞\mathcal{A}(q),\mathcal{B}(q)\in\mathcal{G}(q)caligraphic_A ( italic_q ) , caligraphic_B ( italic_q ) ∈ caligraphic_G ( italic_q ), the corresponding configuration-space obstacle 𝒪𝒜(q)superscript𝒪𝒜𝑞\mathcal{O}^{\mathcal{A}\mathcal{B}}(q)caligraphic_O start_POSTSUPERSCRIPT caligraphic_A caligraphic_B end_POSTSUPERSCRIPT ( italic_q ) is implicitly defined as

𝒪𝒜(q):={q|𝒜(q)(q)}assignsuperscript𝒪𝒜𝑞conditional-set𝑞𝒜𝑞𝑞\displaystyle\mathcal{O}^{\mathcal{A}\mathcal{B}}(q):=\big{\{}q~{}|~{}\mathcal% {A}(q)\cap\mathcal{B}(q)\neq\emptyset\big{\}}caligraphic_O start_POSTSUPERSCRIPT caligraphic_A caligraphic_B end_POSTSUPERSCRIPT ( italic_q ) := { italic_q | caligraphic_A ( italic_q ) ∩ caligraphic_B ( italic_q ) ≠ ∅ } (2)

We avoid explicitly describing 𝒪𝒜superscript𝒪𝒜\mathcal{O}^{\mathcal{A}\mathcal{B}}caligraphic_O start_POSTSUPERSCRIPT caligraphic_A caligraphic_B end_POSTSUPERSCRIPT by using nonconvex task-space constraints, as in [2].

3 Related Works

Algorithms for computing positive-volume subsets of 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT can be divided into two categories: those which require explicit descriptions of the obstacles in configuration space, and those that can use implicit descriptions. Explicit descriptions of obstacles are generally only available for robots with simple kinematics (e.g. only prismatic joints).

If descriptions of all obstacles are given as convex sets, the original IRIS algorithm [9] can construct large collision-free polytopes about a seed points using a series of convex optimizations. Such descriptions can be obtained from arbitrary meshes via approximate convex decomposition techniques [17]. Wu et. al. [18] use a similar approach to grow convex polytopes around an existing trajectory, towards producing a shorter, collision-free path.

Due to the complex kinematics of robotic manipulators, obstacles in configuration space are frequently given by implicit descriptions. Yang and LaValle leveraged the kinematic Jacobian to relate motion in configuration-space and task space, allowing the construction of collision-free ellipsoids [8]. Unfortunately, large numbers of ellipsoids are required to approximate even simple, low-dimensional configuration spaces.

The original IRIS algorithm has been extended to handle such implicit descriptions in two ways. IRIS-NP uses nonlinear programming to find multiple locally separating hyperplanes to each obstacle, until the program becomes infeasible [2] – an imprecise termination condition that often leaves some obstacle volume in regions. Jaitly and Farzan modified IRIS-NP to use a nonuniform sampling strategy to seed the collision search program [10]. The other option is to use a rational reparametrization of the kinematics to construct regions that are rigorously certified to be collision-free with sums-of-squares programming [19]. However, such optimizations are computationally expensive, and the regions are grown in a stereographic projection of configuration space, which distorts distances.

Alternatively, [20] directly decomposes three-dimensional spaces into polytopes only using sample-based collision-checking. Unfortunately, this approach requires dense sampling of the configuration space to produce large sets which is intractable in all but the simplest cases.

4 Background on IRIS Algorithms

In this section, we review the key algorithms our approach builds upon. The IRIS algorithm [9] takes in a list of convex obstacles and produces a collision-free polytope around a seed point in the same space as these obstacles. IRIS-NP [2] generalizes IRIS to operate in configuration space using nonlinear programming.

4.1 IRIS with Convex Obstacles

IRIS [9], takes as input Nosubscript𝑁𝑜N_{o}italic_N start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT convex obstacles 𝒪isubscript𝒪𝑖\mathcal{O}_{i}caligraphic_O start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and a collision-free seed point s𝒞free𝑠superscript𝒞frees\in\mathcal{C}^{\mathrm{free}}italic_s ∈ caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT. IRIS then computes a large collision-free polytope by alternating between two convex optimizations: the SeparatingPlanes step, that produces a polytope conditioned on an initial ellipsoid, and the InscribedEllipsoid step, which updates the ellipsoid to the maximum-volume inscribed ellipsoid (MVIE) [21, §8.4.2] in the current polytope. These alternations guarantee the containment of the ellipsoid, and hence, guarantee that the volume of the MVIE is monotonically increasing across alternations. To understand the upcoming modifications to IRIS-NP, we review the SeparatingPlanes step in detail.

The SeparatingPlanes step starts with a collision-free ellipsoid \mathcal{E}caligraphic_E,

={x|(xc)TE(xc)1,E0},conditional-set𝑥formulae-sequencesuperscript𝑥𝑐𝑇𝐸𝑥𝑐1succeeds𝐸0\displaystyle\mathcal{E}=\{x~{}|~{}(x-c)^{T}E(x-c)\leq 1,~{}E\succ 0\},caligraphic_E = { italic_x | ( italic_x - italic_c ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_E ( italic_x - italic_c ) ≤ 1 , italic_E ≻ 0 } , (3)

that is centered at c𝑐citalic_c with a symmetric, positive-definite matrix E𝐸Eitalic_E. For each of the Nosubscript𝑁𝑜N_{o}italic_N start_POSTSUBSCRIPT italic_o end_POSTSUBSCRIPT obstacles, IRIS computes a hyperplane that separates c𝑐citalic_c from 𝒪isubscript𝒪𝑖\mathcal{O}_{i}caligraphic_O start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and passes through the point in 𝒪isubscript𝒪𝑖\mathcal{O}_{i}caligraphic_O start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT that lies closest to the ellipsoid center c𝑐citalic_c in the metric of the ellipsoid. This is done by solving

minimizexicE2subject toxi𝒪i,minimizesuperscriptsubscriptnormsubscript𝑥𝑖𝑐𝐸2subject tosubscript𝑥𝑖subscript𝒪𝑖\displaystyle\quad\mathop{\textbf{minimize}}~{}||x_{i}-c||_{E}^{2}~{}\mathop{% \textbf{subject to}}~{}x_{i}\in\mathcal{O}_{i},minimize | | italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT - italic_c | | start_POSTSUBSCRIPT italic_E end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT subject to italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ caligraphic_O start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , (4)

where xE2:=xTExassignsuperscriptsubscriptnorm𝑥𝐸2superscript𝑥𝑇𝐸𝑥||x||_{E}^{2}:=x^{T}Ex| | italic_x | | start_POSTSUBSCRIPT italic_E end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT := italic_x start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_E italic_x. Given the optimum xisuperscriptsubscript𝑥𝑖x_{i}^{\star}italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT, the hyperplane

i={x|aiTxbi=0},ai=E(xic),bi=aiTxiformulae-sequencesubscript𝑖conditional-set𝑥superscriptsubscript𝑎𝑖𝑇𝑥subscript𝑏𝑖0formulae-sequencesubscript𝑎𝑖𝐸superscriptsubscript𝑥𝑖𝑐subscript𝑏𝑖superscriptsubscript𝑎𝑖𝑇superscriptsubscript𝑥𝑖\displaystyle\mathcal{H}_{i}=\{x|a_{i}^{T}x-b_{i}=0\},\qquad a_{i}=E(x_{i}^{% \star}-c),~{}b_{i}=-a_{i}^{T}x_{i}^{\star}caligraphic_H start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = { italic_x | italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_x - italic_b start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 0 } , italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_E ( italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT - italic_c ) , italic_b start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = - italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT (5)

separates c𝑐citalic_c from 𝒪isubscript𝒪𝑖\mathcal{O}_{i}caligraphic_O start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and does not intersect \mathcal{E}caligraphic_E [9, §3.5]. This step is performed for each obstacle. Finally, the intersection of the halfspaces aiTxbisuperscriptsubscript𝑎𝑖𝑇𝑥subscript𝑏𝑖a_{i}^{T}x\leq b_{i}italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_x ≤ italic_b start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT yields an updated collision-free polytope.

4.2 Computing Separating Planes in Robot Configuration Space

Refer to captionRefer to caption𝒜(q)𝒜𝑞\mathcal{A}(q)caligraphic_A ( italic_q )(q)𝑞\mathcal{B}(q)caligraphic_B ( italic_q )Refer to captionRefer to caption𝒜(q)𝒜𝑞\mathcal{A}(q)caligraphic_A ( italic_q )(q)𝑞\mathcal{B}(q)caligraphic_B ( italic_q )t𝑡titalic_tt𝑡titalic_tRefer to captionminimizeqcE2 subject tot𝒜(q)(q),q𝒫(6)formulae-sequenceminimizesubscriptsuperscriptnorm𝑞𝑐2𝐸 subject to𝑡𝒜𝑞𝑞𝑞𝒫6\textbf{minimize}~{}||q-c||^{2}_{E}\textbf{ subject to}~{}t\in\mathcal{A}(q)% \cap\mathcal{B}(q),~{}q\in\mathcal{P}\quad(6)minimize | | italic_q - italic_c | | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_E end_POSTSUBSCRIPT subject to italic_t ∈ caligraphic_A ( italic_q ) ∩ caligraphic_B ( italic_q ) , italic_q ∈ caligraphic_P ( 6 )q,t𝑞𝑡q,titalic_q , italic_t𝒪𝒜superscript𝒪𝒜\mathcal{O}^{\mathcal{AB}}caligraphic_O start_POSTSUPERSCRIPT caligraphic_A caligraphic_B end_POSTSUPERSCRIPT×\Large\times×q𝑞qitalic_q𝒫𝒫\mathcal{P}caligraphic_P\mathcal{E}caligraphic_E
Figure 1: The nonlinear closest-point-in-obstacle program seeks the closest configuration q𝑞qitalic_q, under the ellipsoidal metric \mathcal{E}caligraphic_E, that lies inside of the current polytope 𝒫𝒫\mathcal{P}caligraphic_P and causes the collision pair 𝒜,𝒜\mathcal{A},~{}\mathcal{B}caligraphic_A , caligraphic_B to collide. Instead of constraining q𝒪𝒜𝑞superscript𝒪𝒜q\in\mathcal{O}^{\mathcal{AB}}italic_q ∈ caligraphic_O start_POSTSUPERSCRIPT caligraphic_A caligraphic_B end_POSTSUPERSCRIPT directly, we encode the collision constraint in task space with an auxiliary point t𝑡titalic_t that is constrained to lie in the in the intersection of both collision geometries. The picture on the right shows a feasible solution. A locally optimal solution to the program is indicated by the cross in the cartoon on the left.

IRIS requires convex obstacles to ensure the convexity of (4). However, configuration-space obstacles are generally non-convex. IRIS-NP [2] generalizes the closest-point-in-obstacle program (4) for the configuration-space obstacle 𝒪𝒜superscript𝒪𝒜\mathcal{O}^{\mathcal{A}\mathcal{B}}caligraphic_O start_POSTSUPERSCRIPT caligraphic_A caligraphic_B end_POSTSUPERSCRIPT. To avoid intractable descriptions of 𝒪𝒜superscript𝒪𝒜\mathcal{O}^{\mathcal{A}\mathcal{B}}caligraphic_O start_POSTSUPERSCRIPT caligraphic_A caligraphic_B end_POSTSUPERSCRIPT, the collision constraint is encoded in task space. Optimization variables represent a point in each of the collision geometries, t𝒜𝒜subscript𝑡𝒜𝒜t_{\mathcal{A}}\in\mathcal{A}italic_t start_POSTSUBSCRIPT caligraphic_A end_POSTSUBSCRIPT ∈ caligraphic_A, tsubscript𝑡t_{\mathcal{B}}\in\mathcal{B}italic_t start_POSTSUBSCRIPT caligraphic_B end_POSTSUBSCRIPT ∈ caligraphic_B, in their body frames, constrained by XB𝒜Wt𝒜=XBWtsuperscriptsuperscript𝑋subscript𝐵𝒜𝑊subscript𝑡𝒜superscriptsuperscript𝑋subscript𝐵𝑊subscript𝑡{}^{W}X^{B_{\mathcal{A}}}t_{\mathcal{A}}={{}^{W}}X^{B_{\mathcal{B}}}t_{% \mathcal{B}}start_FLOATSUPERSCRIPT italic_W end_FLOATSUPERSCRIPT italic_X start_POSTSUPERSCRIPT italic_B start_POSTSUBSCRIPT caligraphic_A end_POSTSUBSCRIPT end_POSTSUPERSCRIPT italic_t start_POSTSUBSCRIPT caligraphic_A end_POSTSUBSCRIPT = start_FLOATSUPERSCRIPT italic_W end_FLOATSUPERSCRIPT italic_X start_POSTSUPERSCRIPT italic_B start_POSTSUBSCRIPT caligraphic_B end_POSTSUBSCRIPT end_POSTSUPERSCRIPT italic_t start_POSTSUBSCRIPT caligraphic_B end_POSTSUBSCRIPT, to coincide in task space when transformed through the forward kinematics. For clarity, in this paper, we write this as requiring a single point t𝑡titalic_t to lie in the intersection of the associated pair of collision geometries in task space. This is shown in Fig. 1. In order to ensure that new hyperplanes address obstacles still relevant to the current polytope 𝒫𝒫\mathcal{P}caligraphic_P, IRIS-NP requires the found points in collision to lie inside 𝒫𝒫\mathcal{P}caligraphic_P. The full nonlinear program then reads:

minimizeq,tsubscriptminimize𝑞𝑡\displaystyle\mathop{\textbf{minimize}}_{q,t}minimize start_POSTSUBSCRIPT italic_q , italic_t end_POSTSUBSCRIPT qcE2subscriptsuperscriptnorm𝑞𝑐2𝐸\displaystyle\;\;||q-c||^{2}_{E}| | italic_q - italic_c | | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_E end_POSTSUBSCRIPT (6a)
subject tosubject to\displaystyle\mathop{\textbf{subject to}}subject to t𝒜(q)(q),q𝒫.formulae-sequence𝑡𝒜𝑞𝑞𝑞𝒫\displaystyle\;\;t\in\mathcal{A}(q)\cap\mathcal{B}(q),\;\;q\in\mathcal{P}.italic_t ∈ caligraphic_A ( italic_q ) ∩ caligraphic_B ( italic_q ) , italic_q ∈ caligraphic_P . (6b)

Because configuration-space obstacles are generally non-convex, multiple hyperplanes may be necessary to separate c𝑐citalic_c from 𝒪𝒜superscript𝒪𝒜\mathcal{O}^{\mathcal{A}\mathcal{B}}caligraphic_O start_POSTSUPERSCRIPT caligraphic_A caligraphic_B end_POSTSUPERSCRIPT.

Refer to captionq1subscript𝑞1q_{1}italic_q start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPTq2subscript𝑞2q_{2}italic_q start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT
Refer to caption
𝒪𝒪\mathcal{O}caligraphic_O𝒪𝒪\mathcal{O}caligraphic_Oq1subscript𝑞1q_{1}italic_q start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPTq2subscript𝑞2q_{2}italic_q start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT
Refer to caption
q1subscript𝑞1q_{1}italic_q start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPTq2subscript𝑞2q_{2}italic_q start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT
Figure 2: A visualization of an IRIS-NP region for a simple two dof system. Left: Two dof robot arm with a disk shaped obstacle. Two selected collision geometries of the system are highlighted in green and blue. Center: Configuration space of the system. The black regions correspond to collisions. Two of the configuration-space obstacles are highlighted in blue and green, corresponding to the configurations where the blue and green collision geometries intersect the disk obstacle. Right: Resulting region (red outline), when seeding at the red dot. The configuration in left frame is shown by the blue dot.

To construct the separating hyperplanes for the collision pair (𝒜,)𝒜(\mathcal{A},\mathcal{B})( caligraphic_A , caligraphic_B ), IRIS-NP repeatedly finds locally optimal solutions qsuperscript𝑞q^{\star}italic_q start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT to (6), adding the hyperplane

i={x|aiTqbi+Δ=0},ai=E(qc),bi=aiTq,formulae-sequencesubscript𝑖conditional-set𝑥superscriptsubscript𝑎𝑖𝑇superscript𝑞subscript𝑏𝑖Δ0formulae-sequencesubscript𝑎𝑖𝐸superscript𝑞𝑐subscript𝑏𝑖superscriptsubscript𝑎𝑖𝑇superscript𝑞\displaystyle\mathcal{H}_{i}=\{x|a_{i}^{T}q^{\star}-b_{i}+\Delta=0\},\qquad a_% {i}=E(q^{\star}-c),~{}b_{i}=-a_{i}^{T}q^{\star},caligraphic_H start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = { italic_x | italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_q start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT - italic_b start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + roman_Δ = 0 } , italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_E ( italic_q start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT - italic_c ) , italic_b start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = - italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_q start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT , (7)

to 𝒫𝒫\mathcal{P}caligraphic_P for each of the found points qsuperscript𝑞q^{\star}italic_q start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT in collision. More precisely, the polytope 𝒫𝒫\mathcal{P}caligraphic_P is updated by intersecting 𝒫𝒫\mathcal{P}caligraphic_P with the halfspace {q|aiTqbiΔ}conditional-set𝑞superscriptsubscript𝑎𝑖𝑇𝑞subscript𝑏𝑖Δ\{q|a_{i}^{T}q\leq b_{i}-\Delta\}{ italic_q | italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_q ≤ italic_b start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT - roman_Δ }, where Δ>0Δ0\Delta>0roman_Δ > 0 is a user-specified stepback. This stepback ensures that the collision configuration qsuperscript𝑞q^{\star}italic_q start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT is excluded from 𝒫𝒫\mathcal{P}caligraphic_P, and prevents the need for an infinite number of hyperplanes to exclude a non-convex obstacle. This is repeated until a fixed number of attempted solves of (6) fail; IRIS-NP interprets this failure as a suggestion that 𝒫𝒫\mathcal{P}caligraphic_P is sufficiently collision-free. However, note that due to the local nature of nonlinear programming, a single failed solve often provides inconclusive information about the feasibility of the overall program.

To summarize, the IRIS-NP strategy to approximating SeparatingPlanes in robot configuration space is to create a list of all valid collision pairs ordered by their task-space distance, and, for each collision pair, repeatedly find locally optimal solutions to (6) and update 𝒫𝒫\mathcal{P}caligraphic_P until a user-specified number of consecutive solve attempts fail. Through this procedure, IRIS-NP strives to make 𝒫𝒫\mathcal{P}caligraphic_P collision-free with respect to all valid collision pairs. See Fig. 2 for an illustration.

5 Improving the Separating Hyperplanes Routine

This section discusses how we leverage sampling to produce a rigorous termination condition for SeparatingPlanes in robot configuration space (see sec. 4.2), and two improved approaches for solving the step, yielding the new algorithms IRIS-ZO and IRIS-NP2, whose parameters are given in Tab. 1. Both of these new formulations follow the same alternation scheme as IRIS-NP, given in Alg. 1.

In particular, we still initialize the ellipsoid with a small ball of radius rstartsubscript𝑟startr_{\text{start}}italic_r start_POSTSUBSCRIPT start end_POSTSUBSCRIPT and employ the same overall termination conditions for the alternations as [2, §II.D], such as the seed point s𝑠sitalic_s no longer being contained in 𝒫𝒫\mathcal{P}caligraphic_P, reaching a maximum number of alternations, or achieving convergence of the ellipsoid volume. Our proposed termination condition for SeparatingPlanes decides when 𝒫𝒫\mathcal{P}caligraphic_P meets a correctness criterion based on polytope fraction in collision, not when to terminate the alternations. We discuss the proposed termination condition in Sec. 5.1, before discussing IRIS-ZO in Sec. 5.2, and IRIS-NP2 in Sec. 5.3.

Parameter Description IRIS-ZO IRIS-NP2
ε𝜀\varepsilonitalic_ε Admissible fraction of the region in collision
δ𝛿\deltaitalic_δ Max admissible uncertainty
ΔΔ\Deltaroman_Δ Configuration margin, i.e.“step back”
T𝑇Titalic_T Termination condition (as in [2])
Npsubscript𝑁𝑝N_{p}italic_N start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT Number of optimized particles per inner iteration
Nbsubscript𝑁𝑏N_{b}italic_N start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT Number of bisection steps
Nfsubscript𝑁𝑓N_{f}italic_N start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT Max number of hyperplanes added per inner iteration
Table 1: Glossary of algorithm parameters.
Input: Domain 𝒟𝒞𝒟𝒞\mathcal{D}\subseteq\mathcal{C}caligraphic_D ⊆ caligraphic_C, collision-free seed s𝒟𝑠𝒟s\in\mathcal{D}italic_s ∈ caligraphic_D, options O𝑂Oitalic_O.
Output: Polytope 𝒫𝒟𝒫𝒟\mathcal{P}\subseteq\mathcal{D}caligraphic_P ⊆ caligraphic_D
Algorithm: Ball(s,rstart)Ball𝑠subscript𝑟start\mathcal{E}\leftarrow\textsc{Ball}(s,r_{\text{start}})caligraphic_E ← Ball ( italic_s , italic_r start_POSTSUBSCRIPT start end_POSTSUBSCRIPT ), i1𝑖1i\leftarrow 1italic_i ← 1
while not done do
       𝒫SeparatingPlanes(𝒟,,i,O)𝒫SeparatingPlanes𝒟𝑖𝑂\mathcal{P}\leftarrow\textsc{SeparatingPlanes}(\mathcal{D},\mathcal{E},i,O)caligraphic_P ← SeparatingPlanes ( caligraphic_D , caligraphic_E , italic_i , italic_O ) \triangleright employs new term. cond.
       InscribedEllipsoid(𝒫)InscribedEllipsoid𝒫\mathcal{E}\leftarrow\textsc{InscribedEllipsoid}(\mathcal{P})caligraphic_E ← InscribedEllipsoid ( caligraphic_P )
       ii+1𝑖𝑖1i\leftarrow i+1italic_i ← italic_i + 1
end while
return 𝒫𝒫\mathcal{P}caligraphic_P
Algorithm 1 Template for the new IRIS algorithms

5.1 Termination Condition for the Separating Planes Step

In this section, we discuss a termination condition that allows a user to specify a desired bound on the fraction of the volume of the polytope 𝒫𝒫\mathcal{P}caligraphic_P in collision. In the following, let εtr:=λ(𝒫𝒞free)/λ(𝒫)assignsubscript𝜀𝑡𝑟𝜆𝒫superscript𝒞free𝜆𝒫\varepsilon_{tr}:=\lambda(\mathcal{P}\setminus\mathcal{C}^{\mathrm{free}})/% \lambda(\mathcal{P})italic_ε start_POSTSUBSCRIPT italic_t italic_r end_POSTSUBSCRIPT := italic_λ ( caligraphic_P ∖ caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT ) / italic_λ ( caligraphic_P ) denote the true fraction in collision of 𝒫𝒫\mathcal{P}caligraphic_P, where λ𝜆\lambdaitalic_λ is the Lebesgue measure over 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT, and ε𝜀\varepsilonitalic_ε is the specified admissible fraction in collision. A naive approach may be to sample uniformly in the polytope 𝒫𝒫\mathcal{P}caligraphic_P, estimate the fraction of 𝒫𝒫\mathcal{P}caligraphic_P in collision ε^^𝜀\hat{\varepsilon}over^ start_ARG italic_ε end_ARG to be equal to the fraction of these samples that are in collision, and terminate if ε^ε^𝜀𝜀\hat{\varepsilon}\leq\varepsilonover^ start_ARG italic_ε end_ARG ≤ italic_ε. However, each time we perform this check, there is some chance of underestimating εtrsubscript𝜀𝑡𝑟\varepsilon_{tr}italic_ε start_POSTSUBSCRIPT italic_t italic_r end_POSTSUBSCRIPT such that we incorrectly terminate with a polytope with εtr>εsubscript𝜀𝑡𝑟𝜀\varepsilon_{tr}>\varepsilonitalic_ε start_POSTSUBSCRIPT italic_t italic_r end_POSTSUBSCRIPT > italic_ε. The probability of false termination accumulates over the multiple evaluations of this condition.

Instead, we propose a statistical test that controls the probability of falsely claiming a polytope is sufficiently collision-free and terminating. For some user-specified uncertainty δ𝛿\deltaitalic_δ, a correct termination condition allows a region with εtr>εsubscript𝜀𝑡𝑟𝜀\varepsilon_{tr}>\varepsilonitalic_ε start_POSTSUBSCRIPT italic_t italic_r end_POSTSUBSCRIPT > italic_ε to be returned with probability at most δ𝛿\deltaitalic_δ. To accomplish this, we pair union bounds with a simple statistical test based on a Chernoff bound.

We sample a batch of M𝑀Mitalic_M points qi𝒫subscript𝑞𝑖𝒫q_{i}\in\mathcal{P}italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ caligraphic_P uniformly. We then assign Xi=0subscript𝑋𝑖0X_{i}=0italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 0 if qi𝒞freesubscript𝑞𝑖superscript𝒞freeq_{i}\in\mathcal{C}^{\mathrm{free}}italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT and Xi=1subscript𝑋𝑖1X_{i}=1italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 1 otherwise. Note that XiBernoulli(εtr)similar-tosubscript𝑋𝑖Bernoullisubscript𝜀𝑡𝑟X_{i}\sim\mathrm{Bernoulli}(\varepsilon_{tr})italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∼ roman_Bernoulli ( italic_ε start_POSTSUBSCRIPT italic_t italic_r end_POSTSUBSCRIPT ). The employed bound reads as follows.

Theorem 5.1 (Sample Bound).

Let εtrε0subscript𝜀𝑡𝑟𝜀0\varepsilon_{tr}\geq\varepsilon\geq 0italic_ε start_POSTSUBSCRIPT italic_t italic_r end_POSTSUBSCRIPT ≥ italic_ε ≥ 0, (Xi)Mi1Bernoulli(εtr)similar-tosubscriptsubscript𝑋𝑖𝑀𝑖1Bernoullisubscript𝜀𝑡𝑟(X_{i})_{M\geq i\geq 1}\sim\mathrm{Bernoulli}(\varepsilon_{tr})( italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT italic_M ≥ italic_i ≥ 1 end_POSTSUBSCRIPT ∼ roman_Bernoulli ( italic_ε start_POSTSUBSCRIPT italic_t italic_r end_POSTSUBSCRIPT ), with M2log(1/δ)/(ετ2)𝑀21𝛿𝜀superscript𝜏2M\geq 2\log(1/\delta)/(\varepsilon\tau^{2})italic_M ≥ 2 roman_log ( 1 / italic_δ ) / ( italic_ε italic_τ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ), for any fixed parameter τ>0𝜏0\tau>0italic_τ > 0, and δ(0,1]𝛿01\delta\in(0,1]italic_δ ∈ ( 0 , 1 ]. Define X¯M:=1Mi=1MXiassignsubscript¯𝑋𝑀1𝑀superscriptsubscript𝑖1𝑀subscript𝑋𝑖\bar{X}_{M}:=\frac{1}{M}\sum_{i=1}^{M}X_{i}over¯ start_ARG italic_X end_ARG start_POSTSUBSCRIPT italic_M end_POSTSUBSCRIPT := divide start_ARG 1 end_ARG start_ARG italic_M end_ARG ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_M end_POSTSUPERSCRIPT italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. It holds that

𝐏𝐫[X¯M(1τ)ε]δ.𝐏𝐫delimited-[]subscript¯𝑋𝑀1𝜏𝜀𝛿\displaystyle\mathop{\bf Pr}\left[\bar{X}_{M}\leq(1-\tau)\varepsilon\right]% \leq\delta.bold_Pr [ over¯ start_ARG italic_X end_ARG start_POSTSUBSCRIPT italic_M end_POSTSUBSCRIPT ≤ ( 1 - italic_τ ) italic_ε ] ≤ italic_δ . (8)

Proof Observe that 𝐏𝐫[X¯M(1τ)ε]𝐏𝐫[X¯M(1τ)εtr]𝐏𝐫delimited-[]subscript¯𝑋𝑀1𝜏𝜀𝐏𝐫delimited-[]subscript¯𝑋𝑀1𝜏subscript𝜀𝑡𝑟\mathop{\bf Pr}\left[\bar{X}_{M}\leq(1-\tau)\varepsilon\right]\leq\mathop{\bf Pr% }\left[\bar{X}_{M}\leq(1-\tau)\varepsilon_{tr}\right]bold_Pr [ over¯ start_ARG italic_X end_ARG start_POSTSUBSCRIPT italic_M end_POSTSUBSCRIPT ≤ ( 1 - italic_τ ) italic_ε ] ≤ bold_Pr [ over¯ start_ARG italic_X end_ARG start_POSTSUBSCRIPT italic_M end_POSTSUBSCRIPT ≤ ( 1 - italic_τ ) italic_ε start_POSTSUBSCRIPT italic_t italic_r end_POSTSUBSCRIPT ]. If τ>1𝜏1\tau>1italic_τ > 1 both sides evaluate to 0, and otherwise (1τ)ε(1τ)εtr1𝜏𝜀1𝜏subscript𝜀𝑡𝑟(1-\tau)\varepsilon\leq(1-\tau)\varepsilon_{tr}( 1 - italic_τ ) italic_ε ≤ ( 1 - italic_τ ) italic_ε start_POSTSUBSCRIPT italic_t italic_r end_POSTSUBSCRIPT. Next, we use the standard multiplicative Chernoff bound, 𝐏𝐫[X¯M(1τ)εtr]eMεtrτ2/2,𝐏𝐫delimited-[]subscript¯𝑋𝑀1𝜏subscript𝜀𝑡𝑟superscript𝑒𝑀subscript𝜀𝑡𝑟superscript𝜏22\mathop{\bf Pr}\left[\bar{X}_{M}\leq(1-\tau)\varepsilon_{tr}\right]\leq e^{-M% \varepsilon_{tr}\tau^{2}/2},bold_Pr [ over¯ start_ARG italic_X end_ARG start_POSTSUBSCRIPT italic_M end_POSTSUBSCRIPT ≤ ( 1 - italic_τ ) italic_ε start_POSTSUBSCRIPT italic_t italic_r end_POSTSUBSCRIPT ] ≤ italic_e start_POSTSUPERSCRIPT - italic_M italic_ε start_POSTSUBSCRIPT italic_t italic_r end_POSTSUBSCRIPT italic_τ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT / 2 end_POSTSUPERSCRIPT , e.g. given in [22, §A, Thm A.1.15], and use the fact that eMεtrτ2/2eMετ2/2superscript𝑒𝑀subscript𝜀𝑡𝑟superscript𝜏22superscript𝑒𝑀𝜀superscript𝜏22e^{-M\varepsilon_{tr}\tau^{2}/2}\leq e^{-M\varepsilon\tau^{2}/2}italic_e start_POSTSUPERSCRIPT - italic_M italic_ε start_POSTSUBSCRIPT italic_t italic_r end_POSTSUBSCRIPT italic_τ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT / 2 end_POSTSUPERSCRIPT ≤ italic_e start_POSTSUPERSCRIPT - italic_M italic_ε italic_τ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT / 2 end_POSTSUPERSCRIPT. We have now shown that 𝐏𝐫[X¯M(1τ)εtr]eMετ2/2𝐏𝐫delimited-[]subscript¯𝑋𝑀1𝜏subscript𝜀𝑡𝑟superscript𝑒𝑀𝜀superscript𝜏22\mathop{\bf Pr}\left[\bar{X}_{M}\leq(1-\tau)\varepsilon_{tr}\right]\leq e^{-M% \varepsilon\tau^{2}/2}bold_Pr [ over¯ start_ARG italic_X end_ARG start_POSTSUBSCRIPT italic_M end_POSTSUBSCRIPT ≤ ( 1 - italic_τ ) italic_ε start_POSTSUBSCRIPT italic_t italic_r end_POSTSUBSCRIPT ] ≤ italic_e start_POSTSUPERSCRIPT - italic_M italic_ε italic_τ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT / 2 end_POSTSUPERSCRIPT, and the final result follows from evaluating M=2log(1/δ)/(ετ2)𝑀21𝛿𝜀superscript𝜏2M=2\log(1/\delta)/(\varepsilon\tau^{2})italic_M = 2 roman_log ( 1 / italic_δ ) / ( italic_ε italic_τ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ).∎

Definition 5.2 (Unadaptive Test).

Let 𝖴𝗇𝖺𝖽𝖺𝗉𝗍𝗂𝗏𝖾𝖳𝖾𝗌𝗍(δ,ε,τ)𝖴𝗇𝖺𝖽𝖺𝗉𝗍𝗂𝗏𝖾𝖳𝖾𝗌𝗍𝛿𝜀𝜏\mathsf{UnadaptiveTest}(\delta,\varepsilon,\tau)sansserif_UnadaptiveTest ( italic_δ , italic_ε , italic_τ ) collect M=2log(1/δ)/ετ2𝑀21𝛿𝜀superscript𝜏2M=\lceil 2\log(1/\delta)/\varepsilon\tau^{2}\rceilitalic_M = ⌈ 2 roman_log ( 1 / italic_δ ) / italic_ε italic_τ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ⌉ samples (Xi)1iMsubscriptsubscript𝑋𝑖1𝑖𝑀(X_{i})_{1\leq i\leq M}( italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT 1 ≤ italic_i ≤ italic_M end_POSTSUBSCRIPT. 𝖴𝗇𝖺𝖽𝖺𝗉𝗍𝗂𝗏𝖾𝖳𝖾𝗌𝗍𝖴𝗇𝖺𝖽𝖺𝗉𝗍𝗂𝗏𝖾𝖳𝖾𝗌𝗍\mathsf{UnadaptiveTest}sansserif_UnadaptiveTest returns reject if X¯M>(1τ)εsubscript¯𝑋𝑀1𝜏𝜀\bar{X}_{M}>(1-\tau)\varepsilonover¯ start_ARG italic_X end_ARG start_POSTSUBSCRIPT italic_M end_POSTSUBSCRIPT > ( 1 - italic_τ ) italic_ε, and accept otherwise.

Corollary 5.3 (Controlling False Accept).

Suppose εtrεsubscript𝜀𝑡𝑟𝜀\varepsilon_{tr}\geq\varepsilonitalic_ε start_POSTSUBSCRIPT italic_t italic_r end_POSTSUBSCRIPT ≥ italic_ε, i.e. the true fraction in collision is higher than allowed, and we have (Xi)1iMBernoulli(εtr)similar-tosubscriptsubscript𝑋𝑖1𝑖𝑀Bernoullisubscript𝜀𝑡𝑟(X_{i})_{1\leq i\leq M}\sim\mathrm{Bernoulli}(\varepsilon_{tr})( italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) start_POSTSUBSCRIPT 1 ≤ italic_i ≤ italic_M end_POSTSUBSCRIPT ∼ roman_Bernoulli ( italic_ε start_POSTSUBSCRIPT italic_t italic_r end_POSTSUBSCRIPT ). Then, 𝖴𝗇𝖺𝖽𝖺𝗉𝗍𝗂𝗏𝖾𝖳𝖾𝗌𝗍(δ,ε,τ)𝖴𝗇𝖺𝖽𝖺𝗉𝗍𝗂𝗏𝖾𝖳𝖾𝗌𝗍𝛿𝜀𝜏\mathsf{UnadaptiveTest}(\delta,\varepsilon,\tau)sansserif_UnadaptiveTest ( italic_δ , italic_ε , italic_τ ) rejects with probability at least 1δ1𝛿1-\delta1 - italic_δ.

Thus, our test behaves as follows: Assume we are given a polytope 𝒫𝒫\mathcal{P}caligraphic_P, an admissible fraction in collision ε𝜀\varepsilonitalic_ε, an admissible target uncertainty δ𝛿\deltaitalic_δ, and a batch of M𝑀Mitalic_M uniform samples in 𝒫𝒫\mathcal{P}caligraphic_P with M=2log(1/δ)/(ετ2)𝑀21𝛿𝜀superscript𝜏2M=\lceil 2\log(1/\delta)/(\varepsilon\tau^{2})\rceilitalic_M = ⌈ 2 roman_log ( 1 / italic_δ ) / ( italic_ε italic_τ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) ⌉. If it holds that 𝒫𝒫\mathcal{P}caligraphic_P does not meet the specifications, i.e. εtrεsubscript𝜀𝑡𝑟𝜀\varepsilon_{tr}\geq\varepsilonitalic_ε start_POSTSUBSCRIPT italic_t italic_r end_POSTSUBSCRIPT ≥ italic_ε, then 𝖴𝗇𝖺𝖽𝖺𝗉𝗍𝗂𝗏𝖾𝖳𝖾𝗌𝗍(δ,ε,τ)𝖴𝗇𝖺𝖽𝖺𝗉𝗍𝗂𝗏𝖾𝖳𝖾𝗌𝗍𝛿𝜀𝜏\mathsf{UnadaptiveTest}(\delta,\varepsilon,\tau)sansserif_UnadaptiveTest ( italic_δ , italic_ε , italic_τ ) rejects 𝒫𝒫\mathcal{P}caligraphic_P with probability greater than 1δ1𝛿1-\delta1 - italic_δ; the test only falsely accepts 𝒫𝒫\mathcal{P}caligraphic_P with probability less than δ𝛿\deltaitalic_δ. Observe that if τ𝜏\tauitalic_τ decreases, we require many samples and the test becomes expensive. Conversely, if we increase τ𝜏\tauitalic_τ, the number of samples decreases, but the test starts rejecting every 𝒫𝒫\mathcal{P}caligraphic_P. In practice, we choose τ=0.5𝜏0.5\tau=0.5italic_τ = 0.5 to balance power and computational cost of the test.

Within SeparatingPlanes, for both algorithms, hyperplanes are iteratively added to 𝒫𝒫\mathcal{P}caligraphic_P until sufficient separation from the configuration-space obstacles is achieved. We refer to these iterations as inner iterations. In order to decide whether the polytope is sufficiently collision-free at the k𝑘kitalic_k-th inner iteration, we run 𝖴𝗇𝖺𝖽𝖺𝗉𝗍𝗂𝗏𝖾𝖳𝖾𝗌𝗍(δk,ε,τ)𝖴𝗇𝖺𝖽𝖺𝗉𝗍𝗂𝗏𝖾𝖳𝖾𝗌𝗍subscript𝛿𝑘𝜀𝜏\mathsf{UnadaptiveTest}(\delta_{k},\varepsilon,\tau)sansserif_UnadaptiveTest ( italic_δ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_ε , italic_τ ). We can bound the probability of SeparatingPlanes terminating falsely after K𝐾Kitalic_K iterations by the union bound

𝐏𝐫(“false accept” if λ(𝒫𝒞free)/λ(𝒫)>ε)k=1Kδk.𝐏𝐫“false accept” if 𝜆𝒫superscript𝒞free𝜆𝒫𝜀superscriptsubscript𝑘1𝐾subscript𝛿𝑘\displaystyle\mathop{\bf Pr}(\text{``false accept'' if }\lambda(\mathcal{P}% \setminus\mathcal{C}^{\mathrm{free}})/\lambda(\mathcal{P})>\varepsilon)\leq% \sum_{k=1}^{K}\delta_{k}.bold_Pr ( “false accept” if italic_λ ( caligraphic_P ∖ caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT ) / italic_λ ( caligraphic_P ) > italic_ε ) ≤ ∑ start_POSTSUBSCRIPT italic_k = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT italic_δ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT . (9)

In order to control the probability of falsely accepting, i.e. terminating, after an unknown number of inner iterations, in the case where a single outer iteration is to be run, we simply select δksubscript𝛿𝑘\delta_{k}italic_δ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT according to the sequence δk=6δ/(π2k2)subscript𝛿𝑘6𝛿superscript𝜋2superscript𝑘2\delta_{k}=6\delta/(\pi^{2}k^{2})italic_δ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 6 italic_δ / ( italic_π start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_k start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) for the k𝑘kitalic_k-th test, as this sequence sums to δ𝛿\deltaitalic_δ as k𝑘k\rightarrow\inftyitalic_k → ∞. If an unknown number of outer iterations (i.e. alternations between updating the polytope and the ellipsoid) are to be run, we must account for the additional UnadaptiveTest queries. In order for the probability of falsely accepting to sum to δ𝛿\deltaitalic_δ over infinite inner and outer iterations, we run 𝖴𝗇𝖺𝖽𝖺𝗉𝗍𝗂𝗏𝖾𝖳𝖾𝗌𝗍(δi,k,ε,τ)𝖴𝗇𝖺𝖽𝖺𝗉𝗍𝗂𝗏𝖾𝖳𝖾𝗌𝗍subscript𝛿𝑖𝑘𝜀𝜏\mathsf{UnadaptiveTest}(\delta_{i,k},\varepsilon,\tau)sansserif_UnadaptiveTest ( italic_δ start_POSTSUBSCRIPT italic_i , italic_k end_POSTSUBSCRIPT , italic_ε , italic_τ ), in the i𝑖iitalic_i-th outer iteration, after the k𝑘kitalic_k-th inner iteration, with δi,k:=36δ/(π4i2k2)assignsubscript𝛿𝑖𝑘36𝛿superscript𝜋4superscript𝑖2superscript𝑘2\delta_{i,k}:=36\delta/(\pi^{4}i^{2}k^{2})italic_δ start_POSTSUBSCRIPT italic_i , italic_k end_POSTSUBSCRIPT := 36 italic_δ / ( italic_π start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT italic_i start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_k start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ).

Note that this termination condition assumes uniform samples in 𝒫𝒫\mathcal{P}caligraphic_P. In practice, we generate approximately uniform samples using hit-and-run sampling [23] with a sufficiently high number of mixing steps.

5.2 The IRIS-ZO Algorithm

Refer to caption
Figure 3: One iteration of ZeroOrderSeparatingPlanes. Left: Configuration space with grey configuration-space obstacles. First, a batch of samples is drawn uniformly in the current polytope and checked for collisions. Center: The found collisions 𝒮colsubscript𝒮col\mathcal{S}_{\text{col}}caligraphic_S start_POSTSUBSCRIPT col end_POSTSUBSCRIPT, shown in red, are brought closer to the center of the ellipsoid using bisection. The updated candidate points 𝒮colsuperscriptsubscript𝒮col\mathcal{S}_{\text{col}}^{\star}caligraphic_S start_POSTSUBSCRIPT col end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT(red stars), are sorted by their weighted squared distance to the center of the ellipsoid under the ellipsoidal metric. Right - Hyperplanes are iteratively added for the non-redundant candidates in order. Note that the second candidate is made redundant by the first hyperplane, and therefore only four hyperplanes are added to 𝒫𝒫\mathcal{P}caligraphic_P.

The IRIS-ZO algorithm uses a simple parallelized zero-order optimization strategy to directly solve SeparatingPlanes in Alg. 1 for all collision pairs simultaneously. We call this subroutine ZeroOrderSeparatingPlanes and summarize it in Alg. 2. Fig. 3 illustrates how ZeroOrderSeparatingPlanes optimizes hyperplanes.

Input: Domain 𝒟𝒞𝒟𝒞\mathcal{D}\subseteq\mathcal{C}caligraphic_D ⊆ caligraphic_C, ellipsoid =(E,c)𝐸𝑐\mathcal{E}=(E,c)caligraphic_E = ( italic_E , italic_c ), current outer iteration i𝑖i\in\mathbb{N}italic_i ∈ blackboard_N.
Output: Polytope 𝒫𝒟𝒫𝒟\mathcal{P}\subseteq\mathcal{D}caligraphic_P ⊆ caligraphic_D satisfying (1) for (ε,δi)𝜀subscript𝛿𝑖(\varepsilon,\delta_{i})( italic_ε , italic_δ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ).
Algorithm: k0𝑘0k\leftarrow 0italic_k ← 0, 𝒫𝒟𝒫𝒟\mathcal{P}\leftarrow\mathcal{D}caligraphic_P ← caligraphic_D
while True  do
       𝒮UniformSample(𝒫,M)similar-to𝒮UniformSample𝒫𝑀\mathcal{S}\sim\textsc{UniformSample}(\mathcal{P},M)caligraphic_S ∼ UniformSample ( caligraphic_P , italic_M )
       𝒮colPointsInCollision(𝒮)subscript𝒮colPointsInCollision𝒮\mathcal{S}_{\text{col}}\leftarrow\textsc{PointsInCollision}(\mathcal{S})caligraphic_S start_POSTSUBSCRIPT col end_POSTSUBSCRIPT ← PointsInCollision ( caligraphic_S )
       If UnadaptiveTest(δi,k,ε,τ)UnadaptiveTestsubscript𝛿𝑖𝑘𝜀𝜏\textsc{UnadaptiveTest}(\delta_{i,k},\varepsilon,\tau)UnadaptiveTest ( italic_δ start_POSTSUBSCRIPT italic_i , italic_k end_POSTSUBSCRIPT , italic_ε , italic_τ ) returns accept then break𝑏𝑟𝑒𝑎𝑘breakitalic_b italic_r italic_e italic_a italic_k.
       𝒮colUpdatePointsViaBisection(𝒮col,c)superscriptsubscript𝒮colUpdatePointsViaBisectionsubscript𝒮col𝑐\mathcal{S}_{\text{col}}^{\star}\leftarrow\textsc{UpdatePointsViaBisection}(% \mathcal{S}_{\text{col}},c)caligraphic_S start_POSTSUBSCRIPT col end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT ← UpdatePointsViaBisection ( caligraphic_S start_POSTSUBSCRIPT col end_POSTSUBSCRIPT , italic_c )
       𝒫OrderAndPlaceNonRedudnantHyperplanes(𝒫,,𝒮col,Δ)𝒫OrderAndPlaceNonRedudnantHyperplanes𝒫superscriptsubscript𝒮colΔ\mathcal{P}\leftarrow\textsc{OrderAndPlaceNonRedudnantHyperplanes}(\mathcal{P}% ,\mathcal{E},\mathcal{S}_{\text{col}}^{\star},\Delta)caligraphic_P ← OrderAndPlaceNonRedudnantHyperplanes ( caligraphic_P , caligraphic_E , caligraphic_S start_POSTSUBSCRIPT col end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT , roman_Δ )
       kk+1𝑘𝑘1k\leftarrow k+1italic_k ← italic_k + 1
end while
return 𝒫𝒫\mathcal{P}caligraphic_P
Algorithm 2 ZeroOrderSeparatingPlanes

The ZeroOrderSeparatingPlanes step constructs a probabilistically collision-free polytope 𝒫𝒫\mathcal{P}caligraphic_P by repeating 5 steps until the statistical test passes. We take as input the domain 𝒟𝒟\mathcal{D}caligraphic_D, the current ellipsoid \mathcal{E}caligraphic_E, the current outer iteration i𝑖iitalic_i and options that are summarized in Tab. 1. Here, we assume that the center of the current ellipsoid is collision-free. We then initialize 𝒫𝒫\mathcal{P}caligraphic_P with the domain 𝒟={q|A𝒟qb𝒟}𝒟conditional-set𝑞subscript𝐴𝒟𝑞subscript𝑏𝒟\mathcal{D}=\{q|A_{\mathcal{D}}q\leq b_{\mathcal{D}}\}caligraphic_D = { italic_q | italic_A start_POSTSUBSCRIPT caligraphic_D end_POSTSUBSCRIPT italic_q ≤ italic_b start_POSTSUBSCRIPT caligraphic_D end_POSTSUBSCRIPT } (typically a polytope describing the joint limits).

The first step is to uniformly sample a batch of configurations 𝒮𝒮\mathcal{S}caligraphic_S in 𝒫𝒫\mathcal{P}caligraphic_P via hit-and-run sampling [23] with a batch size of max{M,Np}max𝑀subscript𝑁𝑝\text{max}\{M,N_{p}\}max { italic_M , italic_N start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT }. Then, we find all configurations 𝒮col𝒮subscript𝒮col𝒮\mathcal{S}_{\text{col}}\subseteq\mathcal{S}caligraphic_S start_POSTSUBSCRIPT col end_POSTSUBSCRIPT ⊆ caligraphic_S that are in collision by running a collision checker. These samples are used to check the termination condition by running the unadaptive test, returning 𝒫𝒫\mathcal{P}caligraphic_P if it accepts. More precisely, counting the collisions |𝒮colM|superscriptsubscript𝒮col𝑀|\mathcal{S}_{\text{col}}^{M}|| caligraphic_S start_POSTSUBSCRIPT col end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_M end_POSTSUPERSCRIPT | in the first M𝑀Mitalic_M samples in 𝒮𝒮\mathcal{S}caligraphic_S and accepting if |𝒮colM|M(1τ)εsuperscriptsubscript𝒮col𝑀𝑀1𝜏𝜀|\mathcal{S}_{\text{col}}^{M}|\leq M(1-\tau)\varepsilon| caligraphic_S start_POSTSUBSCRIPT col end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_M end_POSTSUPERSCRIPT | ≤ italic_M ( 1 - italic_τ ) italic_ε.

If the probabilistic test fails, we then add hyperplanes to the polytope. We produce candidate solutions for the closest point in collision program (6) based on the first Npsubscript𝑁pN_{\text{p}}italic_N start_POSTSUBSCRIPT p end_POSTSUBSCRIPT configurations q𝑞qitalic_q in 𝒮colsubscript𝒮col\mathcal{S}_{\text{col}}caligraphic_S start_POSTSUBSCRIPT col end_POSTSUBSCRIPT. For each q𝑞qitalic_q, we use bisection search to step toward the center c𝑐citalic_c of the ellipsoid, while ensuring that q𝑞qitalic_q is still in collision. In practice, we bisect a fixed number Nbsubscript𝑁𝑏N_{b}italic_N start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT of times and pick the configuration qsuperscript𝑞q^{\star}italic_q start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT that is closest to c𝑐citalic_c and still in collision. This yields our updated batch 𝒮superscript𝒮\mathcal{S}^{\star}caligraphic_S start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT. This strategy is guaranteed to converge to the boundary of an obstacle for each configuration q𝑞qitalic_q, but not necessarily the obstacle containing the original q𝑞qitalic_q or the one that is closest to c𝑐citalic_c. Because this optimization procedure is gradient-free and only relies on a collision checker, it is highly parallel and its performance scales with available computational resources. Finally, we order all candidates q𝒮colsuperscript𝑞subscriptsuperscript𝒮colq^{\star}\in\mathcal{S}^{\star}_{\text{col}}italic_q start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT ∈ caligraphic_S start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT col end_POSTSUBSCRIPT by ellipsoidal metric in ascending order. We repeatedly pick the closest candidate qsuperscript𝑞q^{\star}italic_q start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT in the polytope and add a hyperplane at that point tangent to the ellipsoid, until we hit Nfsubscript𝑁𝑓N_{f}italic_N start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT non-redundant hyperplanes or run out of candidates.

5.3 The IRIS-NP2 Algorithm

Refer to caption
Figure 4: Execution of NP2-SeparatingPlanes using the ray collision finder for GetConfigInCollision. Blue dots represent uniform samples in the polytope. Red dots represent the results of the corresponding discrete line searches. Stars represent the results of local nonlinear searches (6). On the right, the corresponding hyperplanes (green) form the updated polytope.

The IRIS-NP2 algorithm (Alg. 3) places hyperplanes more carefully than IRIS-ZO, increasing runtime in favor of larger regions with fewer hyperplanes, while still improving upon IRIS-NP runtimes. Like IRIS-NP, IRIS-NP2 uses nonlinear programming, solving (6) to find separating hyperplanes. In contrast to IRIS-NP, IRIS-NP2 always initializes NLP searches with feasible initial guesses q0subscript𝑞0q_{0}italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT, prioritizing initial guesses with lower ellipsoid metric q0cE2subscriptsuperscriptnormsubscript𝑞0𝑐2𝐸||q_{0}-c||^{2}_{E}| | italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT - italic_c | | start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_E end_POSTSUBSCRIPT. These initial guesses, along with the corresponding pair of bodies in collision, (𝒜,)𝒜(\mathcal{A},\mathcal{B})( caligraphic_A , caligraphic_B ) such that 𝒜(q)(q)𝒜𝑞𝑞\mathcal{A}(q)\cap\mathcal{B}(q)\neq\emptysetcaligraphic_A ( italic_q ) ∩ caligraphic_B ( italic_q ) ≠ ∅, are obtained via a subroutine GetConfigInCollision, two options for which are outlined at the end of this section.

Input: Domain 𝒟𝒞𝒟𝒞\mathcal{D}\subseteq\mathcal{C}caligraphic_D ⊆ caligraphic_C, ellipsoid =(E,c)𝐸𝑐\mathcal{E}=(E,c)caligraphic_E = ( italic_E , italic_c ), current outer iteration i𝑖i\in\mathbb{N}italic_i ∈ blackboard_N
Output: Polytope 𝒫𝒟𝒫𝒟\mathcal{P}\subseteq\mathcal{D}caligraphic_P ⊆ caligraphic_D satisfying (1) for (ε,δi)𝜀subscript𝛿𝑖(\varepsilon,\delta_{i})( italic_ε , italic_δ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ).
Algorithm: k0𝑘0k\leftarrow 0italic_k ← 0, 𝒫𝒟𝒫𝒟\mathcal{P}\leftarrow\mathcal{D}caligraphic_P ← caligraphic_D
repeat
      i0𝑖0i\leftarrow 0italic_i ← 0, nf0subscript𝑛𝑓0n_{f}\leftarrow 0italic_n start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ← 0
       while i<Np𝑖subscript𝑁𝑝i<N_{p}italic_i < italic_N start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT and nf<Nfsubscript𝑛𝑓subscript𝑁𝑓n_{f}<N_{f}italic_n start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT < italic_N start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT do
             q0,(𝒜,)subscript𝑞0𝒜absentq_{0},(\mathcal{A},\mathcal{B})\leftarrowitalic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , ( caligraphic_A , caligraphic_B ) ←GetConfigInCollision
             if q0subscript𝑞0q_{0}italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT is not None then
                  qsuperscript𝑞absentq^{*}\leftarrowitalic_q start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ← solve (6) with initial guess q0subscript𝑞0q_{0}italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT, with pair (𝒜,)𝒜(\mathcal{A},\mathcal{B})( caligraphic_A , caligraphic_B )
                   a=E(qc)E(qc)𝑎𝐸superscript𝑞𝑐norm𝐸superscript𝑞𝑐a=\frac{E(q^{*}-c)}{||E(q^{*}-c)||}italic_a = divide start_ARG italic_E ( italic_q start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT - italic_c ) end_ARG start_ARG | | italic_E ( italic_q start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT - italic_c ) | | end_ARG, b=aqΔ𝑏superscript𝑎topsuperscript𝑞Δb=a^{\top}q^{*}-\Deltaitalic_b = italic_a start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT italic_q start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT - roman_Δ
                   Add hyperplane defined by (a,b)𝑎𝑏(a,b)( italic_a , italic_b ) to 𝒫𝒫\mathcal{P}caligraphic_P
                   nfnf+1subscript𝑛𝑓subscript𝑛𝑓1n_{f}\leftarrow n_{f}+1italic_n start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT ← italic_n start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT + 1
             end if
            ii+1𝑖𝑖1i\leftarrow i+1italic_i ← italic_i + 1
       end while
      kk+1𝑘𝑘1k\leftarrow k+1italic_k ← italic_k + 1
      
until  𝖴𝗇𝖺𝖽𝖺𝗉𝗍𝗂𝗏𝖾𝖳𝖾𝗌𝗍(δi,k,ε,τ)𝖴𝗇𝖺𝖽𝖺𝗉𝗍𝗂𝗏𝖾𝖳𝖾𝗌𝗍subscript𝛿𝑖𝑘𝜀𝜏\mathsf{UnadaptiveTest}(\delta_{i,k},\varepsilon,\tau)sansserif_UnadaptiveTest ( italic_δ start_POSTSUBSCRIPT italic_i , italic_k end_POSTSUBSCRIPT , italic_ε , italic_τ ) returns accept ;
return 𝒫𝒫\mathcal{P}caligraphic_P
Algorithm 3 NP2-SeparatingPlanes

This strategy of always using a feasible initial guess presents a major advantage over IRIS-NP, as IRIS-NP spends substantial time in NLP solves that return infeasible. In part, this property of IRIS-NP is due to initializing NLP searches with uniform samples q0subscript𝑞0q_{0}italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT, in the hopes that the nonlinear program solver can pull those q0subscript𝑞0q_{0}italic_q start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT not in collision into collision to return feasible optimized solutions qsuperscript𝑞q^{\star}italic_q start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT. In practice, this frequently fails even when the polytope does contain collisions. Furthermore, as discussed in Sec. 4.2, IRIS-NP requires that many consecutive NLP solves return infeasible in order to terminate. Assessing termination readiness via the Bernoulli trials is faster, allowing the NLP, which is slow to solve, to be used only to construct hyperplanes. Another advantage of this strategy is it scales better with environment complexity. IRIS-NP must solve a minimum number of NLPs for every valid collision pair. This quantity grows quickly with scene complexity, while many of these pairs never actually collide, resulting in infeasible NLPs and wasted computation time. IRIS-NP2 only considers pairs known to collide, and hence solves only feasible NLPs. We present two options for GetConfigInCollision, with differing costs and benefits.

For the Greedy Collision Finder, all samples from the Bernoulli trial that are in collision are aggregated and sorted in ascending order of distances to the center point of the ellipsoid, w.r.t. the ellipsoidal metric. (In effect, Npsubscript𝑁𝑝N_{p}italic_N start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT is dynamically set to equal the number of collision particles.) When queried, this subroutine returns the sample with the next-lowest ellipsoid metric, until all in-collision samples from the Bernoulli trial have been exhausted. If a sample is not in the polytope (due to new hyperplanes from an earlier sample), it would no longer be a feasible initial guess for Equation 6, so None is returned.

The Ray Collision Finder (Fig. 4) prioritizes the quality of the constructed hyperplanes via an inexpensive line search to find configurations in collision near the ellipsoid center. The ray collision finder takes a subset of the samples drawn for the Bernoulli trial, and, for each sample, steps outward in discrete steps along the ray from the ellipsoid center through the sample. The first step in collision is returned. If a step has exited the polytope, None is returned. This discrete search serves a purpose similar to the objective of (6): to limit the hyperplanes needed, we desire to add hyperplanes at the closest (in the ellipsoid metric) points in collision. Because the discrete search is not restricted to a specific collision pair, it may find configuration-space obstacles closer than (6). In contrast to the bisection search performed by IRIS-ZO, this line search sweeps monotonically outward from the ellipsoid center in an attempt to find the closest collision; the IRIS-ZO bisection search steps inward from the sample, finding a point on a boundary of a configuration-space obstacle. (The ray may pass through several such boundaries.)

6 Experiments

To evaluate our proposed changes to the IRIS-NP algorithm, we designed a comprehensive benchmark. This benchmark includes eight different robotic systems, described in Fig. 5. For each benchmark, we select 10 seed configurations manually, placing the robot in a variety of configurations in its environment. Each experiment is run for a single outer iteration, to isolate performance differences in the SeparatingPlanes steps.

Refer to caption1. FlipperRefer to caption2. UR3Refer to caption3. UR3WristRefer to caption4. IIWAShelfRefer to caption5. 4ShelvesRefer to caption6. IIWABinsRefer to caption7. 2IIWAsRefer to caption8. Allegro Domain Flipper UR3 UR3Wrist IIWAShelf 4Shelves IIWABins 2IIWAs Allegro # dof 3 5 6 7 7 7 14 15 # col. pairs 137 142 142 172 302 212 264 187 vol(𝒞free)/vol(𝒞)volsuperscript𝒞freevol𝒞\text{vol}(\mathcal{C}^{\mathrm{free}})/\text{vol}(\mathcal{C})vol ( caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT ) / vol ( caligraphic_C ) 0.149 0.268 0.254 0.480 0.117 0.577 0.536 0.261
Figure 5: The systems we use to benchmark our algorithms, along with the number of degrees of freedom, number of collision pairs, and the ratio of the volume of the free configuration space relative to the entire configuration space 𝒞𝒞\mathcal{C}caligraphic_C. The ratio vol(𝒞free)/vol(𝒞)volsuperscript𝒞freevol𝒞\text{vol}(\mathcal{C}^{\mathrm{free}})/\text{vol}(\mathcal{C})vol ( caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT ) / vol ( caligraphic_C ) is estimated with 107superscript10710^{7}10 start_POSTSUPERSCRIPT 7 end_POSTSUPERSCRIPT samples uniformly drawn from 𝒞𝒞\mathcal{C}caligraphic_C.

We compare the approaches for two different settings: a “fast” setting, where we request the region to be 90%percent9090\%90 % collision-free, with 90%percent9090\%90 % confidence, and a “precise” setting, where we request the region to be 99%percent9999\%99 % collision-free with 95%percent9595\%95 % confidence. IRIS-NP cannot take these arguments directly, so we hand-tune the required number of consecutive infeasible solves to roughly match the average collision fractions achieved by our algorithms. For IRIS-NP2, we tuned the algorithm hyperparameters of Tab. 1 on a per-experiment basis.

Environment Time [s] Num Hyperplanes Rel Volume Frac in collision
NP ZO Greedy Ray NP ZO Greedy Ray NP ZO Greedy Ray NP ZO Greedy Ray
Fast Flipper 0.168 0.025 0.045 0.847 22.7 15.8 13.6 13.4 1.0 0.627 2.167 2.017 0.040 0.013 0.022 0.016
UR3 0.994 0.041 0.113 0.221 41.6 27.8 25.4 22.7 1.0 0.971 3.598 3.296 0.040 0.029 0.020 0.028
UR3Wrist 1.227 0.050 0.168 0.948 51.4 34.0 30.8 26.5 1.0 3.824 5.376 1.663 0.029 0.031 0.023 0.023
IIWAShelf 1.345 0.091 0.442 0.633 77.3 47.2 32.7 31.0 1.0 6.196 8.73e3 16.249 0.068 0.034 0.027 0.052
4Shelves 1.317 0.092 0.313 0.845 62.9 46.9 35.1 30.3 1.0 0.139 1.388 1.724 0.102 0.038 0.025 0.033
IIWABins 1.536 0.074 0.627 0.861 84.0 44.3 33.4 31.1 1.0 542.228 4.99e4 604.161 0.092 0.035 0.027 0.021
2IIWAs 20.482 2.024 62.060 46.527 242.1 246.2 77.7 65.7 1.0 0.0008 316.777 95.052 0.061 0.057 0.037 0.055
Allegro 2.277 0.264 0.101 0.106 75.3 83.7 41.9 39.6 1.0 0.036 152.040 60.554 0.0007 0.052 0.015 0.033
Precise Flipper 1.002 0.172 0.152 0.269 26.1 17.8 14.3 14.4 1.0 0.621 1.169 1.236 0.003 0.001 0.001 0.0004
UR3 5.222 0.304 0.325 0.642 52.9 44.5 28.1 27.0 1.0 3.698 13.656 2.301 0.003 0.002 0.002 0.003
UR3Wrist 4.664 0.359 0.359 0.410 61.8 56.1 31.5 28.6 1.0 3.811 183.345 4.959 0.002 0.003 0.001 0.002
IIWAShelf 11.261 0.787 1.087 3.008 126.3 92.0 41.0 37.8 1.0 763.826 7.817 9.260 0.004 0.003 0.002 0.004
4Shelves 25.315 0.699 0.838 1.002 85.2 81.3 40.5 36.1 1.0 0.124 1.592 1.672 0.012 0.003 0.002 0.003
IIWABins 15.487 0.763 0.997 2.188 128.6 98.6 44.1 39.6 1.0 504.123 603.431 92.268 0.003 0.003 0.002 0.003
2IIWAs 202.913 43.194 84.973 77.181 395.1 738.7 90.8 82.7 1.0 0.0003 37.507 48.984 0.006 0.005 0.004 0.004
Allegro 2.164 7.455 0.499 1.271 75.3 290.6 45.5 42.2 1.0 0.005 8.237 20.434 0.0007 0.005 0.001 0.003
Table 2: Statistics averaged over all 10 seed points. “Rel Volume” corresponds to the volumes of the MVIE, normalized by that of IRIS-NP. For the “Fast” settings, on average, IRIS-ZO was 15.5 times faster than IRIS-NP with 1.4 times fewer hyperplanes. IRIS-NP2 with the greedy strategy was 6.55 times faster with 2.1 times fewer hyperplanes, and with the ray strategy was 4.2 times faster with 2.3 times fewer hyperplanes. For the “Precise” settings, IRIS-ZO was 14 times faster than IRIS-NP with around the same number of hyperplanes. IRIS-NP2 with the greedy strategy was 12.3 times faster with 2.4 times fewer hyperplanes, and with the ray strategy was 8 times faster with 2.7 times fewer hyperplanes.
Refer to caption
Refer to caption
Refer to caption
Figure 6: The mean and standard deviation of the runtime and hyperplane counts across ten trials per environment for the 8 seed configurations shown in Fig. 5.

To mitigate the effects of randomness of the algorithms in our comparisons, we constructed regions around each seed point 10 times. This yields 100 trials per robot environment, or 800 total, for each algorithm. For the parallelized components of the algorithms, an Intel Core i9-10850K (10 cores, 20 threads) is used. All convex programs are solved using MOSEK [24] and the nonlinear programs are solved using SNOPT [25]. The volume of the maximum-volume inscribed ellipsoid is used as a proxy for polytope volume. We report these volumes normalized by the averaged IRIS-NP results.

For each algorithm and robotic system, we include the runtime, number of hyperplanes, volume, and proportion of the region in collision, averaged over all trials on all seed points in Tab. 2. Region volume and number of hyperplanes are both dependent on the seed configuration – if the robot is in a narrow passageway, the region may be small, and if it is near obstacles, many hyperplanes may be required. In Fig. 6, we visualize the runtime and hyperplane data across the 10 trials for the 8 corresponding seed configurations shown in Fig. 5. Our algorithms show significant improvements relative to IRIS-NP in runtime and number of hyperplanes. In particular, IRIS-ZO gains approximately an order-of-magnitude time advantage with a comparable number of hyperplanes. While IRIS-NP2 is slower than IRIS-ZO, it generally remains faster than IRIS-NP and uses significantly fewer hyperplanes.

7 Discussion

In recent years, region generation has posed a major roadblock for the adoption of new motion planning approaches such as . Toward alleviating this roadblock, we have presented significant improvements to the IRIS-NP algorithm, reducing its runtime, making it more user-friendly, and increasing the quality of the resulting regions. We derive a probabilistic test for the proportion of a given region that is collision-free, allowing the user to more directly trade off algorithmic precision and speed. We have also presented new approaches to the SeparatingPlanes subroutine, which show significantly better performance than IRIS-NP, while consistently achieving the user-specified collision-free threshold. IRIS-NP2 is generally faster and requires fewer hyperplanes to define the polytopes. IRIS-ZO is easy to implement is around 15 times faster and often uses fewer hyperplanes than IRIS-NP, although the regions are smaller. Furthermore, these new approaches scale more favorably with the complexity of the environment. As they are deployed in environments with increasingly many collision geometries, we anticipate the performance gap will grow even further. Besides the quantitative improvements, the hyperparameters are straightforward to tune and have clear effects on the behavior of the algorithm.

There are myriad directions for future research. Better parallelization is a promising direction to speed up both new approaches – beyond CPU-level multithreading, SIMD instructions [26] and GPU programming [27] have shown great promise for collision-checking. In particular, we regard better hardware usage for IRIS-ZO particularly promising, as both the sampling and the particle updates are trivially parallelizeable and currently bottle-necked by the number of threads in the CPU. Furthermore, using samples that are almost in-collision to initialize IRIS-NP2 might aid in finding small obstacles when requesting regions with a very small proportion in collision. Finally, we have focused on runtime and number of hyperplanes as our primary objectives, but more closely examining the relationship between the generated regions and the downstream motion planning algorithms will be essential for further improving the results. In particular, we aim to investigate how to improve efficient cover generation as in [28].

7.0.1 Acknowledgements

We thank Ravi Gondhalekar and Alexandre Amice for their feedback. This work was supported by Amazon.com, PO No. 2D-06310236, the MIT Quest for Intelligence, the Toyota Research Institute, and The Charles Stark Draper Laboratory, Inc., where Rebecca Jiang is a Draper Scholar and Ravi Gondhalekar is an employee.

References

  • [1] T. Marcucci, M. Petersen, D. von Wrangel, and R. Tedrake, “Motion planning around obstacles with convex optimization,” Science robotics, vol. 8, no. 84, p. 7843, 2023.
  • [2] M. Petersen and R. Tedrake, “Growing convex collision-free regions in configuration space using nonlinear programming,” arXiv preprint arXiv:2303.14737, 2023.
  • [3] T. Lozano-Perez, Spatial planning: A configuration space approach.   Springer, 1990.
  • [4] C. Bajaj and M.-S. Kim, “Generation of configuration space obstacles: Moving algebraic surfaces,” The International Journal of Robotics Research, vol. 9, no. 1, pp. 92–112, 1990.
  • [5] J. Pan and D. Manocha, “Efficient configuration space construction and optimization for motion planning,” Engineering, vol. 1, no. 1, pp. 046–057, 2015.
  • [6] L. Jaulin, “Path planning using intervals and graphs,” Reliable computing, vol. 7, no. 1, pp. 1–15, 2001.
  • [7] J.-C. Latombe, Robot motion planning.   Springer Science & Business Media, 2012, vol. 124.
  • [8] L. Yang and S. M. LaValle, “The sampling-based neighborhood graph: An approach to computing and executing feedback motion strategies,” IEEE Transactions on Robotics and Automation, vol. 20, no. 3, pp. 419–432, 2004.
  • [9] R. Deits and R. Tedrake, “Computing large convex regions of obstacle-free space through semidefinite programming,” in Algorithmic Foundations of Robotics XI.   Springer, 2015, pp. 109–124.
  • [10] A. Jaitly and S. Farzan, “Paamp: Polytopic action-set and motion planning for long horizon dynamic motion planning via mixed integer linear programming,” arXiv preprint arXiv:2403.10924, 2024.
  • [11] T. Cohn, M. Petersen, M. Simchowitz, and R. Tedrake, “Non-Euclidean Motion Planning with Graphs of Geodesically-Convex Sets,” in Proceedings of Robotics: Science and Systems, Daegu, Republic of Korea, July 2023.
  • [12] T. Cohn, S. Shaw, M. Simchowitz, and R. Tedrake, “Constrained bimanual planning with analytic inverse kinematics,” 2024 IEEE International Conference on Robotics and Automation (ICRA), pp. 6935–6942, 2024.
  • [13] S. M. LaValle, Planning algorithms.   Cambridge university press, 2006.
  • [14] ROS.org, “Urdf - unified robot description format,” 2024, accessed: 2024-06-09. [Online]. Available: https://wiki.ros.org/urdf
  • [15] O. S. R. Foundation, “Sdf specification,” 2024, accessed: 2024-06-09. [Online]. Available: https://sdformat.org
  • [16] R. Tedrake, Robotic Manipulation, 2023. [Online]. Available: https://manipulation.mit.edu
  • [17] K. Mamou and F. Ghorbel, “A simple and efficient approach for 3d mesh approximate convex decomposition,” in 2009 16th IEEE international conference on image processing (ICIP).   IEEE, 2009, pp. 3501–3504.
  • [18] Y. Wu, I. Spasojevic, P. Chaudhari, and V. Kumar, “Optimal convex cover as collision-free space approximation for trajectory generation,” arXiv preprint arXiv:2406.09631, 2024.
  • [19] H. Dai, A. Amice, P. Werner, A. Zhang, and R. Tedrake, “Certified polyhedral decompositions of collision-free configuration space,” The International Journal of Robotics Research, 2023.
  • [20] A. Sarmientoy, R. Murrieta-Cidz, and S. Hutchinsony, “A sample-based convex cover for rapidly finding an object in a 3-d environment,” in Proceedings of the 2005 IEEE ICRA.   IEEE, 2005, pp. 3486–3491.
  • [21] S. Boyd and L. Vandenberghe, Convex optimization.   Cambridge uni. press, 2004.
  • [22] N. Alon and J. H. Spencer, The probabilistic method.   John Wiley & Sons, 2016.
  • [23] L. Lovász, “Hit-and-run mixes fast,” Mathematical programming, vol. 86, 1999.
  • [24] M. ApS, “MOSEK Optimization Suite,” 2019.
  • [25] P. E. Gill, W. Murray, and M. A. Saunders, “Snopt: An sqp algorithm for large-scale constrained optimization,” SIAM review, vol. 47, no. 1, pp. 99–131, 2005.
  • [26] T. Tan, R. Weller, and G. Zachmann, “Simdop: Simd optimized bounding volume hierarchies for collision detection,” in 2019 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).   IEEE, 2019, pp. 7256–7263.
  • [27] C. Lauterbach, M. Garland, S. Sengupta, D. Luebke, and D. Manocha, “Fast bvh construction on gpus,” in Computer Graphics Forum.   Wiley Online Library, 2009.
  • [28] P. Werner, A. Amice, T. Marcucci, D. Rus, and R. Tedrake, “Approximating robot configuration spaces with few convex sets using clique covers of visibility graphs,” 2024 IEEE International Conference on Robotics and Automation (ICRA), pp. 10 359–10 365, 2024.