License: CC BY-SA 4.0
arXiv:2310.02875v2 [cs.RO] 26 Feb 2024

Approximating Robot Configuration Spaces with few Convex Sets
using Clique Covers of Visibility Graphs

Peter Werner, Alexandre Amice, Tobia Marcucci, Daniela Rus, and Russ Tedrake All authors are with CSAIL, MIT. The corresponding author is P.Werner, [email protected]. This work was supported in part by Amazon.com PO# #2D-06310236, Air Force Research Laboratory FA8750-19-2-1000, Office of Naval Research (ONR), Awards No. N00014-22-1-2121 and N00014-18-1-2830, and the Toyota Research Institute (TRI).
Abstract

Many computations in robotics can be dramatically accelerated if the robot configuration space is described as a collection of simple sets. For example, recently developed motion planners rely on a convex decomposition of the free space to design collision-free trajectories using fast convex optimization. In this work, we present an efficient method for approximately covering complex configuration spaces with a small number of polytopes. The approach constructs a visibility graph using sampling and generates a clique cover of this graph to find clusters of samples that have mutual line of sight. These clusters are then inflated into large, full-dimensional, polytopes. We evaluate our method on a variety of robotic systems and show that it consistently covers larger portions of free configuration space, with fewer polytopes, and in a fraction of the time compared to previous methods.

I Introduction

Approximating complex sets as a union of simpler sets is a common pre-processing method for accelerating downstream computations. Familiar examples include clustering methods for high-dimensional data in machine learning [1, §2.5.2], approximating complex shapes via triangular meshes to facilitate graphics rendering [2], and describing geometries as unions of convex sets for efficient collision checking [3]. Similarly, recently developed methods for robot motion planning rely on (conservative) decompositions of the environment into convex sets to design smooth trajectories around obstacles using efficient convex optimization [4, 5, 6, 7, 8]. These motion planners have demonstrated great potential, and performance frequently superior to widely used sampling-based methods [5]. However, the required decomposition of the environment is a daunting task, often demanding a substantial degree of human supervision. This is largely due to the fact that the collision-free subset of a robot’s configuration space (𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT) is intractable to describe analytically [9, §3], even if the robot’s task space is relatively simple (e.g. see Figure 1).

In [10], the authors proposed an algorithm called IRIS to quickly compute large convex subsets of 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT. This method takes as input a “seed” configuration and inflates a large polytopic region around this seed point using convex optimization. While originally limited to the case of convex obstacles, the IRIS algorithm has been recently extended to handle nonconvex obstacles and the complicated configuration spaces of multi-link robot manipulators [11, 12, 13]. The polytopes generated with these algorithms have been used with great success for motion planning in high dimensions [5, 6, 7]. Nevertheless, seeding collections of these regions so that they cover diverse areas of 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT remains a challenge: manual seeding is tedious, and naively growing regions around randomly chosen configurations leads to very inefficient decompositions.

Refer to caption
Figure 1: The collision-free configuration space of a simple robot is decomposed into 7 polytopes, achieving around 92% coverage. Left: Robot with with 3 revolute joints q1subscript𝑞1q_{1}italic_q start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT to q3subscript𝑞3q_{3}italic_q start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT. Center: Visualization of the full collision-free configuration space 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT, given by the interior of the green mesh. Right: Approximate convex cover of 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT generated with the proposed method. See also: Website, video.
Refer to caption
Figure 2: Sketch of the proposed algorithm on a simple example. First four figures: Samples are drawn uniformly from 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT to build a visibility graph. The visibility graph is decomposed into five cliques. The principal directions and locations of the cliques are used to direct a region-inflation algorithm. Remaining two figures: This process is repeated until sufficient coverage is obtained by drawing new samples from the remaining free space, and repeating the previous steps.

In this paper, we propose an efficient method for the approximate decomposition of robot configuration spaces into few large convex sets, without any human supervision. A guiding illustration is shown in Figure 2.

Similar to some motion-planning algorithms [14, 15], our method constructs a visibility graph by sampling points in 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT. The vertices of this graph are collision-free samples, and the edges connect pairs of points with mutual line of sight. The visibility graph contains rich information about the geometry of 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT. In particular, our key observation is that, as the number of samples grows, fully connected subgraphs of this visibility graph (so-called “cliques”) tend to represent better and better approximations of collision-free convex sets in the underlying configuration space. Our approach is to decompose the visibility graph into a small collection of large cliques. We then circumscribe the points in each clique with an ellipsoid by solving a convex-optimization problem. The center and the principal directions of these ellipsoids are subsequently used to initialize an inflation algorithm analogous to IRIS.

Through a large variety of experiments, we show that our algorithm outperforms previous approaches for seeding and inflating convex regions; both in terms of runtimes and number of regions used to cover the space. As an example, for a robot arm with seven degrees of freedom, and many task-space obstacles, our method requires approximately 46464646 regions and one hour of computations to cover 70%percent7070\%70 % of 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT, whereas the approach outlined in [12] requires ten times more regions and is ten times slower.

II Related Works

