Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Linear Quadratic Trajectory Optimization Problems

Unconstrained Problems

Let us start by addressing the case where dynamics of our system are linear and the cost functions quadratic This problem is very similar to that of finite-horizon LQR. In fact, it differs only in the inclusion of the cross term , which can also be easily incorporated into LQR and linear terms and which can be accounted for in LQR if one considers the value function in the form . Also there is an additional term who’s utility we will show later, when discussing nonlinear trajectory optimization.

There are a few approach that can be used to solve this problem which differ mostly in their algorithmic complexity based on how the sparse structure of optimization problem is exploited.

Condensing

One way to exploit the block sparse structure is to eliminate states from the problem’s decision variables. As the constraint (2b) corresponds to the evolution of a linear time-varying system, states are fully determined by inputs and the initial state As a consequence of these eliminations, the resulting optimization problem is unconstrained and the matrix (of the quadratic term) in the objective function is dense. The algorithmic complexity of condensing is typically .

Solving the KKT system

Another way to exploit the sparse structure is to solve the problem’s KKT conditions

either using sparse linear algebra routines or by manual factorizations. In both cases the algorithmic complexity of can be achieved.

Riccati recursion

Riccati recursion is a process of factorizing the system of KKT conditions. If we consider the KKT conditions we can step-by-step condense them into the form where To tackle the KKT system as a whole we start by setting and traversing the horizon backwards to . The optimal inputs are given as an affine function of

The name “Riccati recursion” is not incidental. In fact there is a close relationship between the factorization process we have just described and obtaining the optimal control using discrete-time finite-horizon LQR. First of all, terms and can be used to form the value function Then if we look at (3a) we can see that it differs from the discrete-time dynamics Riccati equation only in the inclusion of the cross term . In fact if we were to include terms , , , in the problem when deriving DT-FH-LQR, we would also have terms and given by (3) and the optimal control input would take the form of (4).

The full derivation of the Riccati recursion is located here.

Constrained Problems

In addition to (2b-c) we may also add other affine equality/inequality constraints, such as at which point the problem is still classified as a quadratic program. In this case, without the knowledge of constrained optimization method, we can either use optimization modeling languages or use sparse solvers for QP. Alternatively, if constrained optimization methods are applied, they generally form a sequence of problems similar to (2) which can be solved using the Riccati recursion.