control_scheme_DLI_freestate {netcontrol}R Documentation

Discrete Linear Time-Invariant Free Final State Classic Control Scheme

Description

Given a system dynamics A, control input matrix B, final state weighting matrix S, intermediate state weighting matrix sequence Q_seq, and cost matrix sequence R_seq, calculates the Kalman gain sequence to minimize the LQR by time t_max. See section 2.2 of (Lewis et al. 2012) for details.

Usage

control_scheme_DLI_freestate(t_max, A, B, S, Q_seq, R_seq)

Arguments

t_max

Required. An integer total number of time points to determine the trajectory over

A

Required. A p x p matrix of system coefficients

B

Required. A p x q matrix of control weights

S

A p x p final state weighting matrix

Q_seq

A list of t p x p intermediate state weighting matrices or a single p x p intermediate state weighting matrix

R_seq

A list of t q x q intermediate cost matrices or a single q x q cost matrix

Value

A list containing an entry labeled gain_seq containing either 1 or t_max - 1 Kalman gain matrices and an entry labeled cost_func which contains a LQR function.

References

Lewis FL, Vrabie DL, Syrmos VL (2012). Optimal Control, 3rd ed edition. Wiley, Hoboken. ISBN 978-0-470-63349-6.

Examples


A = matrix(c(0,-3,-2,2,-2,1,-1,2,-1), 3,3)

#Normalize rows to sum to 1
A = solve(diag(rowSums(A))) %*% A

B = S = Q_seq = R_seq = diag(3)

CS = control_scheme_DLI_freestate(100, A, B, S, Q_seq, R_seq)


[Package netcontrol version 0.1 Index]