Finding the minimum convex cover of a set is a hard problem; even in the case of two-dimensional polygons, the problem is hard to solve exactly and approximately.111More formally, the problem is \exists\mathbb{R}∃ blackboard_R-complete [16], and therefore NP-hard, as well as APX-hard [17]. Nonetheless, finding low-cardinality convex covers of high-dimensional nonconvex spaces (both polygonal and non-polygonal) remains a problem of practical importance, for which a variety of approximate algorithms have been devised. In the following, we group these algorithms into two categories: ones that require explicit (e.g., analytic) descriptions of 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT, and ones that only use implicit descriptions of 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT (and are hence suitable for most complex configuration spaces). In this literature review, we particularly focus on IRIS algorithms, due to their efficient scaling to high dimensions.

II-A Algorithms Requiring Explicit Obstacle Descriptions

The recent work [18] constructs low-cardinality convex covers of two-dimensional polygons by first decomposing them into small convex pieces (for example triangles), and then by joining the pieces based on a small clique cover of an approximated set-to-set visibility graph. Similarly, the visibility graph of polygons is directly used to construct convex covers in [19]. In three dimensions the approach in [20] can be used to decompose 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT into sets that are approximately convex, provided that a triangle mesh description is available. Finally, if the configuration-space obstacles are explicitly described as convex sets, the original IRIS algorithm from [10] can be used to inflate a large polytope in 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT around a specified seed point in arbitrary dimensions.

II-B Algorithms Allowing Implicit Obstacle Descriptions

Most commonly, the explicit descriptions of the obstacles are only available in task space; while the collision-free configuration space 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT is defined implicitly through the robot’s inverse kinematics, and is intractable to describe analytically [9, §3]. Some works have focused on approximately describing the configuration space obstacles, rather than 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT [21, 22, 23]. Conversely, multiple works have studied directly obtaining convex decompositions of 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT. In [24] visibility graphs and kernels are used to compute convex decompositions of three-dimensional spaces via sample-based collision checking. However, their method represents the convex sets through their vertices, and is inefficient in higher dimensions. In the family of IRIS algorithms, two methods can deal with implicit descriptions of 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT: IRIS-NP [12] and C-IRIS [11, 13]. The former extends the original IRIS method [10] to arbitrary configuration spaces using nonlinear programming and inflates polytopes that are collision-free with high probability. The latter grows polytopes that are rigorously certified to be collision-free using a rational reparametrization of the configuration space and sums-of-squares programming.

III Convex Covers, Visibility, and Cliques

In this section, we formally define our main problem: approximating the free configuration space 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT with a low-cardinality collection of convex sets. We also briefly review the main technical tools that we will use in the development of our algorithm, namely, visibility graphs and clique covers.

III-A Problem Statement

Let 𝒞freensuperscript𝒞freesuperscript𝑛\mathcal{C}^{\mathrm{free}}\subseteq\mathbb{R}^{n}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT ⊆ blackboard_R start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT be the collision-free subset of an n𝑛nitalic_n-dimensional configuration space, which we assume to have a well-defined finite volume. Let also α𝛼\alphaitalic_α be a constant in the interval (0,1]01(0,1]( 0 , 1 ].

Definition 1

An α𝛼\alphaitalic_α-approximate convex cover of 𝒞freesuperscript𝒞normal-free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT is a collection of potentially overlap** convex sets 1,,N𝒞freesubscript1normal-…subscript𝑁superscript𝒞normal-free\mathcal{R}_{1},\ldots,\mathcal{R}_{N}\subseteq\mathcal{C}^{\mathrm{free}}caligraphic_R start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , caligraphic_R start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT ⊆ caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT whose union covers at least an α𝛼\alphaitalic_α-fraction of the volume of 𝒞freesuperscript𝒞normal-free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT:

𝐯𝐨𝐥(i=1Ni)α𝐯𝐨𝐥(𝒞free).𝐯𝐨𝐥superscriptsubscript𝑖1𝑁subscript𝑖𝛼𝐯𝐨𝐥superscript𝒞free\mathop{\bf vol}\left(\bigcup_{i=1}^{N}\mathcal{R}_{i}\right)\geq\alpha\mathop% {\bf vol}\left(\mathcal{C}^{\mathrm{free}}\right).bold_vol ( ⋃ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT caligraphic_R start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) ≥ italic_α bold_vol ( caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT ) .

Our problem is to find an α𝛼\alphaitalic_α-approximate convex cover of minimum cardinality N𝑁Nitalic_N.

Problem: Min α𝛼\alphaitalic_α-ApproxConvexCover

minimizeNsubject tominimize𝑁subject to\displaystyle\mathop{\text{minimize}}N\mathop{\text{subject to}}minimize italic_N subject to 𝐯𝐨𝐥(i=1Ni)α𝐯𝐨𝐥(𝒞free),𝐯𝐨𝐥superscriptsubscript𝑖1𝑁subscript𝑖𝛼𝐯𝐨𝐥superscript𝒞free\displaystyle\mathop{\bf vol}\left(\bigcup_{i=1}^{N}\mathcal{R}_{i}\right)\geq% \alpha\mathop{\bf vol}\left(\mathcal{C}^{\mathrm{free}}\right),bold_vol ( ⋃ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT caligraphic_R start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) ≥ italic_α bold_vol ( caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT ) , i𝒞free,i=1,,N.formulae-sequencesubscript𝑖superscript𝒞freefor-all𝑖1𝑁\displaystyle\mathcal{R}_{i}\subseteq\mathcal{C}^{\mathrm{free}},\quad\forall i% =1,\dots,N.caligraphic_R start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ⊆ caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT , ∀ italic_i = 1 , … , italic_N .

