Abstract

In this paper, we discuss the development of an Interior Point Method (IPM) solver for Second Order Cone Programming optimization problems that is capable of producing customized ANSI-C code for embedded, real-time applications. The customized code is generated for a given problem structure and makes use of no dynamic memory allocation, minimizes branching, wastes no mathematical or logical computations, and has minimal dependencies to standard libraries. The resulting software is designed to be easy to implement on embedded hardware with limited computing capabilities, while still providing accurate results rapidly enough for real-time use. The core IPM algorithm is a fairly standard primal-dual IPM, which makes use of Mehrotra predictor-corrector method with Nesterov-Todd scalings and Newton search directions. We make use of the Approximate Minimum Degree heuristic to maximize the sparsity of the Cholesky factorizations that are ultimately used to solve for the search directions. We conclude the paper by presenting the computational performance results from two example problems: a Mars landing optimal control problem and a reaction wheel allocation problem. The code generated for the Mars landing problem was successfully validated in three flights onboard a NASA test rocket, and was used in real-time to generate the optimal landing trajectories that guided the rocket. To the best of our knowledge, this was the first time that a real-time embedded convex optimization algorithm was used to control such a large vehicle, where mission success and safety critically relied on the real-time optimization algorithm.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call