Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

robot/control/oldikor/IKOR/headers.h

Go to the documentation of this file.
00001 /* ________________________________________________________
00002   |                                                        |
00003   | Program Name:   headers.h                              |
00004   |________________________________________________________|
00005   |                                                        |
00006   | description: Should contain headers for all functions  |
00007   |    in the system referenced by the system file name    |
00008   | 07/11/01 (A Cordero) added Manipulators.c   (!?)       |
00009   |________________________________________________________| */
00010 
00011 /******************* IKOR_driver.c ***************************/
00012 
00013 int IKOR_driver (int *IKCriterion, int *IKMethod, int Optimization, 
00014          int N_use, int M_use);
00015 MATRIX *CALC_PSEUDO (MATRIX *Jacob, MATRIX *dx);
00016 MATRIX *FSP (Solutions *FSP_data, History *Old_DQs, MATRIX *Jacob, MATRIX *dx, 
00017          int *IKCriterion, int *IKMethod, int Optimization, int ns,
00018          double spheredata[4][4], MATRIX *x_of_link, FILE *datafp);
00019 void  Euler_to_Velocities (MATRIX *x_of_link, MATRIX *dx);
00020 float correct_euler ( float angle, float curr, float dest );
00021 int   OPEN_FILES  (double XTraj[MAX_PTS][6], char PoorMansFile[40],
00022          MATRIX *Qarray);
00023 int   Init_Globals();
00024 void  Update_History(History *Old_DQs, MATRIX *dq);
00025 
00026 
00027 /********************* Jacob_UTILS.c ************************/
00028 void   GET_JACOBIAN_ALTERED(MATRIX* Jacob, MATRIX *Qarray);
00029 void   GET_JACOBIAN        (MATRIX* Jacob, MATRIX *Qarray);
00030 void   ExtractRPY2 (MATRIX *T, MATRIX *x_of_link);
00031 MATRIX *getT2      (double ZA,double YB,double XG, 
00032                     double tx,double ty,double tz);
00033 
00034 
00035 /********************* Jacob_ROBOT.c ************************/
00036 extern void   GET_JACOB     (MATRIX *Jacob,  MATRIX *Qarray);
00037 extern void   GET_ACTUAL_X  (MATRIX *Qarray, MATRIX *x_of_link);
00038 
00039 
00040 /********************** FSP.c ******************************/
00041 int    Solution_generator (Solutions *FSP_data, MATRIX *Jacob, 
00042                    MATRIX *dx, FILE *datafp); 
00043 void   RestofSoln (int Mred, int Nred, int NextToFind, MATRIX *block,
00044                    MATRIX *g, MATRIX *bred, MATRIX *Ared, int *Tackon,
00045                    int *FirstOK, FILE *check);
00046 int    BLOCK_COL_FIND_X(int *Tackon, float *g, float *block,
00047                    MATRIX *b, MATRIX *A, 
00048                    int Mred, int Nred, FILE *check);
00049 int    ReduceA    (Solutions *FSP_data, MATRIX *Aorig, MATRIX *Ared,
00050                    MATRIX *borig, MATRIX *bred,  
00051                    int *ColElim, int *RowElim, 
00052                    int *NumSpg, MATRIX *Specialg);
00053 int    CheckB     (MATRIX *b, int m);
00054 int    CheckRange (MATRIX * b, MATRIX * Aorig, MATRIX * g,
00055                    int *RowElim, int Mred);
00056 void   Rebuild_gs (Solutions *FSP_data, int *ColElim,
00057                     MATRIX *Specialg, int NumSpg);
00058 
00059 
00060 /******************* useful_UTILS .c ***********************/
00061 void   IKerror     (int  vector, int fatal, char *mesg);
00062 Solutions  *Solutions_init(int M, int N);
00063 void   Solutions_free(Solutions *Temp );
00064 int    GetData    (MATRIX *A,  MATRIX *b);
00065 int    spheres     (double spheredata[4][4], FILE *datafp);
00066 void   fmat_pr     (FILE *checkfile, char *string, MATRIX *a);
00067 void   fmat_prf    (FILE *checkfile, char *string, MATRIX *a);
00068 void   fprint_norm (FILE *checkfile, MATRIX *dq, FILE *datafp);
00069 
00070 /*********************** constraints.c *********************/
00071 int    avoid_limits    (Solutions *FSP_data, MATRIX *Jacob, MATRIX *dx,
00072                     int *got_gs, FILE *datafp);
00073 int    avoid_obstacles (Solutions *FSP_data, MATRIX *Jacob, MATRIX *dx,
00074                     MATRIX *x_of_link, int ns, double spheredata[4][4],
00075                     int *got_gs, FILE *datafp);
00076 int    find_intersection_sphere(double pt1[3], double pt2[3], int ws,
00077                     int ns, double spheredata[4][4], int *elbow_check, 
00078                     double *newl, double *delta, double normal[3],
00079                     FILE *datafp);
00080 
00081 
00082 /*********************** criteria.c ************************/
00083 int    Least_Norm (MATRIX *B, MATRIX *H, FILE *datafp);
00084 int    Least_Flow (MATRIX *B, MATRIX *H, MATRIX *Qarray, FILE *datafp);
00085 float  calc_flow  (int index, float Q, float dq, float distance, MATRIX *old);
00086 
00087 /*********************** analytical.c *********************/
00088 MATRIX *Build_Grammian2 (Solutions *FSP_data, MATRIX *alphas, FILE *datafp);
00089 void    rank_lost_betas (Solutions *FSP_data, MATRIX *Jacob, MATRIX *dx,
00090                          int *RowElim, FILE *datafp);
00091 void    find_jl_beta    (Solutions *FSP_data, int chk, 
00092                          double limit, FILE *datafp);
00093 void    find_obs_beta   (Solutions *FSP_data, int chk, double *newl,
00094                          double delta, double normal[3], FILE *datafp);
00095 MATRIX *findt_with_Betas_Holonomic       (Solutions *FSP_data, MATRIX *B, 
00096                                           MATRIX *H, FILE *datafp);
00097 MATRIX *findt_without_Betas_Holonomic    (Solutions *FSP_data, MATRIX *B, 
00098                                           MATRIX *H, FILE *datafp);
00099 MATRIX *findt_with_Betas_Nonholonomic    (Solutions *FSP_data, MATRIX *B, 
00100                                           MATRIX *H, FILE *datafp);
00101 MATRIX *findt_without_Betas_Nonholonomic (Solutions *FSP_data, MATRIX *B, 
00102                                           MATRIX *H, FILE *datafp);
00103 MATRIX *findt_without_Betas_BANGBANG     (Solutions *FSP_data, MATRIX *B, 
00104                                           MATRIX *H, MATRIX *old, FILE *datafp);
00105 MATRIX *findt_without_Betas_SIMPLX       (Solutions *FSP_data, MATRIX *B, 
00106                                           MATRIX *H, FILE *datafp);
00107 
00108 
00109 /*********************** Manipulators.c ************************/
00110 
00111 void init_ARM();

Generated on Thu Jul 29 15:56:35 2004 for OpenSim by doxygen 1.3.6