Disclaimer: this is research code.
This package (tromp
) implements the trajectory optimisation for a two-stage method that performs trajectory
optimisation in multimodal dynamical systems with unknown nonlinear transition dynamics.
The method finds trajectories that remain in a preferred dynamics mode where possible and in regions
of the transition dynamics model that have been observed so can be predicted confidently.
The first stage leverages a Mixture of Gaussian Process Experts method to learn a predictive dynamics model from historical data. See my mogpe package for an implementation in GPflow 2.1/TensorFlow 2.4+. Importantly, this model infers a Gaussian process posterior over a gating function that indicates the probability of being in a particular dynamics mode at each state.
The trajectory optimisation in this package projects the optimisation onto this gating function (which parameterises a probabilistic manifold). Shortest paths (aka geodesics) on this manifold satisfy a continuous-time second-order ODE. This package implements three methods for solving the resulting trajectory optimisation problem in this ODE:
- Shooting method (simplest)
- Multiple shooting method
- Collocation (recommended)
The method works on probabilistic manifolds parameterised by Gaussian processes and sparse variational Gaussian processes.