00001 #ifndef __SP3DGL_H_ 00002 #define __SP3DGL_H_ 00003 00004 #define DEBUG_ TRUE 00005 00006 #if defined(_PLANNER_MAIN_) 00007 #define EXTERN 00008 #else 00009 #define EXTERN extern 00010 #endif 00011 00012 EXTERN int debug, // debug level 00013 arm_degree, // Arm real degree 00014 //dimx, dimy, dimz, /* Workspace working dimension */ 00015 dimt[MAX_DEGREE], 00016 dimq[MAX_DEGREE]; // TxQ space working dimension 00017 00018 EXTERN unsigned char *wall; 00019 00020 EXTERN //double COEFX, COEFY, COEFZ, // Coefficients converting real space to working space 00021 COEFD_Q, COEFQ_D; // Coefficients for angle to look-up table index conversion 00022 00023 //EXTERN double *TCOS, *TSIN; 00024 00025 /* 00026 EXTERN Arm original_arm, First readed in arm 00027 converted_arm, // arm converted into working space 00028 working_arm; // converted for working 00029 */ 00030 00031 // Initial and final configurations 00032 00033 EXTERN double *orig_initial_config, *orig_final_config; 00034 EXTERN IntConfig initial_config, final_config; // Converted configuration in look-up table 00035 00036 00037 EXTERN JointLimit original_joint_limit[MAX_DEGREE]; // Joint limits 00038 EXTERN IntJointLimit joint_limit[MAX_DEGREE]; 00039 00040 /* 00041 EXTERN unsigned char **ws_map; // bitmap for obstacles 00042 EXTERN short int **ws_dist; // distance map for the work space 00043 EXTERN unsigned char **ws_voro; // voronoi diagram for the work space 00044 EXTERN short int **link_map; // bitmap for links to check selfcollision 00045 EXTERN short int linkfill[MAX_DEGREE], // Fill selfcollision data 00046 linkmask[MAX_DEGREE]; // Selfcollision mask 00047 00048 EXTERN FloatPoint base; // converted base in working space 00049 */ 00050 00051 EXTERN TQCSpace tqcs; // The Whole TxQ Cspace struct 00052 00053 // Link Pathes in TxQ; 00054 EXTERN LinkPath *lnkcps, 00055 bkwdpath, frwdpath, mainpath, combpath; //IMPROVE: do not need to be global 00056 00057 // Record t, q parameters in linkpath corresponding to starts and goals 00058 EXTERN TQConfig initial_tq[MAX_DEGREE], final_tq[MAX_DEGREE]; 00059 00060 EXTERN double **globalpath; 00061 EXTERN int globaldim; 00062 00063 EXTERN char datadir[40]; 00064 00065 // Planner control parameters 00066 EXTERN int max_level, max_bt_no; 00067 00068 /* TxQ View parameters */ 00069 /* 00070 EXTERN int tqview_image_no[MAX_DEGREE], tqview_ctrl_no[MAX_DEGREE], 00071 tqview_image_id[MAX_DEGREE], tqview_ctrl_id[MAX_DEGREE], 00072 tqviewposx[MAX_DEGREE], tqviewposy[MAX_DEGREE], 00073 tqviewsizex[MAX_DEGREE], tqviewsizey[MAX_DEGREE], 00074 viewob[MAX_DEGREE], viewpath[MAX_DEGREE], 00075 viewif[MAX_DEGREE]; 00076 */ 00077 /* Debug Control */ 00078 00079 EXTERN int sp_debug_level; 00080 //EXTERN double distance_detect_range; 00081 //EXTERN double link_radius[MAX_DEGREE+1]; 00082 00083 //IAN: getting rid of act 00084 //EXTERN A_List ptr_list_robot; 00085 //EXTERN AF_Functional_object *robot, *obstacle; 00086 //EXTERN AF_Link *ptr_link[MAX_DEGREE+1]; 00087 //EXTERN AP_Physical_object *ptr_joint[MAX_DEGREE+1], 00088 // *ptr_rigid_body[MAX_DEGREE+1]; 00089 //EXTERN AF_Functional_object *working_tool; 00090 00091 #endif 00092 00093