In practice, we are interested in solving this problem for values of α𝛼\alphaitalic_α that are sufficiently high to accomplish a task of interest, such as collision-free motion planning, but not so large that the cardinality N𝑁Nitalic_N grows unreasonably. Indeed, when α=1𝛼1\alpha=1italic_α = 1, Min α𝛼\alphaitalic_α-ApproxConvexCover might not even have a finite solution.222For α<1𝛼1\alpha<1italic_α < 1 a finite solution is guaranteed to exist. This can be seen by computing the volume of 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT with a lower Darboux integral over finite hyperrectangle partitions.

III-B Visibility Graphs and Clique Covers

Our algorithm is based on the idea that clusters of points that see each other can approximate convex subsets of 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT. Here, we formally define the notion of visibility as well as introduce some formal tools from graph theory to guide the development of our algorithm.

We begin by defining visibility in 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT.

Definition 2

Two points q,q𝒞free𝑞superscript𝑞normal-′superscript𝒞normal-freeq,q^{\prime}\in\mathcal{C}^{\mathrm{free}}italic_q , italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT are said to see each other if the entire line connecting them is collision-free: tq+(1t)q𝒞free𝑡𝑞1𝑡superscript𝑞normal-′superscript𝒞normal-freetq+(1-t)q^{\prime}\in\mathcal{C}^{\mathrm{free}}italic_t italic_q + ( 1 - italic_t ) italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT for all t[0,1]𝑡01t\in[0,1]italic_t ∈ [ 0 , 1 ]. Notice that this definition is symmetric in q𝑞qitalic_q and qsuperscript𝑞normal-′q^{\prime}italic_q start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT.

We are now ready to define the visibility graph of a set of collision-free configurations.

Definition 3

The visibility graph of a set of points q1,,qK𝒞freesubscript𝑞1normal-…subscript𝑞𝐾superscript𝒞normal-freeq_{1},\dots,q_{K}\in\mathcal{C}^{\mathrm{free}}italic_q start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_q start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT ∈ caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT is an undirected graph 𝒢=(𝒱,)𝒢𝒱\mathcal{G}=(\mathcal{V},\mathcal{E})caligraphic_G = ( caligraphic_V , caligraphic_E ) with vertices 𝒱={1,,K}𝒱1normal-…𝐾\mathcal{V}=\{1,\ldots,K\}caligraphic_V = { 1 , … , italic_K }, and with an edge {i,j}𝑖𝑗\{i,j\}\in\mathcal{E}{ italic_i , italic_j } ∈ caligraphic_E for every pair of distinct points qisubscript𝑞𝑖q_{i}italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and qjsubscript𝑞𝑗q_{j}italic_q start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT that see each other.

We show an example of a visibility graph in Figure 2. We note that clusters of points that can all see each other form a clique in the visibility graph.

Definition 4

Let 𝒢=(𝒱,)𝒢𝒱\mathcal{G}=(\mathcal{V},\mathcal{E})caligraphic_G = ( caligraphic_V , caligraphic_E ) be an undirected graph. A clique 𝒦𝒦\mathcal{K}caligraphic_K is a subset of 𝒱𝒱\mathcal{V}caligraphic_V where every pair of vertices is connected by an edge.

Note that if a cluster of configurations can be placed in the same convex set, then these configurations must form a clique in the visibility graph. The second panel in Figure 2 highlights a collection of five cliques in the visibility graph that have this property. These five cliques form what is called a clique cover; which resembles a discrete analog of a convex cover.

Definition 5

A collection 𝒯𝒯\mathcal{T}caligraphic_T of cliques 𝒦1,,𝒦Nsubscript𝒦1normal-…subscript𝒦𝑁\mathcal{K}_{1},\dots,\mathcal{K}_{N}caligraphic_K start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , caligraphic_K start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT is a clique cover of a graph 𝒢𝒢\mathcal{G}caligraphic_G if every vertex in the graph is contained in at least one clique.

A natural discrete counterpart of the minimum convex cover is the MinCliqueCover problem, where we look for the minimum number of cliques N𝑁Nitalic_N required to cover a graph. Our observation is that, as the number of samples in the visibility graph increases, a minimum clique cover typically does an increasingly better job of approximating a minimum convex cover. Limitations of this analogy are discussed in §VI.

MinCliqueCover is NP-complete [25]. There exist heuristics, such as [26], that attempt to solve MinCliqueCover directly. Alternatively, one can greedily construct a clique cover by repeatedly eliminating the largest clique. The problem of finding the largest clique in a graph is called MaxClique. Even though this problem is also NP-complete [25], it is often substantially faster to solve in practice. We found the latter approach with exact solutions of MaxClique to perform particularly well on our problem instances.

IV Algorithm

