#include "lmiOptimizer.h"
#include <stdio.h>
#include "grasp.h"
#include "matvec3D.h"
#include "robot.h"
#include "contact.h"
#include "lapack_wrappers.h"
#include "maxdet.h"
Go to the source code of this file.
Defines | |
#define | errMsg(S_) |
Functions | |
double * | block_Identity (int numBlocks, int *blockSizes, int pkSize) |
double * | combineLMIs (int numVariables, double *lmi1, int lmi1RowSz, double *lmi2, int lmi2RowSz) |
void | FatalErrMsg (char *s) |
double * | lmiContactLimits (int numForces, int nullDim, double *nullSpace, double *minNormSln, double *lowerBounds, double *upperBounds) |
double * | maxdet_wrap (int m, int L, double *F, int *F_blkszs, int K, double *G, int *G_blkszs, double *c, double *z0, double *Z, double *W, double gamma, double abstol, double reltol, int *pNTiters, int negativeFlag, FILE *pRstFile) |
Variables | |
bool | errorOccurred = false |
#define errMsg | ( | S_ | ) |
{ \ fprintf(stderr,"error: %s\n",S_);\ errorOccurred = true; \ return; \ }
Definition at line 52 of file lmiOptimizer.cpp.
double* block_Identity | ( | int | numBlocks, | |
int * | blockSizes, | |||
int | pkSize | |||
) |
Create a diagonal-block identity matrix
Definition at line 62 of file lmiOptimizer.cpp.
double* combineLMIs | ( | int | numVariables, | |
double * | lmi1, | |||
int | lmi1RowSz, | |||
double * | lmi2, | |||
int | lmi2RowSz | |||
) |
Combines LMIs lmi1 >0 and lmi2 >0 into the LMI
[lmi1 0]
[0 lmi2] > 0
Definition at line 669 of file lmiOptimizer.cpp.
void FatalErrMsg | ( | char * | s | ) |
Definition at line 46 of file lmiOptimizer.cpp.
double* lmiContactLimits | ( | int | numForces, | |
int | nullDim, | |||
double * | nullSpace, | |||
double * | minNormSln, | |||
double * | lowerBounds, | |||
double * | upperBounds | |||
) |
This sets up the contact limits lmi. It requires the Grasp map null space, the minimum norm solution and the lower and upper bounds of each null space dimension.
Adapted from Li Han's Code.
Definition at line 377 of file lmiOptimizer.cpp.
double* maxdet_wrap | ( | int | m, | |
int | L, | |||
double * | F, | |||
int * | F_blkszs, | |||
int | K, | |||
double * | G, | |||
int * | G_blkszs, | |||
double * | c, | |||
double * | z0, | |||
double * | Z, | |||
double * | W, | |||
double | gamma, | |||
double | abstol, | |||
double | reltol, | |||
int * | pNTiters, | |||
int | negativeFlag, | |||
FILE * | pRstFile | |||
) |
Prepare the parameters used by maxdet package and use it to solve the maxdet optimization problem.
Definition at line 690 of file lmiOptimizer.cpp.
bool errorOccurred = false |
Definition at line 41 of file lmiOptimizer.cpp.