Skip to content

Commit 0d2f035

Browse files
authored
Merge pull request #10 from ManifoldFR/tro-proxddp
Add ProxDDP T-RO 2025 paper
2 parents b06d077 + 9d8bfcb commit 0d2f035

23 files changed

+6289
-8
lines changed

index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
<li><a href="publications/gjk-acceleration"> GJK++: Leveraging Acceleration Methods for Faster Collision Detection. (IEEE T-RO 2024)</a></li>
2424
<li><a href="publications/consensus-to-pl"> Enforcing the consensus between Trajectory Optimization and Policy Learning for precise robot control.</a></li>
2525
<li><a href="publications/raisim-revisited"> Reconciling RaiSim with the Maximum Dissipation Principle. (IEEE T-RO 2024)</a></li>
26+
<li><a href="publications/proxddp-tro-2025"> ProxDDP: Proximal Constrained Trajectory Optimization. (IEEE T-RO 2025)</a></li>
2627
</ul>
2728
</body>
2829
</html>
Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
1-
# Simple
1+
# Parallel constrained LQR
22

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).
3+
This is the repository that contains source code for the RSS 2024 paper [Parallel and Proximal Constrained Linear-Quadratic Methods for Real-Time Nonlinear MPC](https://simple-robotics.github.io/publications/parallel-clqr/index.html).
44

5-
If you find [Simple](https://github.com/Simple-Robotics/Simple) to be useful for your work please cite:
5+
If you find the parallel solver included in [aligator](https://github.com/Simple-Robotics/aligator) to be useful for your work please cite:
66
```
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},
7+
@inproceedings{jalletParallelProximalConstrained2024,
8+
title = {Parallel and Proximal Constrained Linear-Quadratic Methods for Real-Time Nonlinear MPC},
9+
booktitle = {Proceedings of Robotics: Science and Systems},
10+
author = {Jallet, Wilson and Dantec, Ewen and Arlaud, Etienne and Mansard, Nicolas and Carpentier, Justin},
11+
year = {2024},
12+
month = jul,
13+
address = {Delft, Netherlands},
14+
doi = {10.15607/RSS.2024.XX.002}
1215
}
1316
```
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
static/images/*.pdf
Lines changed: 296 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,296 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8">
5+
<meta name="description"
6+
content="Parallelized proximal constrained LQR">
7+
<meta name="keywords" content="Numerical optimization, Numerical optimal control, LQR, Riccati">
8+
<meta name="viewport" content="width=device-width, initial-scale=1">
9+
<title>aligator</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+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css" integrity="sha384-wcIxkf4k558AjM3Yz3BBFQUbk/zgIYC2R0QpeeYb+TwlBVMrlgLqwRjRtGZiK7ww" crossorigin="anonymous">
29+
<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.js" integrity="sha384-hIoBPJpTUs74ddyc4bFZSM1TVlQDA60VBbJS0oA934VSz82sBx1X7kSx2ATBDIyd" crossorigin="anonymous"></script>
30+
<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/contrib/auto-render.min.js" integrity="sha384-43gviWU0YVjaDtb/GhzOouOXtZMP/7XUzwPTstBeZFe/+rCMvRwr4yROQP43s0Xk" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
31+
</head>
32+
<body>
33+
34+
<nav class="navbar" role="navigation" aria-label="main navigation">
35+
<div class="navbar-brand">
36+
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false">
37+
<span aria-hidden="true"></span>
38+
<span aria-hidden="true"></span>
39+
<span aria-hidden="true"></span>
40+
</a>
41+
</div>
42+
<div class="navbar-menu">
43+
<div class="navbar-start" style="flex-grow: 1; justify-content: center;">
44+
<a class="navbar-item" href="https://simple-robotics.github.io">
45+
<span class="icon">
46+
<i class="fas fa-home"></i>
47+
</span>
48+
</a>
49+
50+
<div class="navbar-item has-dropdown is-hoverable">
51+
<a class="navbar-link">
52+
More Research
53+
</a>
54+
<div class="navbar-dropdown">
55+
<a class="navbar-item" href="https://ieeexplore.ieee.org/document/9981586">
56+
Constrained DDP: a primal-dual augmented Lagrangian approach
57+
</a>
58+
<a class="navbar-item" href="https://ieeexplore.ieee.org/document/9811647">
59+
Implicit differential dynamic programming
60+
</a>
61+
<a class="navbar-item" href="https://ieeexplore.ieee.org/document/10521997/">
62+
Condensed Semi-Implicit Dynamics for Trajectory Optimization in Soft Robotics
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">PROXDDP: Proximal Constrained Trajectory Optimization</h1>
78+
<h2 class="subtitle is-5 is-italic">Published in IEEE Transactions on Robotics, Volume 41, 2025</h2>
79+
<div class="is-size-5 publication-authors">
80+
<span class="author-block">
81+
<a href="https://manifoldfr.github.io">Wilson Jallet</a><sup>1,2</sup>,
82+
</span>
83+
<span class="author-block">
84+
<a href="https://github.com/edantec">Antoine Bambade</a><sup>1</sup>,
85+
</span>
86+
<span class="author-block">
87+
<a href="https://github.com/etiennear">Etienne Arlaud</a><sup>1</sup>,
88+
</span>
89+
<span class="author-block">
90+
<a href="https://github.com/sarah-quinones">Sarah El-Kazdadi</a><sup>1</sup>,
91+
</span>
92+
<span class="author-block">
93+
<a href="https://gepettoweb.laas.fr/index.php/Members/NicolasMansard">Nicolas Mansard</a><sup>2</sup>,
94+
</span>
95+
<span class="author-block">
96+
<a href="https://jcarpent.github.io">Justin Carpentier</a><sup>1</sup>,
97+
</span>
98+
</div>
99+
100+
<div class="is-size-5 publication-authors">
101+
<span class="author-block">
102+
<sup>1</sup>Willow team, INRIA and Département d'Informatique de l'École normale supérieure, Paris, France<br>
103+
<sup>2</sup>Gepetto team, LAAS-CNRS, 7 av. du colonel Roche, 31400 Toulouse, France
104+
</span>
105+
</div>
106+
107+
<div class="column has-text-centered">
108+
<div class="publication-links">
109+
<!-- PDF Link. -->
110+
<span class="link-block">
111+
<a href="https://ieeexplore.ieee.org/abstract/document/10938351"
112+
class="external-link button is-normal is-rounded is-dark">
113+
<span class="icon">
114+
<i class="fas fa-book"></i>
115+
</span>
116+
<span>IEEEXplore</span>
117+
</a>
118+
</span>
119+
<span class="link-block">
120+
<a href="https://inria.hal.science/hal-04332348"
121+
class="external-link button is-normal is-rounded is-dark">
122+
<span class="icon">
123+
<i class="fas fa-globe-europe"></i>
124+
</span>
125+
<span>HAL</span>
126+
</a>
127+
</span>
128+
<!-- Video Link. -->
129+
<!-- <span class="link-block">
130+
<a href="https://youtu.be/KONsHN7nBnU"
131+
class="external-link button is-normal is-rounded is-dark">
132+
<span class="icon">
133+
<i class="fab fa-youtube"></i>
134+
</span>
135+
<span>Video</span>
136+
</a>
137+
</span> -->
138+
<!-- Code Link. -->
139+
<span class="link-block">
140+
<a href="https://github.com/Simple-Robotics/aligator"
141+
class="external-link button is-normal is-rounded is-dark">
142+
<span class="icon">
143+
<i class="fab fa-github"></i>
144+
</span>
145+
<span>Repository for aligator</span>
146+
</a>
147+
</span>
148+
</div>
149+
150+
</div>
151+
</div>
152+
</div>
153+
</div>
154+
</div>
155+
</section>
156+
157+
<section class="section">
158+
<div class="container is-max-desktop">
159+
<div class="is-centered publication-banner">
160+
<img src="./static/images/quad_slalom.png" alt="slaloming quadcopter">
161+
</div>
162+
<!-- Paper video. -->
163+
<!-- <div class="columns is-centered has-text-centered">
164+
<div class="column is-four-fifths">
165+
<div class="publication-video">
166+
<iframe src="https://www.youtube.com/embed/KONsHN7nBnU"
167+
frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
168+
</div>
169+
</div>
170+
</div> -->
171+
<!--/ Paper video. -->
172+
173+
<!-- Abstract. -->
174+
<div class="columns is-centered has-text-centered">
175+
<div class="column is-four-fifths">
176+
<h2 class="title is-3">Abstract</h2>
177+
<div class="content has-text-justified">
178+
<p>Trajectory optimization has been a popular choice for motion generation and control in robotics for at least a decade. Several numerical approaches have exhibited the required speed to enable online computation of trajectories for real-time of various systems, including complex robots. Many of these said are based on the differential dynamic programming (DDP) algorithm—initially designed for unconstrained trajectory optimization problems— and its variants, which are relatively easy to implement and provide good runtime performance.</p>
179+
<p>However, several problems in robot control call for using constrained formulations (e.g., torque limits, obstacle avoidance), from which several difficulties arise when trying to adapt DDP-type methods: numerical stability, computational efficiency, and constraint satisfaction. In this article, we leverage proximal methods for constrained optimization and introduce a DDP-type method for fast, constrained trajectory optimization suited for model-predictive control (MPC) applications with easy warm-starting.</p>
180+
<p>Compared to earlier solvers, our approach effectively manages hard constraints without warm-start limitations and exhibits good convergence behavior. We provide a complete implementation as part of an open-source and flexible C++ trajectory optimization library called ALIGATOR. These algorithmic contributions are validated through several trajectory planning scenarios from the robotics literature and the real-time whole-body MPC of a quadruped robot.</p>
181+
</div>
182+
</div>
183+
</div>
184+
<!--/ Abstract. -->
185+
186+
<!-- Results. -->
187+
<h2 class="title is-3">Results</h2>
188+
189+
<div class="has-text-justified">
190+
<h3 class="title is-4">Benchmarks</h3>
191+
<p>
192+
An additional contribution of our journal paper is the inclusion of benchmarks against two other numerical solvers: IPOPT, which is a generic NLP solver often used in the OC community, and ALTRO, a tailored constrained solver.
193+
</p>
194+
<figure class="content has-text-centered">
195+
<div class="columns">
196+
<img class="column is-size-2" src="./static/images/ur5_reach_iterations.svg" alt="UR5 reach, iterations">
197+
<img class="column is-size-2" src="./static/images/ur5_reach_perfprofile_time.svg" alt="UR5 reach, perf profile">
198+
</div>
199+
<figcaption class="has-text-weight-semibold">UR5 reaching task: iterations and performance profile</figcaption>
200+
</figure>
201+
<figure class="content has-text-centered">
202+
<div class="columns">
203+
<img class="column" src="./static/images/ur10_ballistic_iterations.svg" alt="UR10 ballistic, iterations">
204+
<img class="column" src="./static/images/ur10_ballistic_perfprofile_time.svg" alt="UR10 ballistic, perf profile">
205+
</div>
206+
<figcaption class="has-text-weight-semibold">UR10 ballistic task: iterations and performance profile</figcaption>
207+
</figure>
208+
<p>
209+
More details can be found in Section VIII of the paper.
210+
</p>
211+
</div>
212+
213+
214+
<!--/ Results. -->
215+
</div>
216+
</section>
217+
218+
219+
<section class="section">
220+
<div class="container is-max-desktop">
221+
222+
<!-- Concurrent Work. -->
223+
<div class="columns is-centered">
224+
<div class="column is-full-width">
225+
<h2 class="title is-3">Related Links</h2>
226+
227+
<div class="content has-text-justified">
228+
This work heavily relies on the
229+
<a href="https://github.com/Simple-Robotics/aligator">aligator</a>
230+
and
231+
<a href="https://github.com/stack-of-tasks/pinocchio">Pinocchio</a>
232+
libraries, as well as the
233+
<a href="https://github.com/inria-paris-robotics-lab/quadruped-reactive-walking">quadruped-reactive-walking</a> framework for whole-body NMPC on Solo.
234+
</div>
235+
</div>
236+
</div>
237+
<!--/ Concurrent Work. -->
238+
239+
</div>
240+
</section>
241+
242+
243+
<section class="section" id="BibTeX">
244+
<div class="container is-max-desktop content">
245+
<h2 class="title">BibTeX</h2>
246+
<pre><code>@article{jalletPROXDDPProximalConstrained2025,
247+
title = {PROXDDP: Proximal Constrained Trajectory Optimization},
248+
shorttitle = {PROXDDP},
249+
author = {Jallet, Wilson and Bambade, Antoine and Arlaud, Etienne and {El-Kazdadi}, Sarah and Mansard, Nicolas and Carpentier, Justin},
250+
year = {2025},
251+
journal = {IEEE Transactions on Robotics},
252+
pages = {1--20},
253+
issn = {1941-0468},
254+
doi = {10.1109/TRO.2025.3554437},
255+
urldate = {2025-04-04},
256+
keywords = {Convergence,Heuristic algorithms,Legged Robots,Libraries,Linear systems,Minimization,Model-Predictive Control,Newton method,Optimization,Optimization and Optimal Control,Predictive control,Robots,Trajectory optimization}
257+
}</code></pre>
258+
</div>
259+
</section>
260+
261+
262+
<footer class="footer">
263+
<div class="container">
264+
<div class="content has-text-centered">
265+
<a class="icon-link"
266+
href="./static/paper/rssparallelclqr2024.pdf">
267+
<i class="fas fa-file-pdf"></i>
268+
</a>
269+
<a class="icon-link" href="https://github.com/Simple-Robotics" class="external-link" disabled>
270+
<i class="fab fa-github"></i>
271+
</a>
272+
</div>
273+
<div class="columns is-centered">
274+
<div class="column is-8">
275+
<div class="content">
276+
<p>
277+
This website is licensed under a <a rel="license"
278+
href="http://creativecommons.org/licenses/by-sa/4.0/">Creative
279+
Commons Attribution-ShareAlike 4.0 International License</a>.
280+
</p>
281+
<p>
282+
We thank <a
283+
href="https://github.com/nerfies/nerfies.github.io">Nerfies</a> for creating the template of this webpage.
284+
You are free to borrow the <a
285+
href="https://github.com/simple-robotics.github.io/publications/simple-contact-solver">source code</a>,
286+
we just ask that you link back to the <a
287+
href="https://github.com/nerfies/nerfies.github.io">Nerfies</a> page in the footer.
288+
</p>
289+
</div>
290+
</div>
291+
</div>
292+
</div>
293+
</footer>
294+
295+
</body>
296+
</html>

publications/proxddp-tro-2025/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)