We now present our Visibility Clique Cover (VCC) algorithm, which consists of four main steps. First, we randomly sample a collection of points in 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT and construct their visibility graph. Second, we compute an approximate clique cover of the graph. Third, we summarize the geometric information of each clique using an ellipsoid. Fourth, we use these ellipsoids to initialize a polytope-inflation algorithm analogous to IRIS. This process is repeated until the generated set of polytopes \mathcal{R}caligraphic_R covers a given fraction α𝛼\alphaitalic_α of 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT. This procedure is summarized in Algorithm 1, and the remainder of this section details the individual steps.

Input :  α𝛼\alphaitalic_α: coverage threshold K𝐾Kitalic_K: number of samples per iteration sminsubscript𝑠mins_{\text{min}}italic_s start_POSTSUBSCRIPT min end_POSTSUBSCRIPT: minimum clique size
Output :  \mathcal{R}caligraphic_R: set of convex polytopes approximating 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT
Algorithm: \mathcal{R}\leftarrow\emptysetcaligraphic_R ← ∅ while CheckCoverage()αCheckCoverage𝛼\textsc{CheckCoverage}(\mathcal{R})\leq\alphaCheckCoverage ( caligraphic_R ) ≤ italic_α do
       𝒢SampleVisibilityGraph(K,)𝒢SampleVisibilityGraph𝐾\mathcal{G}~{}\leftarrow\textsc{SampleVisibilityGraph}(K,\mathcal{R})caligraphic_G ← SampleVisibilityGraph ( italic_K , caligraphic_R )
       𝒯TruncatedCliqueCover(𝒢,smin)𝒯TruncatedCliqueCover𝒢subscript𝑠min\mathcal{T}\leftarrow\textsc{TruncatedCliqueCover}(\mathcal{G},s_{\text{min}})caligraphic_T ← TruncatedCliqueCover ( caligraphic_G , italic_s start_POSTSUBSCRIPT min end_POSTSUBSCRIPT )
       MinVolumeEllipsoids(𝒯)MinVolumeEllipsoids𝒯\mathcal{B}\leftarrow\textsc{MinVolumeEllipsoids}(\mathcal{T})caligraphic_B ← MinVolumeEllipsoids ( caligraphic_T )
       InflatePolytopes()InflatePolytopes\mathcal{R}\leftarrow\mathcal{R}\cup\textsc{InflatePolytopes}(\mathcal{B})caligraphic_R ← caligraphic_R ∪ InflatePolytopes ( caligraphic_B )
end while
return \mathcal{R}caligraphic_R
Algorithm 1 VisibilityCliqueCover

IV-A Sampling the Visibility Graph

At the beginning of every iteration of VCC, the subroutine SampleVisibilityGraph samples K𝐾Kitalic_K configurations uniformly at random from the portion of 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT that is not already covered by the polytopes in \mathcal{R}caligraphic_R. Then, it constructs the visibility graph 𝒢=(𝒱,)𝒢𝒱\mathcal{G}=(\mathcal{V},\mathcal{E})caligraphic_G = ( caligraphic_V , caligraphic_E ), by checking for collisions along the line segments connecting each pair of sampled configurations. Currently, this is performed using sampling-based collision checkers. Exact visibility checking is possible using methods such as [27][28, §5.3.4], or [29].

IV-B Truncated Clique Cover

In the subroutine TruncatedCliqueCover we approximately cover the visibility graph with a collection of cliques, each of which contain at least sminsubscript𝑠s_{\min}italic_s start_POSTSUBSCRIPT roman_min end_POSTSUBSCRIPT vertices. We construct this approximate cover 𝒯𝒯\mathcal{T}caligraphic_T greedily, by solving a sequence of MaxClique problems. Each instance of MaxClique is formulated as an integer linear program

maximizemaximize\displaystyle\mathop{\text{maximize}}\quadmaximize i=1Kbisuperscriptsubscript𝑖1𝐾subscript𝑏𝑖\displaystyle\sum_{i=1}^{K}b_{i}∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT italic_b start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT (1a)
subject tosubject to\displaystyle\mathop{\text{subject to}}\quadsubject to bi+bj1,subscript𝑏𝑖subscript𝑏𝑗1\displaystyle b_{i}+b_{j}\leq 1,italic_b start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + italic_b start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ≤ 1 , {i,j}¯,for-all𝑖𝑗¯absent\displaystyle\forall\{i,j\}\in\bar{}\mathcal{E},∀ { italic_i , italic_j } ∈ over¯ start_ARG end_ARG caligraphic_E , (1b)
bi{0,1},subscript𝑏𝑖01\displaystyle b_{i}\in\{0,1\},italic_b start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ { 0 , 1 } , i=1,,K.for-all𝑖1𝐾\displaystyle\forall i=1,\ldots,K.∀ italic_i = 1 , … , italic_K . (1c)

A binary decision variable bisubscript𝑏𝑖b_{i}italic_b start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is added for each vertex. The role of this variable is to take unit value if and only if vertex i𝑖iitalic_i is included in the clique. The set ¯¯absent\bar{}\mathcal{E}over¯ start_ARG end_ARG caligraphic_E contains all the pairs of vertices {i,j}𝑖𝑗\{i,j\}{ italic_i , italic_j } such that ij𝑖𝑗i\neq jitalic_i ≠ italic_j and {i,j}𝑖𝑗\{i,j\}\notin\mathcal{E}{ italic_i , italic_j } ∉ caligraphic_E. Therefore the first constraint ensures that two vertices are selected only if they share an edge.

