libmove3d
3.13.0
|
00001 #ifndef UNIT_P3D_TYPE 00002 #define UNIT_P3D_TYPE 00003 00004 #define P3D_ENV 0 00005 #define P3D_OBSTACLE 1 00006 #define P3D_ROBOT 2 00007 #define P3D_BODY 3 00008 #define P3D_TRAJ 4 00009 #define TRJ_TRAJ 5 00010 #define P3D_BODIES 6 00011 00012 /*---------------------------------------------------------------------------*/ 00014 typedef enum { 00016 P3D_ROTATE = 7, 00018 P3D_TRANSLATE = 8, 00022 P3D_BASE = 9, 00025 P3D_PLAN = 10, 00028 P3D_FREEFLYER = 11, 00030 P3D_FIXED = 13, 00032 P3D_KNEE = 15 00033 } p3d_type_joint; 00034 00035 #define NB_JNT_TYPE 7 00036 00038 #define P3D_PPIVOT 12 00039 00040 #define P3D_MAX_ENV 10 00041 #define P3D_MAX_ROB 10 00042 00043 #define P3D_NULL_OBJ -1 00044 00045 /* the entity shapes: 0=polyh, 1=sphere, 2=cube, 3=box, 4=cylinder, 5=cone */ 00046 #define POLYHEDRON_ENTITY 0 00047 #define CONVEX_POLYHEDRON 1 00048 #define CONCAVE_POLYHEDRON 2 00049 #define SPHERE_ENTITY 3 00050 #define CUBE_ENTITY 4 00051 #define BOX_ENTITY 5 00052 #define CYLINDER_ENTITY 6 00053 #define CONE_ENTITY 7 00054 00055 /* Predefined colors */ 00056 #define Black 0 00057 #define Blue 1 00058 #define Yellow 2 00059 #define Red 3 00060 #define Green 4 00061 #define White 5 00062 #define Grey 6 00063 #define Brown 7 00064 #define Filaire 8 00065 #define Skin 9 00066 #define Blue2 10 00067 #define DGrey 11 00068 #define DSkin 12 00069 #define DBrown 13 00070 #define DGreen 14 00071 #define Any 15 00072 #define Violet 16 00073 #define Orange 33 00074 00075 /* Tansparency colors */ 00076 #define tBlack 17 00077 #define tBlue 18 00078 #define tYellow 19 00079 #define tRed 20 00080 #define tGreen 21 00081 #define tWhite 22 00082 #define tGrey 23 00083 #define tBrown 24 00084 #define tFilaire 25 00085 #define tSkin 26 00086 #define tBlue2 27 00087 #define tDGrey 28 00088 #define tDSkin 29 00089 #define tDBrown 30 00090 #define tDGreen 31 00091 #define tViolet 32 00092 #define tOrange 34 00093 00094 /* Les collisions checkers */ 00095 00096 #define p3d_col_mode_none 0 00097 #define p3d_col_mode_i_collide 1 00098 #define p3d_col_mode_v_collide 2 00099 #ifdef SOLID_ACT 00100 #define p3d_col_mode_solid 3 00101 #endif 00102 #define p3d_col_mode_kcd 4 00103 #define p3d_col_mode_gjk 5 00104 #define p3d_col_mode_bio 6 /* modif Vicente */ 00105 #define p3d_col_mode_pqp 7 00106 00107 /* D�ut modification Fabien */ 00108 00109 /* Choice of the trajectory collision detector */ 00110 00111 /*---------------------------------------------------------------------------*/ 00113 typedef enum { 00116 TEST_TRAJ_CLASSIC, 00119 TEST_TRAJ_DICHOTOMIE, 00123 TEST_TRAJ_CLASSIC_ALL, 00127 TEST_TRAJ_DICHOTOMIE_ALL, 00130 TEST_TRAJ_OTHER_ROBOTS_CLASSIC, 00133 TEST_TRAJ_OTHER_ROBOTS_DICHOTOMIE, 00137 TEST_TRAJ_OTHER_ROBOTS_CLASSIC_ALL, 00141 TEST_TRAJ_OTHER_ROBOTS_DICHOTOMIE_ALL, 00144 TEST_TRAJ_CONTEXT_CLASSIC, 00147 TEST_TRAJ_CONTEXT_DICHOTOMIE 00148 } p3d_traj_test_type; 00149 00150 00151 /* Parameter of bounding box selection */ 00152 00153 typedef enum { 00154 // ACTIVATE_BB_CLASSIC, /* Activate BB but not for autocollision */ 00155 ACTIVATE_BB_ALL, /* Activate BB with the collision activation */ 00156 DEACTIVATE_BB /* Deactivate BB */ 00157 } p3d_BB_selection_type; 00158 00159 /* Parameter of bounding box computation */ 00160 00161 typedef enum { 00162 COMPUTE_BB_CLOSE, /* Compute BB with close method */ 00163 COMPUTE_BB_LARGE, /* Compute BB with large method */ 00164 COMPUTE_BB_COL /* Compute BB with collision checker data */ 00165 } p3d_BB_compute_type; 00166 00167 00168 /*---------------------------------------------------------------------------*/ 00170 typedef enum { 00172 P3D_COL_ROBOT_ALL, 00174 P3D_COL_ROBOT_ENV, 00177 P3D_COL_ROBOT_ALL_WITHOUT_AUTOCOL, 00180 P3D_COL_ROBOT_ALL_WITHOUT_OTHER, 00182 P3D_COL_ROBOT_AUTOCOL, 00184 P3D_COL_ENV_ALL, 00186 P3D_COL_ENV_NONE 00187 } p3d_type_col_env_context; 00188 00189 00190 /*---------------------------------------------------------------------------*/ 00197 typedef enum { 00199 P3D_KCD_COL_TEST = 0, 00202 P3D_KCD_ROB_ALL = 10, 00204 P3D_KCD_ROB_ROB = 20, 00206 P3D_KCD_ROB_AUTO = 30, 00208 P3D_KCD_ROB_ENV = 40, 00212 P3D_KCD_EVERYTHING = 50, 00214 P3D_KCD_MO_ENV = 60, 00215 } p3d_type_col_choice; 00216 00217 /* Fin modification Fabien */ 00218 00219 /* Status pour la planification */ 00220 00221 #define P3D_SUCCESS 0 00222 #define P3D_FAILURE 1 00223 #define P3D_WRONG_CALL 2 00224 #define P3D_ILLEGAL_START 3 00225 #define P3D_ILLEGAL_GOAL 4 00226 #define P3D_CONFIG_EQUAL 5 00227 00228 #define NDISCR 10 00229 #define NTEST 50 00230 00231 00232 #define ISOLATED 0 00233 #define LINKING 1 00234 00235 00236 00237 /************************************************ 00238 Enumeration of the methods which 00239 can be used to choose a direction of expansion 00240 during a tree expansion 00241 **************************************************/ 00242 #define GLOBAL_CS_EXP 1 00243 #define SUBREGION_CS_EXP 2 00244 00245 /************************************************ 00246 Enumeration of the methods which 00247 can be used to choose the node to select 00248 during a tree expansion 00249 **************************************************/ 00250 #define NEAREST_EXP_NODE_METH 1 00251 #define K_NEAREST_EXP_NODE_METH 2 00252 #define BEST_SCORE_EXP_METH 3 00253 #define K_BEST_SCORE_EXP_METH 4 00254 #define RANDOM_IN_SHELL_METH 5 00255 #define RANDOM_NODE_METH 6 00256 #define NAVIGATION_BEFORE_MANIPULATION 7 00257 00258 /************************************************ 00259 Enumeration of the available distances which 00260 can be used 00261 **************************************************/ 00262 #define GENERAL_CSPACE_DIST 1 00263 #define ACTIVE_CONFIG_DIST 2 00264 #define LIGAND_PROTEIN_DIST 3 00265 #define MOBILE_FRAME_DIST 4 00266 #define ONLY_ROBOT_BASE 5 00267 00268 /************************************************ 00269 Enumeration of the methods which 00270 can be used to choose to expand a node during 00271 a tree expansion 00272 **************************************************/ 00273 #define ONE_NODE_CONNECT_EXP_CHOICE 1 00274 #define N_NODES_EXTEND_EXP_CHOICE 2 00275 #define EXTEND_EXP_CHOICE 3 00276 00277 /************************************************ 00278 Enumeration of the methods which 00279 can be used to choose to connect a node to 00280 a given connected componant 00281 **************************************************/ 00282 #define NEAREST_NODE_COMP 1 00283 #define K_NEAREST_NODE_COMP 2 00284 00285 /************************************************ 00286 Enumeration of the methods which 00287 can be used to weight a given node 00288 **************************************************/ 00289 #define RMSD_DISANCE_WEIGHT 1 00290 #define ENERGY_WEIGHT 2 00291 00292 /************************************************ 00293 Enumeration of the choices to compute the cost 00294 of an elementary path in function of the 00295 cost of the extremites configurations 00296 **************************************************/ 00297 #define MECHANICAL_WORK 0 00298 #define INTEGRAL 1 00299 #define AVERAGE_CONFIG_COST 2 00300 #define CONFIG_COST_AND_DIST 3 00301 #define BOLTZMANN_COST 4 00302 #define VISIBILITY 5 00303 00310 #define MAXIMAL_THRESHOLD 1 //Ettlin / Bleuer variant 00311 #define URMSON_TRANSITION 2 //Urmson / Simmons variant 00312 #define TRANSITION_RRT 3 00313 #define TRANSITION_RRT_CYCLE 4 00314 #define MONTE_CARLO_SEARCH 5 00315 #define DOWN_SEARCH 6 00316 #define ADAPTIVE_THRESHOLD 7 //the threshold value depends of successes and failures 00317 00322 #define P3D_UNIFORM_SAMPLING 1 00323 #define P3D_GAUSSIAN_SAMPLING 2 00324 //#define P3D_DYNAMIC_DOMAIN_SAMPLING 3 00325 #define P3D_BRIDGE_SAMPLING 4 00326 #define P3D_OBPRM_SAMPLING 5 00327 00328 #define P3D_HALTON_SAMPLING 1 00329 #define P3D_RANDOM_SAMPLING 2 00330 00331 #define P3D_NO_EXPAND 0 00332 #define P3D_EXPAND_BOX 1 00333 #define P3D_EXPAND_DISCR_CONT 2 00334 #define P3D_EXPAND_RAND_WALK 3 00335 00336 00337 #define P3D_BASIC 1 00338 #define P3D_ISOLATE_LINKING 2 00339 #define P3D_ALL_PRM 3 00340 #define P3D_PDR 4 00341 #define P3D_DIFFUSION 5 00342 #define BIO_COLDEG_RRT 6 00343 00344 00345 #define P3D_NB_CONNECT 1 00346 #define P3D_DIST_NODE 2 00347 00348 #define P3D_REAL 0 00349 #define P3D_GRAPHIC 1 00350 #define P3D_GHOST 2 00351 #define P3D_LINES 3 // PROV. MODIF JUAN 00352 00353 #define P3D_REAL_OBJECT 100 00354 #define P3D_GRAPHIC_OBJECT 101 00355 #define P3D_GHOST_OBJECT 102 00356 #define P3D_DEACTIVATED_OBSTACLE 103 00357 #define P3D_ACTIVATED_OBSTACLE 104 00358 #define P3D_ADDABLE_OBSTACLE 105 00359 #define P3D_ADDED_OBSTACLE 106 00360 00361 //Inverse Kinematic 00362 #define IK_NORMAL 0 00363 #define IK_UNIQUE 1 00364 #define IK_MULTISOL 2 00365 00366 //PLANNING TYPE 00367 #define P3D_NONE 0 00368 #define P3D_GLOBAL 1 00369 #define P3D_SPECIFIC 2 00370 00371 //Astar Graph Type 00372 #define DEFAULTGRAPH 0 00373 #ifdef MULTIGRAPH 00374 #define MGGRAPH 1 00375 #endif 00376 00377 //start path deform 00378 #define ALL_RETRACT_SEARCH 0 00379 #define FORWARD_RETRACT_SEARCH 1 00380 #define LINEAR_RETRACT_SEARCH 2 00381 //end path deform 00382 #endif