Get Started

CALIPSO is a differentiable solver for trajectory optimization with conic and complementarity constraints. The solver is written in pure Julia in order to be both performant and easy to use.


  • Differentiable: Solutions are efficiently differentiable with respect to problem data provided to the solver
  • Trajectory Optimization: Problems formulated as deterministic Markov Decision Processes are automatically transcribed for the solver
  • Complementarity Constraints: Complementarity constraints can be provided to the solver without reformulation
  • Second-Order-Cone Constraints: Cone constraints are natively supported in the non-convex problem setting
  • Codegen for Derivatives: User-provided functions (e.g., objective, constraints) are symbolically differentiated and fast code is autogenerated using Symbolics.jl
  • Open Source: Code is available on GitHub and distributed under the MIT Licence


CALIPSO can be installed using the Julia package manager for Julia v1.7 and higher. Inside the Julia REPL, type ] to enter the Pkg REPL mode then run:

pkg> add CALIPSO

If you want to install the latest version from Github run:

pkg> add CALIPSO#main


If this project is useful for your work please consider:


CALIPSO is licensed under the MIT License. For more details click here.