After solving the integer program (IV-B), the clique found is removed from the graph and added to the clique cover. Since small cliques are not informative, we stop this iterative process when the largest clique left in the graph is smaller than a given threshold sminsubscript𝑠s_{\min}italic_s start_POSTSUBSCRIPT roman_min end_POSTSUBSCRIPT. For this reason, our clique covers will be truncated, i.e., generally, not all vertices will be contained in one of the cliques.

IV-C Summarizing Cliques with Ellipsoids

In the subroutine MinVolumeEllipsoids, we solve a semidefinite program to enclose each clique with an ellipsoid of minimum volume [30, §8.4.1]. This collection \mathcal{B}caligraphic_B of ellipsoids allows us to summarize the geometry of each clique with a point and a set of principal directions, which are then used to initialize the region-inflation algorithm. For the upcoming computations, it is necessary that the center of each ellipsoid is not in collision; if this is not the case, we recenter the ellipsoid around the vertex in the clique that is closest to its center.

IV-D Inflating Polytopes

Refer to caption
Refer to caption
Refer to caption
Figure 3: The growth direction of an IRIS region can be guided by the initial distance metric. IRIS is initialized with three ellipsoids with same center but different principal axes, resulting in polytopes that cover different portions of 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT.

In the last step of VCC, the subroutine InflatePolytopes inflates a large, collision-free polytope around the center of each ellipsoid induced by a clique.

Let us initially assume that the obstacles are convex. Consider a single ellipsoid; using convex optimization, we compute the point in each obstacle that is closest to the center of the ellipsoid, according to the distance metric induced by the ellipsoid. These points anchor separating hyperplanes between the ellipsoid center and the obstacles, which form a polytope of obstacle-free space. These steps are repeated for each ellipsoid (i.e., for each clique) to obtain a collection of collision-free polytopes that we add to the set \mathcal{R}caligraphic_R.

Domain Village 3DOF Flipper 5DOF UR3 7DOF IIWA
Algorithm IOS VCC (ours) IOS VCC (ours) IOS VCC (ours) IOS VCC (ours)
# regions |||\mathcal{R}|| caligraphic_R | 198.0±plus-or-minus\pm±13.6 93.9±plus-or-minus\pm±7.5 10.4±plus-or-minus\pm±1.9 6.7±plus-or-minus\pm±0.5 90.5±plus-or-minus\pm±18.8 35.1±plus-or-minus\pm±1.6 482.6±plus-or-minus\pm±83.8 46.3±plus-or-minus\pm±4.5
runtime [s] 2.7e3±plus-or-minus\pm±2.9e2 1.7e3±plus-or-minus\pm±3.4e2 2.0e2±plus-or-minus\pm±2.9e1 4.9e1±plus-or-minus\pm±7.1 1.12e4±plus-or-minus\pm±2.1e3 5.5e2±plus-or-minus\pm±6.6e1 8.9e4±plus-or-minus\pm±1.9e4 5.7e3±plus-or-minus\pm± 1.7e3
coverage threshold α𝛼\alphaitalic_α 0.8 0.8 0.9 0.9 0.75 0.75 0.7 0.7
# visibility vertices K𝐾Kitalic_K - 500 - 500 - 1000 - 1500
min. clique size sminsubscript𝑠mins_{\text{min}}italic_s start_POSTSUBSCRIPT min end_POSTSUBSCRIPT - 10 - 10 - 10 - 20
TABLE I: Comparison of our Visibility Clique Cover (VCC) algorithm to the Iterative Obstacle Seeding (IOS) method from [12], across four different environments. All experiments are repeated ten times. The numbers in the first two rows indicate the mean and the empirical standard deviation over the trials. We observe that VCC achieves the given coverage targets with 1.6 to 10.4 times fewer regions, and between 1.4 to 20 times faster than IOS. The environment names are linked to interactive visualizations.

These computations correspond to a single iteration of the IRIS algorithm [10], and ensure that the largest uniformly-scaled, collision-free version of the ellipsoid is contained in the resulting polytope. Figure 3 illustrates how the initial metric is fundamental in guiding the shape of the regions generated by IRIS. Traditionally, the IRIS algorithm was initialized with an uninformed ellipsoidal metric and needed to run for multiple (expensive) iterations in order to expand and cover a larger volume of space; in VCC we require only a single IRIS iteration.

When the obstacles are not convex, we run one iteration of the nonlinear programming variant IRIS-NP [12] instead. Alternatively, C-IRIS [11, 13] could be employed to obtain certifiably collision-free regions.

IV-E Convergence Check

The subroutine CheckCoverage estimates the fraction of 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT covered by the regions in \mathcal{R}caligraphic_R, and terminates our algorithm if this value exceeds the threshold α𝛼\alphaitalic_α. Computing this fraction exactly is impractical, and so we resort to randomized methods. The coverage is estimated by drawing a large number of M𝑀Mitalic_M samples in 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT, and computing the ratio of samples that land in at least one of the regions in \mathcal{R}caligraphic_R. More sophisticated checks, such as one-sided Bernoulli hypothesis testing, are possible.

IV-F Completeness

