mpctool

include/mpc_base.h

Go to the documentation of this file.
00001 
00004 #ifndef MPC_BASE_H
00005 #define MPC_BASE_H
00006 #include "mc04types.h"
00007 
00008 typedef float64_t real_t; 
00011 struct mpc_conf {
00012 uint32_t in_iter;  
00013 uint32_t ex_iter;  
00014 uint32_t warmstart;  
00015 }; 
00018 struct mpc_qpx {
00019 real_t *HoL;  
00020 real_t *gxoL;  
00021 real_t *E;  
00022 real_t *u_lb;  
00023 real_t *u_ub;  
00024 real_t *zx_lb;  
00025 real_t *zx_ub;  
00026 uint32_t HOR_INPUTS;  
00027 uint32_t HOR_STCONSTRS;  
00028 };  
00030 struct mpc_sys {
00031 real_t *Ad;  
00032 real_t *Bd;  
00033 real_t *Ad_T;  
00034 real_t *Bd_T;  
00035 real_t *dt;  
00036 }; 
00038 struct mpc_wmx {
00039 real_t *Q;  
00040 real_t *R;  
00041 real_t *P;  
00042 };  
00044 struct mpc_fgm {
00045 real_t *u_0;  
00046 real_t *gxoL;  
00047 real_t *groL;  
00048 uint32_t *j_in;  
00049 real_t *HoL;  
00050 real_t *GoL;  
00051 real_t *u_lb;  
00052 real_t *u_ub;  
00053 real_t *nu;  
00054 uint32_t HOR;  
00055 uint32_t STATES;   
00056 uint32_t INPUTS;  
00057 uint32_t HOR_INPUTS;  
00058 uint32_t HOR_STATES;  
00059 };  
00061 struct mpc_alm {
00062 struct mpc_fgm *fgm;
00063 real_t *l_0;  
00064 real_t *zx_lb;  
00065 real_t *zx_ub;  
00066 uint32_t *i_ex;  
00067 real_t *mu;  
00068 real_t *E;  
00069 real_t *Kx_Ai;  
00070 real_t *e_lb;  
00071 real_t *e_ub;  
00072 real_t *Linv;  
00073 uint32_t STATES;   
00074 uint32_t STCONSTRS; 
00075 uint32_t HOR_INPUTS;  
00076 uint32_t HOR_STCONSTRS;  
00077 };  
00079 struct mpc_ctl {
00080 struct mpc_conf *conf;  
00081 struct mpc_qpx *qpx;  
00082 struct mpc_sys *sys;  
00083 struct mpc_wmx *wmx;  
00084 struct mpc_alm *alm;  
00085 real_t *u_opt;  
00086 real_t *l_opt;  
00087 real_t *u_ref;  
00088 real_t *x_ref;  
00089 real_t *u_ini;  
00090 real_t *l_ini;  
00091 };  
00093 #endif /* MPC_BASE_H */
 All Data Structures Files Functions Variables Typedefs