Software

Open-source solvers, interfaces, demos, and research code maintained by the lab.

Open-source code

The lab publishes software for sequential convex programming, conic optimization, trajectory planning, and temporal-logic specifications. This page links to the public repositories and the relevant project pages where available.

Solvers and toolboxes

SCPToolbox.jl

Sequential Convex Programming Toolbox for nonconvex trajectory optimization.

Julia

qoco

Quadratic Objective Conic Optimizer for real-time conic optimization.

C Docs

qocogen

Custom solver generator for quadratic-objective second-order cone programs.

Python

Interfaces

qoco-python

Python interface for the QOCO solver.

Python

QOCO.jl

Julia MathOptInterface wrapper for QOCO.

Julia

qoco-matlab

MATLAB interface for the QOCO solver.

MATLAB

Trajectory optimization projects

ct-scvx

Successive convexification with continuous-time constraint satisfaction.

Research code Related project

nmpc-ctcs

Nonlinear model predictive control with continuous-time constraint satisfaction.

Research code

HALO

Hazard-aware landing optimization for perception-coupled landing guidance.

CT-cSTC

Sequential convex programming for powered descent guidance with compound state-triggered constraints.

Research code

Temporal logic and decision tools

D-GMSR

Optimization with temporal and logical specifications via generalized mean-based smooth robustness measures.

Research code Related project

TrajOpt_CT-STL

Trajectory optimization with continuous-time satisfaction of signal temporal logic specifications.

Research code

Demos and legacy tools

pipg-demo

Demonstration of the PIPG algorithm for trajectory optimization.

Notebook

prox-convex

A proximal method for composite optimization with smooth and convex components.

Research code

optgui

Graphical interface for trajectory generation with successive convexification.

C++