Analogous to [31, 32], VCC is probabilistically complete under mild assumptions. This means as the number of iterations goes to infinity, the probability of completely covering 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT goes to one.

V Experiments

As there are no direct baseline methods, we compare our VCC algorithm against an extension of the method in [12, §III.D]. The natural extension of this approach is to iteratively grow polytopes around uniformly sampled points from the uncovered free space using IRIS, while treating previously computed regions as obstacles. This process is repeated until the desired coverage is met. We call this approach Iterative Obstacle Seeding (IOS).

In the following, all experiments are implemented in Drake [33], and all computations are performed on a single desktop computer with an Intel Core i9-10850K CPU and 32 Gb of RAM. We solve all MaxClique instances to global optimality using Gurobi [34].

We evaluate VCC and IOS on four environments: Village, 3DOF Flipper, 5DOF UR3, and 7DOF IIWA. The dimension n𝑛nitalic_n of these environments ranges from 3333 to 7777. For each environment, we run the two algorithms ten times and report their performance in Table I. The Village environment from [8] contains only convex obstacles and is compatible with the original IRIS [10]. All other examples involve the configuration spaces of robotic manipulators and therefore IRIS-NP [12] is employed. The number of samples used in the convergence check in Algorithm 1 is M=5000𝑀5000M=5000italic_M = 5000.

VCC meets the required coverage threshold with significantly fewer regions and in a substantially shorter amount of time. Notably, in the most challenging benchmark, 7DOF IIWA, VCC requires 10 times fewer regions and meets the required coverage of 70%percent7070\%70 % around 16 times faster. This substantial speedup can be attributed to two key factors. First, the region inflation in VCC is parallelized. Second, IRIS is the most computationally expensive step. While VCC only requires a single iteration of IRIS per region, IOS can requires around five IRIS iterations per region, due to the initialization with a potentially uninformative spherical metric.

VI Limitations of Approximating Convex Sets with Cliques

Despite the strong performance of our algorithm, the hardness of solving Min α𝛼\alphaitalic_α-ApproxConvexCover makes it possible to construct simple examples that highlight pitfalls of our heuristic approach. In this section, we discuss holes in 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT which leads to one such pitfall that is particularly insightful.

While every convex set in 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT naturally corresponds to a clique in the visibility graph, a clique in the visibility graph does not necessarily correspond to a convex set in 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT. The convex hull of a clique can enclose holes. This problem persists even if we sample arbitrarily dense visibility graphs, and if we restrict the analysis to maximum cliques. A visual proof is shown in Figure 4, which illustrates a triangular configuration space with a triangular hole of size ε𝜀\varepsilonitalic_ε. As ε𝜀\varepsilonitalic_ε goes to zero, the largest convex subset of 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT is the green trapezoid, whose area approaches 5/9595/95 / 9 of the total area of 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT. On the other hand, a larger subset of mutually visible points is given by the union of the three red parallelograms, whose area approaches 6/9696/96 / 9 of the total area. Therefore, if configurations are sampled uniformly at random, an optimum solution of MaxClique will almost surely enclose a hole as the number of samples goes to infinity. A similar construction can be used to show an analogous discrepancy between the minimum convex cover of 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT and MinCliqueCover.

In principle, this problem can be addressed by solving a modified version of MaxClique that better captures the notion of a convex set. In short, we require that every vertex of the visibility graph that is contained in the convex hull of the maximum clique must be a member of the clique. For an infinitely dense visibility graph, this ensures that the maximum clique cannot enclose holes.

ε𝜀\varepsilonitalic_ε1
Figure 4: Maximum cliques of infinitely dense visibility graphs can enclose holes, and do not necessarily correspond to collision-free convex sets. The largest collision-free convex region (green trapezoid) has a smaller area than the union of red parallelograms when 0<ε15/60𝜀1560<\varepsilon\leq 1-\sqrt{5/6}0 < italic_ε ≤ 1 - square-root start_ARG 5 / 6 end_ARG. In this case, the convex hull of the maximum clique must enclose the hole.

We enforce the contrapositive of the latter condition through linear constraints that separate all non-clique members qisubscript𝑞𝑖q_{i}italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, with i{1,,K}𝑖1𝐾i\in\{1,\ldots,K\}italic_i ∈ { 1 , … , italic_K }, from the points in the clique with a hyperplane i={qciTq+di=0}subscript𝑖conditional-set𝑞superscriptsubscript𝑐𝑖𝑇𝑞subscript𝑑𝑖0\mathcal{H}_{i}=\{q\mid c_{i}^{T}q+d_{i}=0\}caligraphic_H start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = { italic_q ∣ italic_c start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_q + italic_d start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 0 }, parameterized by the decision variables (ci,di)n+1subscript𝑐𝑖subscript𝑑𝑖superscript𝑛1(c_{i},d_{i})\in\mathbb{R}^{n+1}( italic_c start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_d start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) ∈ blackboard_R start_POSTSUPERSCRIPT italic_n + 1 end_POSTSUPERSCRIPT.

The resulting mixed-integer linear optimization extends (IV-B) by adding the additional separation constraints

