CALIPSO
A Differentiable Solver for Trajectory Optimization
with Conic and Complementarity Constraints



Taylor Howell
thowell@stanford.edu
Simon Le Cleac'h
simonlc@stanford.edu
Zachary Manchester
zacm@cmu.edu

Kevin Tracy
ktracy@cmu.edu



interesting constraints are everywhere in robotics

interesting constraints are everywhere in robotics




complementarity
interesting constraints are everywhere in robotics






complementarity
cones
non-negative orthant
second-order
existing tools

existing tools


key ideas
primal-dual
augmented Lagrangian
complementarity constraints

state-triggered constraints

key ideas
primal-dual
augmented Lagrangian
complementarity constraints
interior-point
cone programming
inequality + second-order cone constraints



state-triggered constraints
impact
friction


key ideas
primal-dual
augmented Lagrangian
complementarity constraints
interior-point
cone programming
inequality + second-order cone constraints
implicit
differentiation
gradients through solver





state-triggered constraints
impact
friction
untuned
tuned







examples
ball-in-cup
bunny hop
quadruped gait
drifting




examples
ball-in-cup
bunny hop
quadruped gait
drifting
https://github.com/thowell/CALIPSO.jl


https://arxiv.org/abs/2205.09255
CALIPSO
A Differentiable Solver for Trajectory Optimization
with Conic and Complementarity Constraints
Taylor Howell, Kevin Tracy, Simon Le Cleac'h, Zachary Manchester
https://arxiv.org/abs/2205.09255
https://github.com/thowell/CALIPSO.jl

https://github.com/thowell/CALIPSO.jl

open-source solver
https://github.com/thowell/CALIPSO.jl

open-source solver
examples
https://github.com/thowell/CALIPSO.jl

open-source solver
examples
documentation
motivation

planning
motivation


planning
model-predictive control
motivation
for non-smooth systems


planning
model-predictive control
complementarity constraints

complementarity constraints



complementarity constraints



cone constraints

cone constraints

positive orthant
cone constraints

positive orthant

second-order cone
cone constraints

positive orthant

second-order cone
non-differentiable
application to robotics

application to robotics

friction cones
application to robotics

friction cones
impact constraints
application to robotics

friction cones
impact constraints
thrust limits
application to robotics

friction cones
impact constraints
thrust limits
state-triggered constraints
contact-implicit trajectory optimization
1D particle + impact + goal

contact-implicit trajectory optimization


contact-implicit trajectory optimization


contact-implicit trajectory optimization


complementarity constraints
contact-implicit trajectory optimization


cone constraints
contact-implicit trajectory optimization

Lagrangian
contact-implicit trajectory optimization

Lagrangian
KKT system

contact-implicit trajectory optimization

Lagrangian
KKT system
linear independence constraint qualification (LICQ) violation

contact-implicit trajectory optimization

Lagrangian
KKT system

cone variables
contact-implicit trajectory optimization

Lagrangian
KKT system

complementarity constraints
how do we solve these problems?
general-purpose solvers

trajectory-optimization solvers

trajectory-optimization solvers


trajectory-optimization solvers


CALIPSO key ideas
CALIPSO key ideas
primal-dual
augmented Lagrangian
complementarity constraints
CALIPSO key ideas
primal-dual
augmented Lagrangian
complementarity constraints
interior-point
cone programming
inequality + second-order cone constraints
CALIPSO key ideas
primal-dual
augmented Lagrangian
complementarity constraints
interior-point
cone programming
inequality + second-order cone constraints
implicit
differentiation
gradients through solver
augmented Lagrangian

augmented Lagrangian


augmented Lagrangian

primal method
augmented Lagrangian

primal method
primal-dual method

augmented Lagrangian

primal method
primal-dual method


dual update
interior-point

interior-point


interior-point

primal method
interior-point

primal method
primal-dual method

CALIPSO solver

CALIPSO solver

primal-dual augmented Lagrangian
CALIPSO solver

primal-dual augmented Lagrangian
interior-point method
CALIPSO solver

primal-dual augmented Lagrangian
interior-point method
problem data
implicit differentiation

solver finds a fixed point
implicit differentiation


solver finds a fixed point
solution sensitivities are efficiently computed
examples
https://github.com/thowell/CALIPSO.jl




CALIPSO
quadruped
ball-in-cup
bunny hop
drifting
CYBERDRIFT

model: Dubins car model subject to friction
ball-in-cup

model: end effector, ball, and string
bunny hop

model: body mass attached to two wheels via springs + dampers
quadruped gait

state-triggered constraints

non-smooth
complementarity
state-triggered constraints

non-smooth
complementarity
rocket landing

optimal unconstrained solution
state-triggered constraint solution
MPC autotuning
MPC autotuning
track reference trajectory

MPC autotuning

track reference trajectory

linear MPC policy
MPC autotuning

track reference trajectory

linear MPC policy
learn policy objective weights
acrobot swingup

open loop
(unstable)
acrobot swingup


open loop
untuned MPC
(unstable)
acrobot swingup



open loop
untuned MPC
autotuned MPC
( < 10 gradient steps!)
(unstable)
future work
- semidefinite cones
- fast implementation for real-time MPC
- package precompilation
- JAX/Torch/Chainrules.jl
- codegen for embedded applications



Taylor Howell
Simon Le Cleac'h
Zachary Manchester
team

Kevin Tracy
roboticexplorationlab.org

CALIPSO
By taylorhowell
CALIPSO
- 339