rsLQR
0.1
|
Main solver for rsLQR. More...
#include <solver.h>
Data Fields | |
int | nstates |
size of state vector | |
int | ninputs |
number of control inputs | |
int | nhorizon |
length of the time horizon | |
int | depth |
depth of the binary tree | |
int | nvars |
number of decision variables (size of the linear system) | |
OrderedBinaryTree | tree |
Matrix * | diagonals |
(nhorizon,2) array of diagonal blocks (Q,R) | |
NdData * | data |
original matrix data | |
NdData * | fact |
factorization | |
NdData * | soln |
solution vector (also the initial RHS) | |
NdLqrCholeskyFactors * | cholfacts |
double | solve_time_ms |
total solve time in milliseconds. | |
double | linalg_time_ms |
NdLqrProfile | profile |
int | num_threads |
Number of threads used by the solver. | |
Main solver for rsLQR.
Core struct for solving problems with rsLQR. Allocates all the required memory up front to avoid any dynamic memory allocations at runtime. Right now, the horizon length is required to be a power of 2 (e.g. 32,64,128,256,etc.).
Use ndlqr_NewNdLqrSolver() to initialize a new solver. This should always be paired with a single call to ndlqr_FreeNdLqrSolver().