ciTqi+disuperscriptsubscript𝑐𝑖𝑇subscript𝑞𝑖subscript𝑑𝑖\displaystyle c_{i}^{T}q_{i}+d_{i}italic_c start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + italic_d start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT 1bi,absent1subscript𝑏𝑖\displaystyle\geq 1-b_{i},\quad≥ 1 - italic_b start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , i=1,,K,for-all𝑖1𝐾\displaystyle\forall~{}i=1,\dots,K,∀ italic_i = 1 , … , italic_K , (2a)
ciTqj+disuperscriptsubscript𝑐𝑖𝑇subscript𝑞𝑗subscript𝑑𝑖\displaystyle c_{i}^{T}q_{j}+d_{i}italic_c start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_q start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT + italic_d start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT L(1bj),absent𝐿1subscript𝑏𝑗\displaystyle\leq L(1-b_{j}),\quad≤ italic_L ( 1 - italic_b start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) , i,j=1,,K,formulae-sequencefor-all𝑖𝑗1𝐾\displaystyle\forall i,j=1,\dots,K,∀ italic_i , italic_j = 1 , … , italic_K , (2b)

where L𝐿Litalic_L is a large enough constant (e.g. a constant factor times the diameter of the visibility graph).

When the point qisubscript𝑞𝑖q_{i}italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is not in the clique (bi=0subscript𝑏𝑖0b_{i}=0italic_b start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = 0) and the point qjsubscript𝑞𝑗q_{j}italic_q start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT is in the clique (bj=1subscript𝑏𝑗1b_{j}=1italic_b start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = 1), these constraints read ciTqi+di1superscriptsubscript𝑐𝑖𝑇subscript𝑞𝑖subscript𝑑𝑖1c_{i}^{T}q_{i}+d_{i}\geq 1italic_c start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + italic_d start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ≥ 1 and ciTqj+di0superscriptsubscript𝑐𝑖𝑇subscript𝑞𝑗subscript𝑑𝑖0c_{i}^{T}q_{j}+d_{i}\leq 0italic_c start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_q start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT + italic_d start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ≤ 0. Therefore, the hyperplane isubscript𝑖\mathcal{H}_{i}caligraphic_H start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT separates qisubscript𝑞𝑖q_{i}italic_q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT from qjsubscript𝑞𝑗q_{j}italic_q start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT. On the other hand, these constraints are seen to be redundant for all other possible values of the binaries bisubscript𝑏𝑖b_{i}italic_b start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and bjsubscript𝑏𝑗b_{j}italic_b start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT. In Figure 5, we demonstrate how this extension prevents a maximum clique from enclosing holes in a finite-sample regime.

In practice, solving (IV-B) with constraints (VI) is too expensive for the problems in Table I. Nonetheless, we observed that in the first MaxClique problem (IV-B) only an average of 0.1%percent0.10.1\%0.1 % of the vertices were excluded from the clique that could not be separated from it with a hyperplane. Subsequent cliques, and improvements to the formulation (VI), demand a more nuanced discussion and are subject to future work.

VII Conclusions

We have proposed an algorithm for approximately decomposing complex configuration spaces into small collections of polytopes. Our algorithm uses clique covers of visibility graphs as an effective heuristic for obtaining local information about 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT, and for seeding a region-inflation algorithm. The parallels between convex sets in 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT and cliques in visibility graphs have also been discussed. Our experiments demonstrate that VCC reliably finds approximate convex covers of 𝒞freesuperscript𝒞free\mathcal{C}^{\mathrm{free}}caligraphic_C start_POSTSUPERSCRIPT roman_free end_POSTSUPERSCRIPT with fewer regions and in less time than previous approaches.

Refer to caption
Refer to caption
Figure 5: A visibility graph with 100 random vertices in the triangular environment from Figure 4. Solving the maximum clique problem (IV-B) with the additional constraints (VI) yields a clique with 56 vertices (shown in green), that closely approximates the corresponding convex set in Figure 4. Solving only problem (IV-B), yields a clique with 63 vertices (shown in red) that, however, encloses the central hole.

Acknowledgements

The authors would like to thank Steven M. LaValle, Thomas Cohn, Annan Zhang, and Fabian Dickhardt for the many fruitful discussions.

