510 research outputs found
Efficient Implementation of the Riccati Recursion for Solving Linear-Quadratic Control Problems
in the form of linear-quadratic (LQ) control problems need to be solved at each iteration. The solution of these sub-problems is typically the main computational effort at each iteration. In this paper, we compare a number of solvers for an extended formulation of the LQ control problem: a Riccati recursion based solver can be considered the best choice for the general problem with dense matrices. Furthermore, we present a novel version of the Riccati solver, that makes use of the Cholesky factorization of the Pn matrices to reduce the number of flops. When combined with regularization and mixed precision, this algorithm can solve large instances of the LQ control problem up to 3 times faster than the classical Riccati solver. I
A Parallel Riccati Factorization Algorithm with Applications to Model Predictive Control
Model Predictive Control (MPC) is increasing in popularity in industry as
more efficient algorithms for solving the related optimization problem are
developed. The main computational bottle-neck in on-line MPC is often the
computation of the search step direction, i.e. the Newton step, which is often
done using generic sparsity exploiting algorithms or Riccati recursions.
However, as parallel hardware is becoming increasingly popular the demand for
efficient parallel algorithms for solving the Newton step is increasing. In
this paper a tailored, non-iterative parallel algorithm for computing the
Riccati factorization is presented. The algorithm exploits the special
structure in the MPC problem, and when sufficiently many processing units are
available, the complexity of the algorithm scales logarithmically in the
prediction horizon. Computing the Newton step is the main computational
bottle-neck in many MPC algorithms and the algorithm can significantly reduce
the computation cost for popular state-of-the-art MPC algorithms
Low-Rank Modifications of Riccati Factorizations for Model Predictive Control
In Model Predictive Control (MPC) the control input is computed by solving a
constrained finite-time optimal control (CFTOC) problem at each sample in the
control loop. The main computational effort is often spent on computing the
search directions, which in MPC corresponds to solving unconstrained
finite-time optimal control (UFTOC) problems. This is commonly performed using
Riccati recursions or generic sparsity exploiting algorithms. In this work the
focus is efficient search direction computations for active-set (AS) type
methods. The system of equations to be solved at each AS iteration is changed
only by a low-rank modification of the previous one, and exploiting this
structured change is important for the performance of AS type solvers. In this
paper, theory for how to exploit these low-rank changes by modifying the
Riccati factorization between AS iterations in a structured way is presented. A
numerical evaluation of the proposed algorithm shows that the computation time
can be significantly reduced by modifying, instead of re-computing, the Riccati
factorization. This speed-up can be important for AS type solvers used for
linear, nonlinear and hybrid MPC
A Family of Iterative Gauss-Newton Shooting Methods for Nonlinear Optimal Control
This paper introduces a family of iterative algorithms for unconstrained
nonlinear optimal control. We generalize the well-known iLQR algorithm to
different multiple-shooting variants, combining advantages like
straight-forward initialization and a closed-loop forward integration. All
algorithms have similar computational complexity, i.e. linear complexity in the
time horizon, and can be derived in the same computational framework. We
compare the full-step variants of our algorithms and present several simulation
examples, including a high-dimensional underactuated robot subject to contact
switches. Simulation results show that our multiple-shooting algorithms can
achieve faster convergence, better local contraction rates and much shorter
runtimes than classical iLQR, which makes them a superior choice for nonlinear
model predictive control applications.Comment: 8 page
An algorithm for the solution of dynamic linear programs
The algorithm's objective is to efficiently solve Dynamic Linear Programs (DLP) by taking advantage of their special staircase structure. This algorithm constitutes a stepping stone to an improved algorithm for solving Dynamic Quadratic Programs, which, in turn, would make the nonlinear programming method of Successive Quadratic Programs more practical for solving trajectory optimization problems. The ultimate goal is to being trajectory optimization solution speeds into the realm of real-time control. The algorithm exploits the staircase nature of the large constraint matrix of the equality-constrained DLPs encountered when solving inequality-constrained DLPs by an active set approach. A numerically-stable, staircase QL factorization of the staircase constraint matrix is carried out starting from its last rows and columns. The resulting recursion is like the time-varying Riccati equation from multi-stage LQR theory. The resulting factorization increases the efficiency of all of the typical LP solution operations over that of a dense matrix LP code. At the same time numerical stability is ensured. The algorithm also takes advantage of dynamic programming ideas about the cost-to-go by relaxing active pseudo constraints in a backwards sweeping process. This further decreases the cost per update of the LP rank-1 updating procedure, although it may result in more changes of the active set that if pseudo constraints were relaxed in a non-stagewise fashion. The usual stability of closed-loop Linear/Quadratic optimally-controlled systems, if it carries over to strictly linear cost functions, implies that the saving due to reduced factor update effort may outweigh the cost of an increased number of updates. An aerospace example is presented in which a ground-to-ground rocket's distance is maximized. This example demonstrates the applicability of this class of algorithms to aerospace guidance. It also sheds light on the efficacy of the proposed pseudo constraint relaxation scheme
Controlling the level of sparsity in MPC
In optimization routines used for on-line Model Predictive Control (MPC),
linear systems of equations are usually solved in each iteration. This is true
both for Active Set (AS) methods as well as for Interior Point (IP) methods,
and for linear MPC as well as for nonlinear MPC and hybrid MPC. The main
computational effort is spent while solving these linear systems of equations,
and hence, it is of greatest interest to solve them efficiently. Classically,
the optimization problem has been formulated in either of two different ways.
One of them leading to a sparse linear system of equations involving relatively
many variables to solve in each iteration and the other one leading to a dense
linear system of equations involving relatively few variables. In this work, it
is shown that it is possible not only to consider these two distinct choices of
formulations. Instead it is shown that it is possible to create an entire
family of formulations with different levels of sparsity and number of
variables, and that this extra degree of freedom can be exploited to get even
better performance with the software and hardware at hand. This result also
provides a better answer to an often discussed question in MPC; should the
sparse or dense formulation be used. In this work, it is shown that the answer
to this question is that often none of these classical choices is the best
choice, and that a better choice with a different level of sparsity actually
can be found
High-Performance Small-Scale Solvers for Moving Horizon Estimation
In this paper we present a moving horizon estimation (MHE) formulation suitable to easily describe the quadratic programs (QPs) arising in constrained and nonlinear MHE. We propose algorithms for factorization and solution of the underlying Karush-Kuhn-Tucker (KKT) system, as well as the efficient implementation techniques focusing on small-scale problems. The proposed MHE solver is implemented using custom linear algebra routines and is compared against implementations using BLAS libraries. Additionally, the MHE solver is interfaced to a code generation tool for nonlinear model predictive control (NMPC) and nonlinear MHE (NMHE). On an example problem with 33 states, 6 inputs and 15 estimation intervals execution times below 500 microseconds are reported for the QP underlying the NMHE. 1
- …