libmove3d
3.13.0
|
00001 #ifndef FLAT_STRUCT_H 00002 #define FLAT_STRUCT_H 00003 00004 #include "const_flat.h" 00005 00006 /* data-structure used in flatness library */ 00007 00008 /* geometric parameters of a trailer connection 00009 imported from GenoM module genPos */ 00010 /* GENPOS_TRCART_KIN_PARAM_STR --> GENPOS_TRAILER_CONNECTION */ 00011 typedef struct GENPOS_TRAILER_CONNECTION { 00012 double l1; /* distance axe des roues robot, pt d'attache */ 00013 double l2; /* distance axe des roues remorque, pt d'attache */ 00014 double maxAngle; 00015 } GENPOS_TRAILER_CONNECTION; 00016 00017 /* Configuration pour forme plate */ 00018 typedef struct TR_FLAT_CONFIG_STR { 00019 double xp; 00020 double yp; 00021 double tau; 00022 double kappa; 00023 } TR_FLAT_CONFIG_STR; 00024 00025 typedef struct FLAT_LOCAL_PATH_STR { /* un bout d'un chemin donne' par pl. local */ 00026 TR_FLAT_CONFIG_STR initFlatConf;/* conf d'origine chemin incluant ce bout */ 00027 TR_FLAT_CONFIG_STR finalFlatConf; /* conf finale chemin incluant ce bout */ 00028 double v2; 00029 double velCoeff;/* dilatation du parametrage global par rapport au local */ 00030 double alpha_0; 00031 double alpha_1; 00032 double u_start; /* indices extremes dans le parametrage du chemin */ 00033 double u_end; /* incluant ce bout (entre 0 et 1)*/ 00034 } FLAT_LOCAL_PATH_STR; 00035 00036 typedef struct FLAT_STR { 00037 GENPOS_TRAILER_CONNECTION distAxleToAxis; 00038 double array_L[FLAT_NUMBER_L+1]; /*echantillonnage de L */ 00039 double array_phi[FLAT_NUMBER_C]; /*echantillonnage de phi */ 00040 double phi_max; /* angle maximal entre robot et remorque */ 00041 double maxCurvature; /* courbure max dans la phase faisable */ 00042 } FLAT_STR; 00043 00044 typedef struct FLAT_TAB_LOCAL_PATH { 00045 int tabSize; 00046 int unused; 00047 FLAT_LOCAL_PATH_STR tab[FLAT_MAX_NUMBER_LOCAL_PATH]; 00048 } FLAT_TAB_LOCAL_PATH; 00049 00050 #endif