References

  • [1] C. M. Bishop and N. M. Nasrabadi, Pattern recognition and machine learning.   Springer, 2006, vol. 4, no. 4.
  • [2] M. Pharr, C. Kolb, R. Gershbein, and P. Hanrahan, “Rendering complex scenes with memory-coherent ray tracing,” in Proceedings of the 24th annual conference on Computer graphics and interactive techniques, 1997, pp. 101–108.
  • [3] E. G. Gilbert, D. W. Johnson, and S. S. Keerthi, “A fast procedure for computing the distance between complex objects in three-dimensional space,” IEEE Journal on Robotics and Automation, vol. 4, no. 2, pp. 193–203, 1988.
  • [4] T. Marcucci, J. Umenberger, P. A. Parrilo, and R. Tedrake, “Shortest paths in graphs of convex sets,” arXiv preprint arXiv:2101.11565, 2021.
  • [5] T. Marcucci, M. Petersen, D. von Wrangel, and R. Tedrake, “Motion planning around obstacles with convex optimization,” arXiv preprint arXiv:2205.04422, 2022.
  • [6] T. Cohn, M. Petersen, M. Simchowitz, and R. Tedrake, “Non-euclidean motion planning with graphs of geodesically-convex sets,” arXiv preprint arXiv:2305.06341, 2023.
  • [7] V. Kurtz and H. Lin, “Temporal logic motion planning with convex optimization via graphs of convex sets,” arXiv preprint arXiv:2301.07773, 2023.
  • [8] T. Marcucci, P. Nobel, R. Tedrake, and S. Boyd, “Fast path planning through large collections of safe boxes,” arXiv preprint arXiv:2305.01072, 2023.
  • [9] J.-C. Latombe, Robot motion planning.   Springer Science & Business Media, 2012, vol. 124.
  • [10] 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.
  • [11] A. Amice, H. Dai, P. Werner, A. Zhang, and R. Tedrake, “Finding and optimizing certified, collision-free regions in configuration space for robot manipulators,” in Algorithmic Foundations of Robotics XV: Proceedings of the Fifteenth Workshop on the Algorithmic Foundations of Robotics.   Springer, 2022, pp. 328–348.
  • [12] M. Petersen and R. Tedrake, “Growing convex collision-free regions in configuration space using nonlinear programming,” arXiv preprint arXiv:2303.14737, 2023.
  • [13] H. Dai, A. Amice, P. Werner, A. Zhang, and R. Tedrake, “Certified polyhedral decompositions of collision-free configuration space,” arXiv preprint arXiv:2302.12219, 2023.
  • [14] T. Siméon, J.-P. Laumond, and C. Nissoux, “Visibility-based probabilistic roadmaps for motion planning,” Advanced Robotics, vol. 14, no. 6, pp. 477–493, 2000.
  • [15] T. Lozano-Pérez and M. A. Wesley, “An algorithm for planning collision-free paths among polyhedral obstacles,” Communications of the ACM, vol. 22, no. 10, pp. 560–570, 1979.
  • [16] M. Abrahamsen, “Covering polygons is even harder,” in 2021 IEEE 62nd Annual Symposium on Foundations of Computer Science (FOCS).   IEEE, 2022, pp. 375–386.
  • [17] S. J. Eidenbenz and P. Widmayer, “An approximation algorithm for minimum convex cover with logarithmic performance guarantee,” SIAM Journal on Computing, vol. 32, no. 3, 2003.
  • [18] M. Abrahamsen, W. Bille Meyling, and A. Nusser, “Constructing concise convex covers via clique covers (cg challenge),” in 39th International Symposium on Computational Geometry (SoCG 2023).   Schloss Dagstuhl-Leibniz-Zentrum für Informatik, 2023.
  • [19] G. D. da Fonseca, “Shadoks approach to convex covering,” arXiv preprint arXiv:2303.07696, 2023.
  • [20] 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.
  • [21] A. Varava, J. F. Carvalho, D. Kragic, and F. T. Pokorny, “Free space of rigid objects: Caging, path non-existence, and narrow passage detection,” The international journal of robotics research, vol. 40, no. 10-11, pp. 1049–1067, 2021.
  • [22] L. E. Kavraki, “Computation of configuration-space obstacles using the fast fourier transform,” IEEE Transactions on Robotics and Automation, vol. 11, no. 3, pp. 408–413, 1995.
  • [23] M. Branicky and W. Newman, “Rapid computation of configuration space obstacles,” in Proceedings., IEEE International Conference on Robotics and Automation, 1990, pp. 304–310 vol.1.
  • [24] 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 International Conference on Robotics and Automation.   IEEE, 2005, pp. 3486–3491.
  • [25] R. M. Karp, Reducibility among combinatorial problems.   Springer, 2010.
  • [26] D. Strash and L. Thompson, “Effective data reduction for the vertex clique cover problem,” in 2022 Proceedings of the Symposium on Algorithm Engineering and Experiments (ALENEX).   SIAM, 2022, pp. 41–53.
  • [27] F. Schwarzer, M. Saha, and J.-C. Latombe, “Exact collision checking of robot paths,” Algorithmic foundations of robotics V, pp. 25–41, 2004.
  • [28] S. M. LaValle, Planning algorithms.   Cambridge university press, 2006.
  • [29] A. Amice, P. Werner, and R. Tedrake, “Certifying bimanual rrt motion plans in a second,” arXiv preprint arXiv:2310.16603, 2023.
  • [30] S. P. Boyd and L. Vandenberghe, Convex optimization.   Cambridge university press, 2004.
  • [31] J. J. Kuffner and S. M. LaValle, “RRT-connect: An efficient approach to single-query path planning,” in Proceedings 2000 ICRA. Millennium Conference. IEEE International Conference on Robotics and Automation. Symposia Proceedings (Cat. No. 00CH37065), vol. 2.   IEEE, 2000, pp. 995–1001.
  • [32] L. E. Kavraki, P. Svestka, J.-C. Latombe, and M. H. Overmars, “Probabilistic roadmaps for path planning in high-dimensional configuration spaces,” IEEE transactions on Robotics and Automation, vol. 12, no. 4, pp. 566–580, 1996.
  • [33] R. Tedrake and the Drake Development Team, “Drake: Model-based design and verification for robotics,” 2019. [Online]. Available: https://drake.mit.edu
  • [34] Gurobi Optimization, LLC, “Gurobi Optimizer Reference Manual,” 2023.