Skip to content

Commit 0f8e538

Browse files
committed
Add basic stuff for T-RO 2025 paper
1 parent 2e67d14 commit 0f8e538

File tree

14 files changed

+3379
-0
lines changed

14 files changed

+3379
-0
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: 281 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,281 @@
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+
<!-- Paper video. -->
160+
<!-- <div class="columns is-centered has-text-centered">
161+
<div class="column is-four-fifths">
162+
<div class="publication-video">
163+
<iframe src="https://www.youtube.com/embed/KONsHN7nBnU"
164+
frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
165+
</div>
166+
</div>
167+
</div> -->
168+
<!--/ Paper video. -->
169+
170+
<!-- Abstract. -->
171+
<div class="columns is-centered has-text-centered">
172+
<div class="column is-four-fifths">
173+
<h2 class="title is-3">Abstract</h2>
174+
<div class="content has-text-justified">
175+
<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>
176+
<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>
177+
<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>
178+
</div>
179+
</div>
180+
</div>
181+
<!--/ Abstract. -->
182+
183+
<!-- Results. -->
184+
<h2 class="title is-3">Results</h2>
185+
186+
<div class="has-text-justified">
187+
<h3 class="title is-4">Solving cyclic LQ problems</h3>
188+
<p>One of the side-effects of our formulation, is the ability to tackle linear-quadratic problems with cyclical constraints of the form \(G_0x_0 + G_Nx_N + g = 0\).</p>
189+
<p>
190+
The following is a two-dimensional LQ problem over \(N = 20\) steps with no initial condition but a cyclical condition \(x_0 = x_N\), and some transient costs that steer the generated trajectory close to two points \(\bar{x}_5\) and \(\bar{x}_{15}\).
191+
</p>
192+
<div class="content has-text-centered">
193+
<img src="./static/images/gar-cyclic-lqr-2d.png" alt="2D cyclic LQ problem"
194+
style="width: 60%;">
195+
</div>
196+
</div>
197+
198+
199+
<!--/ Results. -->
200+
</div>
201+
</section>
202+
203+
204+
<section class="section">
205+
<div class="container is-max-desktop">
206+
207+
<!-- Concurrent Work. -->
208+
<div class="columns is-centered">
209+
<div class="column is-full-width">
210+
<h2 class="title is-3">Related Links</h2>
211+
212+
<div class="content has-text-justified">
213+
This work heavily relies on the
214+
<a href="https://github.com/Simple-Robotics/aligator">aligator</a>
215+
and
216+
<a href="https://github.com/stack-of-tasks/pinocchio">Pinocchio</a>
217+
libraries, as well as the
218+
<a href="https://github.com/inria-paris-robotics-lab/quadruped-reactive-walking">quadruped-reactive-walking</a> framework for whole-body NMPC on Solo.
219+
</div>
220+
</div>
221+
</div>
222+
<!--/ Concurrent Work. -->
223+
224+
</div>
225+
</section>
226+
227+
228+
<section class="section" id="BibTeX">
229+
<div class="container is-max-desktop content">
230+
<h2 class="title">BibTeX</h2>
231+
<pre><code>@article{jalletPROXDDPProximalConstrained2025,
232+
title = {PROXDDP: Proximal Constrained Trajectory Optimization},
233+
shorttitle = {PROXDDP},
234+
author = {Jallet, Wilson and Bambade, Antoine and Arlaud, Etienne and {El-Kazdadi}, Sarah and Mansard, Nicolas and Carpentier, Justin},
235+
year = {2025},
236+
journal = {IEEE Transactions on Robotics},
237+
pages = {1--20},
238+
issn = {1941-0468},
239+
doi = {10.1109/TRO.2025.3554437},
240+
urldate = {2025-04-04},
241+
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}
242+
}</code></pre>
243+
</div>
244+
</section>
245+
246+
247+
<footer class="footer">
248+
<div class="container">
249+
<div class="content has-text-centered">
250+
<a class="icon-link"
251+
href="./static/paper/rssparallelclqr2024.pdf">
252+
<i class="fas fa-file-pdf"></i>
253+
</a>
254+
<a class="icon-link" href="https://github.com/Simple-Robotics" class="external-link" disabled>
255+
<i class="fab fa-github"></i>
256+
</a>
257+
</div>
258+
<div class="columns is-centered">
259+
<div class="column is-8">
260+
<div class="content">
261+
<p>
262+
This website is licensed under a <a rel="license"
263+
href="http://creativecommons.org/licenses/by-sa/4.0/">Creative
264+
Commons Attribution-ShareAlike 4.0 International License</a>.
265+
</p>
266+
<p>
267+
We thank <a
268+
href="https://github.com/nerfies/nerfies.github.io">Nerfies</a> for creating the template of this webpage.
269+
You are free to borrow the <a
270+
href="https://github.com/simple-robotics.github.io/publications/simple-contact-solver">source code</a>,
271+
we just ask that you link back to the <a
272+
href="https://github.com/nerfies/nerfies.github.io">Nerfies</a> page in the footer.
273+
</p>
274+
</div>
275+
</div>
276+
</div>
277+
</div>
278+
</footer>
279+
280+
</body>
281+
</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)