Skip to content

Commit ea7993a

Browse files
committed
updated constrainedABA entry
1 parent da9c65e commit ea7993a

19 files changed

+3424
-1
lines changed

index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<li><a href="publications/loik-solver"> Low complexity differential inverse kinematics solver.</a></li>
1515
<li><a href="https://arxiv.org/abs/2304.06372"> Analysis of contact models in robotics.</a></li>
1616
<li><a href="https://hal.science/hal-04438175/"> About limitations and extensions of RaiSim simulator.</a></li>
17-
<li><a href="https://ieeexplore.ieee.org/iel8/8860/4359257/10758251"> Constrained Articulated Body Algorithms</a></li>
17+
<li><a href="publications/constrainedABA"> Constrained Articulated Body Algorithms</a></li>
1818
<li><a href="https://ieeexplore.ieee.org/abstract/document/10697298"> Optimal complexity OSIM/Delassus algorithm.</a></li>
1919
<li><a href="https://hal.science/hal-04895583/"> Constrained Articulated Body Algorithm for Closed Loop Mechanisms.</a></li>
2020
</ul>

publications/constrainedABA/README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Simple
2+
3+
This is the repository that contains source code for the RSS 2024 paper [From Compliant to Rigid Contact Simulation: a Unified and Efficient Approach](https://simple-robotics.github.io/publications/simple-contact-solver/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+
```
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="Constrained Articulated Body Algorithms">
7+
<meta name="keywords" content="Constrained Dynamics, Rigid Body Dynamics Algorithms, Physics Simulation">
8+
<meta name="viewport" content="width=device-width, initial-scale=1">
9+
<title>Constrained Articulated Body Algorithms</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+
Constrained Dynamics
54+
</a>
55+
<a class="navbar-item" href="https://quentinll.github.io/projects/diffsim/">
56+
Differentiable Simulation
57+
</a>
58+
<a class="navbar-item" href="https://ieeexplore.ieee.org/document/10494919">
59+
GJK++: accelerated collision detection
60+
</a>
61+
<a class="navbar-item" href="https://lmontaut.github.io/diffcol_rs.github.io/">
62+
Differentiable Collisions Detection
63+
</a>
64+
</div>
65+
</div>
66+
</div> -->
67+
68+
</div>
69+
</nav>
70+
71+
72+
<section class="hero">
73+
<div class="hero-body">
74+
<div class="container is-max-desktop">
75+
<div class="columns is-centered">
76+
<div class="column has-text-centered">
77+
<h1 class="title is-1 publication-title">Constrained Articulated Body Dynamics Algorithms</h1>
78+
<div class="is-size-5 publication-authors">
79+
<span class="author-block">
80+
<a href="https://www.ajaysathya.com">Ajay Suresha Sathya</a><sup></sup>,</span>
81+
<span class="author-block">
82+
<a href="https://jcarpent.github.io">Justin Carpentier</a><sup></sup>,</span>
83+
</div>
84+
85+
<!-- <div class="is-size-5 publication-authors">
86+
<span class="author-block"><sup>*</sup>Equal contribution. Authors are listed in alphabetical order.</span>
87+
</div> -->
88+
89+
<div class="is-size-5 publication-authors">
90+
<span class="author-block">All authors are with INRIA Willow.</span>
91+
</div>
92+
93+
<div class="column has-text-centered">
94+
<div class="publication-links">
95+
<!-- PDF Link. -->
96+
<span class="link-block">
97+
<a href="./static/paper/main.pdf"
98+
class="external-link button is-normal is-rounded is-dark">
99+
<span class="icon">
100+
<i class="fas fa-file-pdf"></i>
101+
</span>
102+
<span>Paper</span>
103+
</a>
104+
</span>
105+
<span class="link-block">
106+
<a href="https://hal.science/hal-04443056"
107+
class="external-link button is-normal is-rounded is-dark">
108+
<span class="icon">
109+
<i class="fas fa-globe-europe"></i>
110+
</span>
111+
<span>HAL</span>
112+
</a>
113+
</span>
114+
<span class="link-block">
115+
<a href="https://ieeexplore.ieee.org/document/10758251/"
116+
class="external-link button is-normal is-rounded is-dark">
117+
<span class="icon">
118+
<i class="fas fa-globe-europe"></i>
119+
</span>
120+
<span>IEEE T-RO</span>
121+
</a>
122+
</span>
123+
<!-- <span class="link-block">
124+
<a href="https://arxiv.org/abs/2405.17020"
125+
class="external-link button is-normal is-rounded is-dark">
126+
<span class="icon">
127+
<i class="ai ai-arxiv"></i>
128+
</span>
129+
<span>arXiv</span>
130+
</a>
131+
</span> -->
132+
<!-- Video Link.
133+
<span class="link-block">
134+
<a href="https://youtu.be/i_qg9cTx0NY?si=NGtx1tiYrIGtHXSK"
135+
class="external-link button is-normal is-rounded is-dark">
136+
<span class="icon">
137+
<i class="fab fa-youtube"></i>
138+
</span>
139+
<span>Video</span>
140+
</a>
141+
</span> -->
142+
<!-- Code Link. -->
143+
<span class="link-block">
144+
<a href="https://github.com/stack-of-tasks/pinocchio/blob/d091266a94b5e2357862548ecfe0836e230a2c75/include/pinocchio/algorithm/pv.hxx"
145+
class="external-link button is-normal is-rounded is-dark">
146+
<span class="icon">
147+
<i class="fab fa-github"></i>
148+
</span>
149+
<span>Code</span>
150+
</a>
151+
</span>
152+
</div>
153+
154+
</div>
155+
</div>
156+
</div>
157+
</div>
158+
</div>
159+
</section>
160+
161+
<section class="section">
162+
<!-- <div class="container is-max-desktop">
163+
164+
<div class="columns is-centered has-text-centered">
165+
<div class="column is-four-fifths">
166+
<div class="publication-video">
167+
<iframe src="https://www.youtube.com/embed/i_qg9cTx0NY"
168+
frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
169+
</div>
170+
</div>
171+
</div> -->
172+
<!--/ Paper video. -->
173+
174+
<!-- Abstract. -->
175+
<div class="columns is-centered has-text-centered">
176+
<div class="column is-four-fifths">
177+
<h2 class="title is-3">Abstract</h2>
178+
<div class="content has-text-justified">
179+
<p>
180+
Rigid-body dynamics algorithms have played an essential role in robotics development. By finely exploiting the underlying robot structure, they allow the computation of the robot kinematics, dynamics, and related physical quantities with low complexity, enabling their integration into chipsets with limited resources or their evaluation at very high frequency for demanding applications (e.g., model predictive control, large-scale simulation, reinforcement learning, etc.). While most of these algorithms operate on constraint-free settings, only a few have been proposed so far to adequately account for constrained dynamical systems while depicting low algorithmic complexity. In this article, we introduce a series of new algorithms with reduced (and lowest) complexity for the forward simulation of constrained dynamical systems. Notably, we revisit the so-called articulated body algorithm (ABA) and the Popov–Vereshchagin algorithm (PV) in the light of proximal-point optimization and introduce two new algorithms, called constrained ABA and proxPV. These two new algorithms depict linear complexities while being robust to singular cases (e.g., redundant constraints, singular constraints, etc.). We establish the connection with existing literature formulations, especially the relaxed formulation at the heart of the MuJoCo and Drake simulators. We also propose an efficient and new algorithm to compute the damped Delassus inverse matrix with the lowest known computational complexity. All these algorithms have been implemented inside the open-source framework Pinocchio and depict, on a wide range of robotic systems ranging from robot manipulators to complex humanoid robots, state-of-the-art performances compared to alternative solutions of the literature.
181+
</p>
182+
</div>
183+
</div>
184+
</div>
185+
<!--/ Abstract. -->
186+
<div class="columns is-centered has-text-centered">
187+
<div class="column is-max-desktop">
188+
<h2 class="title is-3">Overview</h2>
189+
<div class="container is-max-desktop">
190+
191+
<div class="columns is-centered">
192+
193+
<div class="column">
194+
<div class="content">
195+
<image src="./static/images/overview_caba.png" alt="Computational time for UR5 robot." style="width:100%"></image>
196+
</div>
197+
The proximal formulation of the equality-constrained dynamics problem results in four different algorithms, namely proxLTL, proxLTLs, proxPV, and constrainedABA depending on the usage of maximal or minimal coordinates during derivation and the order of elimination of the primal and dual variables, as shown in the overview figure above.
198+
</div>
199+
200+
</div>
201+
</div>
202+
</div>
203+
</div>
204+
<!--/ Benchmarks. -->
205+
</div>
206+
</section>
207+
<!-- Benchmarks. -->
208+
<div class="columns is-centered has-text-centered">
209+
<div class="column is-max-desktop">
210+
<h2 class="title is-3">Selected Benchmarks</h2>
211+
<div class="container is-max-desktop">
212+
213+
<div class="columns is-centered">
214+
215+
<div class="column">
216+
<div class="content">
217+
<image src="./static/images/tab_timings.png" alt="Computational timings of different algorithms." style="width:100%"></image>
218+
</div>
219+
</div>
220+
221+
<!-- <div class="column">
222+
<div class="content">
223+
<image src="./static/images/humanoid.png" alt="Computational time for MuJoCo humanoid." style="width:100%">
224+
</div>
225+
</div> -->
226+
227+
<div class="column">
228+
<div class="content">
229+
<image src="./static/images/operation_count_talos.png" alt="Operation count Talos." style="width:100%">
230+
</div>
231+
</div>
232+
</div>
233+
</div>
234+
</div>
235+
</div>
236+
<!--/ Benchmarks. -->
237+
</div>
238+
</section>
239+
240+
241+
<section class="section">
242+
<div class="container is-max-desktop">
243+
244+
<!-- Concurrent Work. -->
245+
<div class="columns is-centered">
246+
<div class="column is-full-width">
247+
<h2 class="title is-3">Related Links</h2>
248+
249+
<div class="content has-text-justified">
250+
This work heavily relies on the <a
251+
href="https://github.com/stack-of-tasks/pinocchio">Pinocchio</a> library.
252+
</div>
253+
</div>
254+
</div>
255+
<!--/ Concurrent Work. -->
256+
257+
</div>
258+
</section>
259+
260+
261+
<section class="section" id="BibTeX">
262+
<div class="container is-max-desktop content">
263+
<h2 class="title">BibTeX</h2>
264+
<pre><code>@ARTICLE{sathya_constrainedABA_2024,
265+
author={Sathya, Ajay Suresha and Carpentier, Justin},
266+
journal={IEEE Transactions on Robotics},
267+
title={Constrained Articulated Body Dynamics Algorithms},
268+
year={2025},
269+
volume={41},
270+
number={},
271+
pages={430-449},
272+
keywords={Heuristic algorithms;Robots;Robot kinematics;Symmetric matrices;Vectors;Prediction algorithms;Kinematics;Computational efficiency;Computational complexity;Symbols;Direct/inverse dynamics formulation;dynamics;humanoid robots;optimization and optimal control},
273+
doi={10.1109/TRO.2024.3502515}}
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/main.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-contact-solver">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/constrainedABA/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)