00001 /* ________________________________________________________ 00002 | | 00003 | Program Name: Globals.h | 00004 |________________________________________________________| 00005 | | 00006 | description: Contains Global variables. These should | 00007 | be eliminated when ever the chance arrives. Good | 00008 | luck, because most of these variables are used by | 00009 | CheezyIGRIP.c | 00010 |________________________________________________________| */ 00011 00012 00013 /* Globals N, and M can be removed easily since FSP_data contains these */ 00014 /* variables as well and contain correct values. However, I have */ 00015 /* not had the time to convert all N,M to FSP_data->N ect... */ 00016 int N=-1, /* Holds size of Task Space */ 00017 M=-1, /* Holds size of Joint Space */ 00018 STEP=0, /* Tells system to use twostep meth. */ 00019 /* DEBUG=0, DJ*/ /* Tells system to print out info */ 00020 CHANGE_SPHERES=0; /* Tells system to prompt for spheres */ 00021 FILE *datafp, /* datafile: Hardly used globally */ 00022 *NormFile, /* Size of Normalized dq's */ 00023 *ErrorFile, /* Size of Normalized errors in posi */ 00024 *CheezyFile, /* angle output file: Hardly global */ 00025 *NHDfile, /* Katie For testing non-holo code */ 00026 *dqfile, /* File that stores change in angles */ 00027 *distfp, /* File that stores distance EE moved */ 00028 *FLWfile; /* Hydraulic Flow Rate Approximations */ 00029 char *PoorMansFile="CheezyAngles", /*Name for Angles Output */ 00030 Method[5][30]={ "FSP & Joint Limits", "PSEUDO INVERSE", 00031 "FSP & Obstacles" , "FSP & JL & OA ", "FSP only" }, 00032 dxLabel[6][30]={ "X ", "Y ", "Z ", 00033 "YAW ", "PITCH", "ROLL " }; 00034 FILE* gcheck; 00035 00036 /* These globals are used in Init_Globals, Jacob_ROBOT.c, and CheezyIGRIP */ 00037 /* They are fairly well imbedded into CheezyIGRIP, however not so much */ 00038 /* in Jacob_ROBOT.c */ 00039 00040 MATRIX **all_links, /* location of array of all links */ 00041 *RW, /* location of manip base wrt world coords */ 00042 *XW, /* location of manip on plat wrt world coords*/ 00043 00044 **link_location, /* replaces A, B, C... Vector to locate end of link n */ 00045 *R,*X, 00046 00047 *PW1, *PW2, *PW3, *PW4, *EW1, *EW2, *EW3, *EW4, 00048 *P1,*P2,*P3,*P4,*E1,*E2,*E3,*E4; 00049 00050 char ARM_file[15] = "ROBOT.dat"; /* File to read manipulator */ 00051 Manipulator_struct *Robot; /* Information on manipulator, see structures.h */ 00052 double *LL; /* get_jacobain uses these values for obstacle avoid */ 00053 /* these are values from the robot */ 00054 00055 float EEzaxis = 0; /* these are used to correct the default orientation of */ 00056 float EEyaxis = 0; /* the EE. Used in Jacob_ROBOT.c & Init_ARM if the */ 00057 float EExaxis = 0; /* end-effector description is being overriden. */