Skip to content

Commit 7a1db65

Browse files
committed
adding gjk++ paper
1 parent c5a4a09 commit 7a1db65

16 files changed

+3302
-0
lines changed

Diff for: index.html

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
<li><a href="https://hal.science/hal-04726386/"> A data-driven contact estimation method for wheeled-biped robots.</a></li>
1919
<li><a href="publications/pv-osimr"> Optimal complexity OSIM/Delassus algorithm. (IEEE RA-L 2024)</a></li>
2020
<li><a href="https://hal.science/hal-04895583/"> Constrained Articulated Body Algorithm for Closed Loop Mechanisms.</a></li>
21+
<li><a href="publications/gjk-acceleration"> GJK++: Leveraging Acceleration Methods for Faster Collision Detection. (IEEE T-RO 2024)</a></li>
2122
</ul>
2223
</body>
2324
</html>

Diff for: publications/gjk-acceleration/index.html

+204
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,204 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8">
5+
<meta name="description"
6+
content="Accelerated collision detection and distance computation between convex geometries">
7+
<meta name="keywords" content="Collision Detection, GJK Algorithm, Convex Optimization, Robotics, Computer Graphics">
8+
<meta name="viewport" content="width=device-width, initial-scale=1">
9+
<title>Accelerated GJK Algorithm for Collision Detection</title>
10+
11+
<link href="https://fonts.googleapis.com/css?family=Google+Sans|Noto+Sans|Castoro"
12+
rel="stylesheet">
13+
14+
<link rel="stylesheet" href="./static/css/bulma.min.css">
15+
<link rel="stylesheet" href="./static/css/bulma-carousel.min.css">
16+
<link rel="stylesheet" href="./static/css/bulma-slider.min.css">
17+
<link rel="stylesheet" href="./static/css/fontawesome.all.min.css">
18+
<link rel="stylesheet"
19+
href="https://cdn.jsdelivr.net/gh/jpswalsh/academicons@1/css/academicons.min.css">
20+
<link rel="stylesheet" href="./static/css/index.css">
21+
<link rel="icon" href="./static/images/favicon.svg">
22+
23+
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
24+
<script defer src="./static/js/fontawesome.all.min.js"></script>
25+
<script src="./static/js/bulma-carousel.min.js"></script>
26+
<script src="./static/js/bulma-slider.min.js"></script>
27+
<script src="./static/js/index.js"></script>
28+
</head>
29+
<body>
30+
31+
<nav class="navbar" role="navigation" aria-label="main navigation">
32+
<div class="navbar-brand">
33+
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false">
34+
<span aria-hidden="true"></span>
35+
<span aria-hidden="true"></span>
36+
<span aria-hidden="true"></span>
37+
</a>
38+
</div>
39+
<div class="navbar-menu">
40+
<div class="navbar-start" style="flex-grow: 1; justify-content: center;">
41+
<a class="navbar-item" href="https://simple-robotics.github.io">
42+
<span class="icon">
43+
<i class="fas fa-home"></i>
44+
</span>
45+
</a>
46+
47+
<div class="navbar-item has-dropdown is-hoverable">
48+
<a class="navbar-link">
49+
More Research
50+
</a>
51+
<div class="navbar-dropdown">
52+
<a class="navbar-item" href="https://simple-robotics.github.io/publications/simple-gradients/">
53+
Simple Gradients
54+
</a>
55+
<a class="navbar-item" href="https://simple-robotics.github.io/publications/simple-contact-solver/">
56+
Contact Simulation
57+
</a>
58+
<a class="navbar-item" href="https://quentinll.github.io/projects/diffsim/">
59+
Differentiable System Identification
60+
</a>
61+
<a class="navbar-item" href="https://ieeexplore.ieee.org/document/10494919">
62+
GJK++: accelerated collision detection
63+
</a>
64+
<a class="navbar-item" href="https://lmontaut.github.io/diffcol_rs.github.io/">
65+
Differentiable Collisions Detection
66+
</a>
67+
</div>
68+
</div>
69+
</div>
70+
</div>
71+
</nav>
72+
73+
<section class="hero">
74+
<div class="hero-body">
75+
<div class="container is-max-desktop">
76+
<div class="columns is-centered">
77+
<div class="column has-text-centered">
78+
<h1 class="title is-1 publication-title">GJK++: Leveraging Acceleration Methods for Faster Collision Detection</h1>
79+
<div class="is-size-5 publication-authors">
80+
<span class="author-block">
81+
<a href="https://lmontaut.github.io">Louis Montaut</a><sup>1</sup>,</span>
82+
<span class="author-block">
83+
<a href="https://quentinll.github.io">Quentin Le Lidec</a><sup>1</sup>,</span>
84+
<span class="author-block">
85+
<a href="https://www.di.ens.fr/~petrik/">Vladimir Petrik</a><sup>2</sup>,</span>
86+
<span class="author-block">
87+
<a href="https://www.di.ens.fr/~sivic/">Josef Sivic</a><sup>2</sup>,</span>
88+
<span class="author-block">
89+
<a href="https://jcarpent.github.io">Justin Carpentier</a><sup>1</sup></span>
90+
</div>
91+
92+
<div class="is-size-5 publication-authors">
93+
<span class="author-block"><sup>1</sup> INRIA Willow, <sup>2</sup> Czech Technical University in Prague</span>
94+
</div>
95+
96+
<div class="column has-text-centered">
97+
<div class="publication-links">
98+
<!-- PDF Link. -->
99+
<span class="link-block">
100+
<a href="./static/paper/montaut2024gjk.pdf"
101+
class="external-link button is-normal is-rounded is-dark">
102+
<span class="icon">
103+
<i class="fas fa-file-pdf"></i>
104+
</span>
105+
<span>Paper</span>
106+
</a>
107+
</span>
108+
<span class="link-block">
109+
<a href="https://ieeexplore.ieee.org/document/10494919"
110+
class="external-link button is-normal is-rounded is-dark">
111+
<span class="icon">
112+
<i class="ai ai-ieee"></i>
113+
</span>
114+
<span>IEEE</span>
115+
</a>
116+
</span>
117+
<span class="link-block">
118+
<a href="https://github.com/coal-library/coal"
119+
class="external-link button is-normal is-rounded is-dark">
120+
<span class="icon">
121+
<i class="fab fa-github"></i>
122+
</span>
123+
<span>Code</span>
124+
</a>
125+
</span>
126+
</div>
127+
</div>
128+
</div>
129+
</div>
130+
</div>
131+
</div>
132+
</section>
133+
134+
<section class="section">
135+
<div class="container is-max-desktop">
136+
<!-- Abstract. -->
137+
<div class="columns is-centered has-text-centered">
138+
<div class="column is-four-fifths">
139+
<h2 class="title is-3">Abstract</h2>
140+
<div class="content has-text-justified">
141+
Collision detection is a fundamental problem in various domains, such as robotics, computational physics, and computer graphics. In general, collision detection is tackled as a computational geometry problem, with the so-called Gilbert, Johnson, and Keerthi (GJK) algorithm being the most adopted solution nowadays. While introduced in 1988, GJK remains the most effective solution to compute the distance or the collision between two 3-D convex geometries. Over the years, it was shown to be efficient, scalable, and generic, operating on a broad class of convex shapes, ranging from simple primitives (sphere, ellipsoid, box, cone, capsule, etc.) to complex meshes involving thousands of vertices. In this article, we introduce several contributions to accelerate collision detection and distance computation between convex geometries by leveraging the fact that these two problems are fundamentally optimization problems. Notably, we establish that the GJK algorithm is a specific subcase of the well-established Frank–Wolfe (FW) algorithm in convex optimization. By adapting recent works linking Polyak and Nesterov accelerations to FW methods, we also propose two accelerated extensions of the classic GJK algorithm. Through an extensive benchmark over millions of collision pairs involving objects of daily life, we show that these two accelerated GJK extensions significantly reduce the overall computational burden of collision detection, leading to computation times that are up to two times faster. Finally, we hope this work will significantly reduce the computational cost of modern robotic simulators, allowing the speedup of modern robotic applications that heavily rely on simulation, such as reinforcement learning or trajectory optimization.
142+
</div>
143+
</div>
144+
</div>
145+
<!--/ Abstract. -->
146+
147+
<!-- Results. -->
148+
<div class="columns is-centered has-text-centered">
149+
<div class="column is-max-desktop">
150+
<h2 class="title is-3">Results</h2>
151+
<div class="container is-max-desktop">
152+
<div class="columns is-centered">
153+
<div class="column is-four-fifths">
154+
<div class="publication-image">
155+
<img src="./static/images/header_gjk.png" alt="GJK++ Results" style="width:100%">
156+
</div>
157+
<div class="content has-text-justified">
158+
Two distinct collision problems using shapes from the YCB dataset: in (a) the shapes A1 (in green) and A2 (in red) are not in collision [dist(A1, A2) > 0] whereas in (b) the shapes are in collision [dist(A1, A2) = 0]. In the left column, the OBB of the objects are represented in light colors. In the right column, the light colors represent the convex hull of each object. In both collision problems, (a) and (b), the broad phase finds a collision between the object's OBBs; the narrow phase must thus be called to confirm or infirm the collision. The right column corresponds to the narrow phase in which the GJK algorithm is called on the objects' convex hulls. In this article, we propose the Polyak-accelerated GJK and Nesterov-accelerated GJK algorithms in order to accelerate collision detection.
159+
</div>
160+
</div>
161+
</div>
162+
</div>
163+
</div>
164+
</div>
165+
<!--/ Results. -->
166+
</div>
167+
</section>
168+
169+
<section class="section">
170+
<div class="container is-max-desktop">
171+
<!-- Related Links. -->
172+
<div class="columns is-centered">
173+
<div class="column is-full-width">
174+
<h2 class="title is-3">Related Links</h2>
175+
176+
<div class="content has-text-justified">
177+
This work is implemented in the <a href="https://github.com/coal-library/coal">Coal</a> library and is used in <a href="https://github.com/stack-of-tasks/pinocchio">Pinocchio</a> for collision detection.
178+
</div>
179+
</div>
180+
</div>
181+
<!--/ Related Links. -->
182+
183+
<!-- BibTeX. -->
184+
<div class="columns is-centered">
185+
<div class="column is-full-width">
186+
<h2 class="title is-3">BibTeX</h2>
187+
<div class="content has-text-left">
188+
<pre><code>@article{lelidec2024gjk,
189+
title={GJK++: Leveraging Acceleration Methods for Faster Collision Detection},
190+
author={Montaut, Louis and Le Lidec, Quentin and Petrik, Vladimir and Sivic, Josef and Carpentier, Justin},
191+
journal={IEEE Transactions on Robotics},
192+
year={2024},
193+
publisher={IEEE},
194+
doi={10.1109/TRO.2024.3354819}
195+
}</code></pre>
196+
</div>
197+
</div>
198+
</div>
199+
<!--/ BibTeX. -->
200+
</div>
201+
</section>
202+
203+
</body>
204+
</html>

Diff for: publications/gjk-acceleration/static/css/bulma-carousel.min.css

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)