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.

Features

  • 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

Installation

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

Citation

If this project is useful for your work please consider:

Licence

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