
ProxNLP: a primal-dual augmented Lagrangian solver
for nonlinear programming in Robotics and beyond
Wilson Jalleta,b,*, Antoine Bambadeb,c, Nicolas Mansardaand Justin Carpentierb
Abstract— Mathematical optimization is the workhorse be-
hind several aspects of modern robotics and control. In these
applications, the focus is on constrained optimization, and the
ability to work on manifolds (such as the classical matrix
Lie groups), along with a specific requirement for robustness
and speed. In recent years, augmented Lagrangian methods
have seen a resurgence due to their robustness and flexibility,
their connections to (inexact) proximal-point methods, and
their interoperability with Newton or semismooth Newton
methods. In the sequel, we present primal-dual augmented
Lagrangian method for inequality-constrained problems on
manifolds, which we introduced in our recent work, as well
as an efficient C++ implementation suitable for use in robotics
applications and beyond.
Paper Type – Recent Work [1] under review. (Extended with
open-sourced implementation)
I. INTRODUCTION
The setting of optimization on manifolds is of great inter-
est in the field of robotics, where generalized coordinates are
naturally represented using Lie groups [2]. Further, solvers
for robotics need to account for physical constraints such as
joint angle and torque limits as well as friction cones, but
also for task-based constraints which could replace penalties
or costs. Problems such as trajectory optimization or inverse
dynamics with various task and physical constraints are
naturally expressed as nonlinear programs (NLP).
A generic nonlinear program on a manifold Mreads as
follows: min
x∈M f(x)
s.t. c(x)∈ C (1)
where c:M → Rmis a (potentially nonlinear) mapping and
C ⊂ Rmis the constraint set.
Equality and inequality-constrained case: We consider
the following generic problem, which captures most prob-
lems in nonlinear optimization, including in robotics:
min
x∈M f(x) s.t. g(x)=0, h(x)60.(2)
Most problems of interest in robotics can be expressed this
way: dynamics as equality constraints, target reaching, ob-
stacle avoidance and friction cones as inequality constraints.
Our proposed approach is based on the augmented La-
grangian method of multipliers [3], [4], [5], and its primal-
dual variant [6]. It was first introduced in1[1] where we
aLAAS-CNRS, 7 Avenue du Colonel Roche, F-31400 Toulouse, France
bInria, D´
epartement d’informatique de l’ENS, ´
Ecole normale sup´
erieure,
CNRS, PSL Research University, Paris, France
cENPC, France, *corresponding author: wjallet@laas.fr
1Paper under review.
provide an application to constrained numerical optimal
control with a novel variant of the differential dynamic pro-
gramming (DDP) algorithm. The applicability of augmented
Lagrangians to equality-constrained DDP was recently inves-
tigated in the robotics literature [7], [8], with an extension
to multiple-shooting implicit dynamics in [9].
Overall, our key contribution is an open-source C++
solver for constrained optimization on manifolds for robotics,
named proxnlp2, which relies on a novel variant of the
augmented Lagrangian method.
II. METHODOLOGY
A. Generalized primal-dual augmented Lagrangians
This approach was first introduced for equality-constrained
problems in [6]. We recently provided an extension to
inequality-constrained problems in [1] with an application to
constrained DDP. This method was further applied to convex
QPs in Bambade et al. [10].
The classical (Hestenes-Powell-Rockafellar) augmented
Lagrangian function for the problem (2) reads:
Lµ(x;ye, ze) = f(x)+ 1
2µkg(x)+µyek2
2+1
2µk[h(x)+µze]+k.
(3)
Augmented Lagrangians are known to be exact penalty
functions for constrained optimization, as in their exists an
estimate (¯y, ¯z)and penalty parameter ¯µ > 0such that a
minimizer x∗of L¯µ(·; ¯y, ¯z)is a solution of (2).
Method of multipliers: The method of multipliers al-
gorithm consists in iteratively minimizing the augmented
Lagrangian and taking a (projected) dual ascent step in the
multipliers:
xl+1 = argmin
x
Lµ(x;yl, zl),
yl+1 =ye+1
µg(xl+1)
zl+1 = [ze+1
µh(xl+1)]+
(4)
This process can also be seen as a proximal-point algorithm
for the dual problem to the initial NLP [11].
Primal-dual function: The primal-dual augmented La-
grangian (pdAL) adds a penalty term for dual variables:
Mµ(x, y, z;ye, ze)def
=Lµ(x;ye, ze)
+1
2µkg(x) + µ(ye−y)k2
2+1
2µk[h(x) + µze]+−µzk2
2
(5)
Any stationary point (x∗, y∗, z∗)of Mµ(·;ye, ze)will satisfy
the KKT conditions of the iteration (4) where yl+1 =y∗.
2https://github.com/Simple-Robotics/proxnlp.
arXiv:2210.02109v1 [cs.RO] 5 Oct 2022