Skip to content

Commit 55ad688

Browse files
committed
adding simple gradients
1 parent 5006280 commit 55ad688

21 files changed

+3434
-0
lines changed

index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
Meanwhile, you can still follow us on <a href="https://github.com/Simple-Robotics"> GitHub</a>, <a href="https://www.youtube.com/@SimpleRoboticsOrg"> YouTube</a>, or read some cool papers from the Simple Robotics team:
1010
<ul>
1111
<li><a href="publications/simple-contact-solver"> Contact solver of the Simple simulator.</a></li>
12+
<li><a href="publications/simple-gradients"> Gradients of the Simple simulator.</a></li>
1213
<li><a href="publications/parallel-clqr"> Parallelized constrained Riccati solver for real-time nonlinear MPC.</a></li>
1314
<li><a href="publications/loik-solver"> Low complexity differential inverse kinematics solver.</a></li>
1415
<li><a href="https://arxiv.org/abs/2304.06372"> Analysis of contact models in robotics.</a></li>
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Simple gradients
2+
3+
This is the repository that contains source code for the paper [End-to-End and Highly-Efficient Differentiable Simulation for Robotics](https://simple-robotics.github.io/publications/simple-gradients/index.html).
4+
5+
If you find [Simple](https://github.com/Simple-Robotics/Simple) to be useful for your work please cite:
6+
```
7+
@article{simplecontacts2024,
8+
author = {Carpentier, Justin and Le Lidec, Quentin and Montaut, Louis},
9+
title = {From Compliant to Rigid Contact Simulation: a Unified and Efficient Approach.},
10+
journal = {Robotics: Science and Systems},
11+
year = {2024},
12+
}
13+
```
14+
or, for the gradients
15+
```
16+
@article{simplecontacts2024,
17+
author = {Le Lidec, Quentin and Montaut, Louis and De Mont-Marin Yann and Carpentier, Justin },
18+
title = {End-to-End and Highly-Efficient Differentiable Simulation for Robotics},
19+
journal = {preprint},
20+
year = {2024},
21+
}
22+
```
23+
Lines changed: 313 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,313 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8">
5+
<meta name="description"
6+
content="Contact solver of Simple simulator">
7+
<meta name="keywords" content="Simple, Contact, Contact Solver, Physics Simulation">
8+
<meta name="viewport" content="width=device-width, initial-scale=1">
9+
<title>Simple Gradients</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://arxiv.org/abs/2304.06372">
53+
Contact Models
54+
</a>
55+
<a class="navbar-item" href="https://arxiv.org/abs/2405.17020">
56+
Contact Simulation
57+
</a>
58+
<a class="navbar-item" href="https://quentinll.github.io/projects/diffsim/">
59+
Differentiable Simulation
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+
71+
</div>
72+
</nav>
73+
74+
75+
<section class="hero">
76+
<div class="hero-body">
77+
<div class="container is-max-desktop">
78+
<div class="columns is-centered">
79+
<div class="column has-text-centered">
80+
<h1 class="title is-1 publication-title">End-to-End and Highly-Efficient Differentiable Simulation for Robotics</h1>
81+
<div class="is-size-5 publication-authors">
82+
<span class="author-block">
83+
<a href="https://quentinll.github.io">Quentin Le Lidec</a><sup>*</sup>,</span>
84+
<span class="author-block">
85+
<a href="https://lmontaut.github.io">Louis Montaut</a><sup>*</sup>,</span>
86+
<span class="author-block">
87+
<a href="https://ymontmarin.github.io/">Yann de Mont-Marin</a><sup>*</sup>,</span>
88+
<span class="author-block">
89+
<a href="https://jcarpent.github.io">Justin Carpentier</a></span>
90+
</div>
91+
92+
<div class="is-size-5 publication-authors">
93+
<span class="author-block"><sup>*</sup>Equal contribution.</span>
94+
</div>
95+
96+
<div class="is-size-5 publication-authors">
97+
<span class="author-block">All authors are with INRIA Willow.</span>
98+
</div>
99+
100+
<div class="column has-text-centered">
101+
<div class="publication-links">
102+
<!-- PDF Link. -->
103+
<span class="link-block">
104+
<a href="./static/paper/simple2024gradients.pdf"
105+
class="external-link button is-normal is-rounded is-dark">
106+
<span class="icon">
107+
<i class="fas fa-file-pdf"></i>
108+
</span>
109+
<span>Paper</span>
110+
</a>
111+
</span>
112+
<span class="link-block">
113+
<a href=""
114+
class="external-link button is-normal is-rounded is-dark">
115+
<span class="icon">
116+
<i class="fas fa-globe-europe"></i>
117+
</span>
118+
<span>HAL</span>
119+
</a>
120+
</span>
121+
<span class="link-block">
122+
<a href=""
123+
class="external-link button is-normal is-rounded is-dark">
124+
<span class="icon">
125+
<i class="ai ai-arxiv"></i>
126+
</span>
127+
<span>arXiv</span>
128+
</a>
129+
</span>
130+
<!-- Video Link. -->
131+
<span class="link-block">
132+
<a href=""
133+
class="external-link button is-normal is-rounded is-dark">
134+
<span class="icon">
135+
<i class="fab fa-youtube"></i>
136+
</span>
137+
<span>Video</span>
138+
</a>
139+
</span>
140+
<!-- Code Link. -->
141+
<span class="link-block">
142+
<a href="https://github.com/Simple-Robotics/Simple"
143+
class="external-link button is-normal is-rounded is-dark">
144+
<span class="icon">
145+
<i class="fab fa-github"></i>
146+
</span>
147+
<span>Code</span>
148+
</a>
149+
</span>
150+
</div>
151+
152+
</div>
153+
</div>
154+
</div>
155+
</div>
156+
</div>
157+
</section>
158+
159+
<section class="section">
160+
<div class="container is-max-desktop">
161+
<!-- Paper video. -->
162+
<!-- <div class="columns is-centered has-text-centered">
163+
<div class="column is-four-fifths">
164+
<div class="publication-video">
165+
<iframe src="https://www.youtube.com/embed/i_qg9cTx0NY"
166+
frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
167+
</div>
168+
</div>
169+
</div> -->
170+
<!--/ Paper video. -->
171+
172+
<!-- Abstract. -->
173+
<div class="columns is-centered has-text-centered">
174+
<div class="column is-four-fifths">
175+
<h2 class="title is-3">Abstract</h2>
176+
<div class="content has-text-justified">
177+
Over the past few years, robotics simulators have largely improved in
178+
efficiency and scalability, enabling them to generate years of simulated data in a
179+
few hours. Yet, efficiently and accurately computing the simulation derivatives
180+
remains an open challenge, with potentially high gains on the convergence speed
181+
of reinforcement learning and trajectory optimization algorithms, especially for
182+
problems involving physical contact interactions. This paper contributes to this
183+
objective by introducing a unified and efficient algorithmic solution for computing
184+
the analytical derivatives of robotic simulators. The approach considers both the
185+
collision and frictional stages, accounting for their intrinsic nonsmoothness and also exploiting the sparsity induced by the underlying multibody systems. These derivatives have been implemented in C++, and the code will be open-sourced in the <a href="https://github.com/Simple-Robotics/Simple">Simple</a> simulator. They depict state-of-the-art timings ranging from 5 microseconds for
186+
a 7-dof manipulator up to 95 microseconds for 36-dof humanoid, outperforming alternative
187+
solutions by a factor of at least 100.
188+
</div>
189+
</div>
190+
</div>
191+
<!--/ Abstract. -->
192+
<!-- Benchmarks. -->
193+
<div class="columns is-centered has-text-centered">
194+
<div class="column is-max-desktop">
195+
<h2 class="title is-3">Benchmarks</h2>
196+
<div class="container is-max-desktop">
197+
<div class="content has-text-left">
198+
We compared our approach to MuJoCo, and MJX frameworks. Timing statistics
199+
(mean and standard deviation in microseconds) for simulation, gradient, and finite-differences com-
200+
putation are measured for one simulation step. For MJX, N/A denotes scenarios where geometries were not sup-
201+
ported.
202+
</div>
203+
<div class="columns is-centered">
204+
<div class="column">
205+
<div class="content">
206+
<image src="./static/images/timings_grad.png" alt="" style="width:100%"></image>
207+
</div>
208+
</div>
209+
</div>
210+
211+
<!-- <div class="columns is-centered">
212+
213+
<div class="column">
214+
<div class="content">
215+
<image src="./static/images/go_cube.png" alt="" style="width:100%"></image>
216+
</div>
217+
</div>
218+
219+
<div class="column">
220+
<div class="content">
221+
<image src="./static/images/go_handstand.png" alt="" style="width:100%">
222+
</div>
223+
</div>
224+
225+
<div class="column">
226+
<div class="content">
227+
<image src="./static/images/h1_pushups.png" alt="" style="width:100%">
228+
</div>
229+
</div>
230+
231+
<div class="column">
232+
<div class="content">
233+
<image src="./static/images/half_cheetah_simple.png" alt="" style="width:100%">
234+
</div>
235+
</div>
236+
</div> -->
237+
</div>
238+
</div>
239+
</div>
240+
<!--/ Benchmarks. -->
241+
</div>
242+
</section>
243+
244+
245+
<section class="section">
246+
<div class="container is-max-desktop">
247+
248+
<!-- Concurrent Work. -->
249+
<div class="columns is-centered">
250+
<div class="column is-full-width">
251+
<h2 class="title is-3">Related Links</h2>
252+
253+
<div class="content has-text-justified">
254+
This work heavily relies on the <a
255+
href="https://github.com/stack-of-tasks/pinocchio">Pinocchio</a> and <a
256+
href="https://github.com/humanoid-path-planner/hpp-fcl">HPP-FCL</a> libraries.
257+
</div>
258+
</div>
259+
</div>
260+
<!--/ Concurrent Work. -->
261+
262+
</div>
263+
</section>
264+
265+
266+
<section class="section" id="BibTeX">
267+
<div class="container is-max-desktop content">
268+
<h2 class="title">BibTeX</h2>
269+
<pre><code>@article{simple2024gradients,
270+
author = {Le Lidec, Quentin and Montaut, Louis and De Mont-Marin, Yann and Carpentier, Justin},
271+
title = {End-to-End and Highly-Efficient Differentiable Simulation for Robotics},
272+
journal = {preprint},
273+
year = {2024},
274+
}</code></pre>
275+
</div>
276+
</section>
277+
278+
279+
<footer class="footer">
280+
<div class="container">
281+
<div class="content has-text-centered">
282+
<a class="icon-link"
283+
href="./static/paper/simple2024gradients.pdf">
284+
<i class="fas fa-file-pdf"></i>
285+
</a>
286+
<a class="icon-link" href="https://github.com/Simple-Robotics" class="external-link" disabled>
287+
<i class="fab fa-github"></i>
288+
</a>
289+
</div>
290+
<div class="columns is-centered">
291+
<div class="column is-8">
292+
<div class="content">
293+
<p>
294+
This website is licensed under a <a rel="license"
295+
href="http://creativecommons.org/licenses/by-sa/4.0/">Creative
296+
Commons Attribution-ShareAlike 4.0 International License</a>.
297+
</p>
298+
<p>
299+
We thank <a
300+
href="https://github.com/nerfies/nerfies.github.io">Nerfies</a> for creating the template of this webpage.
301+
You are free to borrow the <a
302+
href="https://github.com/simple-robotics.github.io/publications/simple-gradients">source code</a>,
303+
we just ask that you link back to the <a
304+
href="https://github.com/nerfies/nerfies.github.io">Nerfies</a> page in the footer.
305+
</p>
306+
</div>
307+
</div>
308+
</div>
309+
</div>
310+
</footer>
311+
312+
</body>
313+
</html>

publications/simple-gradients/static/css/bulma-carousel.min.css

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)