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 File Reference

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Functions

int IKOR_driver (int *IKCriterion, int *IKMethod, int Optimization, int N_use, int M_use)
MATRIX * CALC_PSEUDO (MATRIX *Jacob, MATRIX *dx)
MATRIX * FSP (Solutions *FSP_data, History *Old_DQs, MATRIX *Jacob, MATRIX *dx, int *IKCriterion, int *IKMethod, int Optimization, int ns, double spheredata[4][4], MATRIX *x_of_link, FILE *datafp)
void Euler_to_Velocities (MATRIX *x_of_link, MATRIX *dx)
float correct_euler (float angle, float curr, float dest)
int OPEN_FILES (double XTraj[MAX_PTS][6], char PoorMansFile[40], MATRIX *Qarray)
int Init_Globals ()
void Update_History (History *Old_DQs, MATRIX *dq)
void GET_JACOBIAN_ALTERED (MATRIX *Jacob, MATRIX *Qarray)
void GET_JACOBIAN (MATRIX *Jacob, MATRIX *Qarray)
void ExtractRPY2 (MATRIX *T, MATRIX *x_of_link)
MATRIX * getT2 (double ZA, double YB, double XG, double tx, double ty, double tz)
void GET_JACOB (MATRIX *Jacob, MATRIX *Qarray)
void GET_ACTUAL_X (MATRIX *Qarray, MATRIX *x_of_link)
int Solution_generator (Solutions *FSP_data, MATRIX *Jacob, MATRIX *dx, FILE *datafp)
void RestofSoln (int Mred, int Nred, int NextToFind, MATRIX *block, MATRIX *g, MATRIX *bred, MATRIX *Ared, int *Tackon, int *FirstOK, FILE *check)
int BLOCK_COL_FIND_X (int *Tackon, float *g, float *block, MATRIX *b, MATRIX *A, int Mred, int Nred, FILE *check)
int ReduceA (Solutions *FSP_data, MATRIX *Aorig, MATRIX *Ared, MATRIX *borig, MATRIX *bred, int *ColElim, int *RowElim, int *NumSpg, MATRIX *Specialg)
int CheckB (MATRIX *b, int m)
int CheckRange (MATRIX *b, MATRIX *Aorig, MATRIX *g, int *RowElim, int Mred)
void Rebuild_gs (Solutions *FSP_data, int *ColElim, MATRIX *Specialg, int NumSpg)
void IKerror (int vector, int fatal, char *mesg)
Solutions * Solutions_init (int M, int N)
void Solutions_free (Solutions *Temp)
int GetData (MATRIX *A, MATRIX *b)
int spheres (double spheredata[4][4], FILE *datafp)
void fmat_pr (FILE *checkfile, char *string, MATRIX *a)
void fmat_prf (FILE *checkfile, char *string, MATRIX *a)
void fprint_norm (FILE *checkfile, MATRIX *dq, FILE *datafp)
int avoid_limits (Solutions *FSP_data, MATRIX *Jacob, MATRIX *dx, int *got_gs, FILE *datafp)
int avoid_obstacles (Solutions *FSP_data, MATRIX *Jacob, MATRIX *dx, MATRIX *x_of_link, int ns, double spheredata[4][4], int *got_gs, FILE *datafp)
int find_intersection_sphere (double pt1[3], double pt2[3], int ws, int ns, double spheredata[4][4], int *elbow_check, double *newl, double *delta, double normal[3], FILE *datafp)
int Least_Norm (MATRIX *B, MATRIX *H, FILE *datafp)
int Least_Flow (MATRIX *B, MATRIX *H, MATRIX *Qarray, FILE *datafp)
float calc_flow (int index, float Q, float dq, float distance, MATRIX *old)
MATRIX * Build_Grammian2 (Solutions *FSP_data, MATRIX *alphas, FILE *datafp)
void rank_lost_betas (Solutions *FSP_data, MATRIX *Jacob, MATRIX *dx, int *RowElim, FILE *datafp)
void find_jl_beta (Solutions *FSP_data, int chk, double limit, FILE *datafp)
void find_obs_beta (Solutions *FSP_data, int chk, double *newl, double delta, double normal[3], FILE *datafp)
MATRIX * findt_with_Betas_Holonomic (Solutions *FSP_data, MATRIX *B, MATRIX *H, FILE *datafp)
MATRIX * findt_without_Betas_Holonomic (Solutions *FSP_data, MATRIX *B, MATRIX *H, FILE *datafp)
MATRIX * findt_with_Betas_Nonholonomic (Solutions *FSP_data, MATRIX *B, MATRIX *H, FILE *datafp)
MATRIX * findt_without_Betas_Nonholonomic (Solutions *FSP_data, MATRIX *B, MATRIX *H, FILE *datafp)
MATRIX * findt_without_Betas_BANGBANG (Solutions *FSP_data, MATRIX *B, MATRIX *H, MATRIX *old, FILE *datafp)
MATRIX * findt_without_Betas_SIMPLX (Solutions *FSP_data, MATRIX *B, MATRIX *H, FILE *datafp)
void init_ARM ()


Function Documentation

int avoid_limits (  Solutions *  FSP_data,
MATRIX *  Jacob,
MATRIX *  dx,
int *  got_gs,
FILE *  datafp
) 
 

Definition at line 36 of file constraints.c.

References Manipulator_struct::Angles, datafp, DEBUG, deg, FALSE, find_jl_beta(), GET_JACOBIAN(), ANGLE::Max_limit, ANGLE::Min_limit, MATRIX::p, ANGLE::Prism, Solutions::Qarray, rad, Robot, Solution_generator(), STEP, TRUE, and TWO.

Referenced by FSP().

int avoid_obstacles (  Solutions *  FSP_data,
MATRIX *  Jacob,
MATRIX *  dx,
MATRIX *  x_of_link,
int  ns,
double  spheredata[4][4],
int *  got_gs,
FILE *  datafp
) 
 

Referenced by FSP().

int BLOCK_COL_FIND_X (  int *  Tackon,
float *  g,
float *  block,
MATRIX *  b,
MATRIX *  A,
int  Mred,
int  Nred,
FILE *  check
) 
 

Definition at line 559 of file fsp.c.

References DEBUG_FSP, fmat_pr(), gcheck, mat_free(), mat_LU_inv(), mat_malloc(), mat_mul2(), and MATRIX::p.

Referenced by RestofSoln(), and Solution_generator().

MATRIX* Build_Grammian2 (  Solutions *  FSP_data,
MATRIX *  alphas,
FILE *  datafp
) 
 

Definition at line 364 of file analytical.c.

References MATRIX::cols, datafp, DEBUG, fmat_pr(), Solutions::g, mat_cp(), mat_free(), mat_malloc(), mat_mul2(), MATRIX::p, Robot, MATRIX::rows, SPAN, and Manipulator_struct::Weights.

Referenced by findt_with_Betas_Holonomic(), findt_with_Betas_Nonholonomic(), findt_without_Betas_Holonomic(), and findt_without_Betas_Nonholonomic().

float calc_flow (  int  index,
float  Q,
float  dq,
float  distance,
MATRIX *  old
) 
 

Definition at line 85 of file criteria.c.

References datafp, DEBUG, distfp, FLWfile, PI, SPEED, SQUARE, and ZERO.

Referenced by Least_Flow().

MATRIX* CALC_PSEUDO (  MATRIX *  Jacob,
MATRIX *  dx
) 
 

Definition at line 419 of file IKOR_driver.c.

References MATRIX::cols, datafp, DEBUG, fmat_pr(), fmat_prf(), mat_cp(), mat_free(), mat_malloc(), mat_mul2(), mat_pseudoinv(), and MATRIX::p.

Referenced by IKOR_driver().

int CheckB (  MATRIX *  b,
int  m
) 
 

Definition at line 1076 of file fsp.c.

References MATRIX::p, and SMALL.

Referenced by Solution_generator().

int CheckRange (  MATRIX *  b,
MATRIX *  Aorig,
MATRIX *  g,
int *  RowElim,
int  Mred
) 
 

Definition at line 1106 of file fsp.c.

Referenced by Solution_generator().

float correct_euler (  float  angle,
float  curr,
float  dest
) 
 

Definition at line 383 of file IKOR_driver.c.

References datafp, DEBUG, and PI.

Referenced by IKOR_driver().

void Euler_to_Velocities (  MATRIX *  x_of_link,
MATRIX *  dx
) 
 

Definition at line 335 of file IKOR_driver.c.

References datafp, DEBUG, Manipulator_struct::NL, MATRIX::p, and Robot.

Referenced by IKOR_driver().

void ExtractRPY2 (  MATRIX *  T,
MATRIX *  x_of_link
) 
 

Definition at line 110 of file Jacob_UTILS.c.

References MATRIX::cols, datafp, Manipulator_struct::NL, MATRIX::p, PI, Robot, SMALL, and ZERO.

int find_intersection_sphere (  double  pt1[3],
double  pt2[3],
int  ws,
int  ns,
double  spheredata[4][4],
int *  elbow_check,
double *  newl,
double *  delta,
double  normal[3],
FILE *  datafp
) 
 

Referenced by avoid_obstacles().

void find_jl_beta (  Solutions *  FSP_data,
int  chk,
double  limit,
FILE *  datafp
) 
 

Definition at line 438 of file analytical.c.

References Solutions::betall, Solutions::cn, MATRIX::cols, datafp, Solutions::g, MATRIX::p, and MATRIX::rows.

Referenced by avoid_limits().

void find_obs_beta (  Solutions *  FSP_data,
int  chk,
double *  newl,
double  delta,
double  normal[3],
FILE *  datafp
) 
 

Referenced by avoid_obstacles().

MATRIX* findt_with_Betas_Holonomic (  Solutions *  FSP_data,
MATRIX *  B,
MATRIX *  H,
FILE *  datafp
) 
 

Definition at line 653 of file analytical.c.

References Solutions::betall, Build_Grammian2(), Solutions::cn, MATRIX::cols, datafp, DEBUG, FATAL, fmat_pr(), fmat_prf(), Solutions::g, IKerror(), Solutions::M, mat_cp(), mat_cp2(), mat_free(), mat_LU_inv(), mat_malloc(), mat_mul2(), Solutions::Null_Space, ONE, MATRIX::p, MATRIX::rows, SPAN, STEP, and TWO.

Referenced by FSP().

MATRIX* findt_with_Betas_Nonholonomic (  Solutions *  FSP_data,
MATRIX *  B,
MATRIX *  H,
FILE *  datafp
) 
 

Definition at line 1074 of file analytical.c.

References Solutions::betall, Build_Grammian2(), Solutions::cn, datafp, DEBUG, FATAL, fmat_pr(), Solutions::g, IKerror(), Platform::Length, Solutions::M, mat_add(), mat_cp2(), mat_free(), mat_LU_inv(), mat_malloc(), mat_mul(), mat_mul2(), mat_sca(), mat_sub(), mat_tra(), Solutions::Null_Space, ONE, MATRIX::p, PI, Manipulator_struct::PLAT, Solutions::Qarray, Robot, SPAN, STEP, and TWO.

Referenced by FSP().

MATRIX* findt_without_Betas_BANGBANG (  Solutions *  FSP_data,
MATRIX *  B,
MATRIX *  H,
MATRIX *  old,
FILE *  datafp
) 
 

Definition at line 550 of file analytical.c.

References MATRIX::cols, datafp, DEBUG, FALSE, FATAL, fmat_pr(), Solutions::g, IKerror(), Solutions::M, mat_free(), mat_malloc(), Solutions::Null_Space, OK, ONE, MATRIX::p, SPAN, STEP, TRUE, TWO, and ZERO.

Referenced by FSP().

MATRIX* findt_without_Betas_Holonomic (  Solutions *  FSP_data,
MATRIX *  B,
MATRIX *  H,
FILE *  datafp
) 
 

Definition at line 953 of file analytical.c.

References Build_Grammian2(), MATRIX::cols, datafp, DEBUG, FATAL, fmat_pr(), Solutions::g, IKerror(), mat_add(), mat_cp2(), mat_free(), mat_LU_inv(), mat_malloc(), mat_mul2(), mat_sca(), Solutions::Null_Space, MATRIX::p, MATRIX::rows, and SPAN.

Referenced by FSP().

MATRIX* findt_without_Betas_Nonholonomic (  Solutions *  FSP_data,
MATRIX *  B,
MATRIX *  H,
FILE *  datafp
) 
 

Definition at line 1538 of file analytical.c.

References Build_Grammian2(), Solutions::cn, datafp, DEBUG, fmat_pr(), Solutions::g, IKerror(), Platform::Length, Solutions::M, mat_add(), mat_cp2(), mat_free(), mat_LU_inv(), mat_malloc(), mat_mul(), mat_mul2(), mat_sca(), Solutions::Null_Space, OK, MATRIX::p, PI, Manipulator_struct::PLAT, Solutions::Qarray, Robot, and SPAN.

Referenced by FSP().

MATRIX* findt_without_Betas_SIMPLX (  Solutions *  FSP_data,
MATRIX *  B,
MATRIX *  H,
FILE *  datafp
) 
 

Definition at line 275 of file analytical.c.

References MATRIX::cols, datafp, DEBUG, FATAL, fmat_pr(), Solutions::g, IKerror(), Solutions::M, mat_malloc(), mysimplx(), Solutions::Null_Space, OK, ONE, MATRIX::p, SPAN, STEP, TWO, and ZERO.

Referenced by FSP().

void fmat_pr (  FILE *  checkfile,
char *  string,
MATRIX *  a
) 
 

Definition at line 271 of file useful_UTILS.c.

References MATRIX::cols, MATRIX::p, and MATRIX::rows.

Referenced by avoid_obstacles(), BLOCK_COL_FIND_X(), Build_Grammian2(), CALC_PSEUDO(), find_obs_beta(), findt_with_Betas_Holonomic(), findt_with_Betas_Nonholonomic(), findt_without_Betas_BANGBANG(), findt_without_Betas_Holonomic(), findt_without_Betas_Nonholonomic(), findt_without_Betas_SIMPLX(), IKOR_driver(), Least_Flow(), Least_Norm(), OPEN_FILES(), RestofSoln(), and Solution_generator().

void fmat_prf (  FILE *  checkfile,
char *  string,
MATRIX *  a
) 
 

Definition at line 286 of file useful_UTILS.c.

References MATRIX::cols, MATRIX::p, and MATRIX::rows.

Referenced by CALC_PSEUDO(), findt_with_Betas_Holonomic(), and IKOR_driver().

void fprint_norm (  FILE *  checkfile,
MATRIX *  dq,
FILE *  datafp
) 
 

Definition at line 317 of file useful_UTILS.c.

References datafp, and DEBUG.

Referenced by IKOR_driver().

MATRIX* FSP (  Solutions *  FSP_data,
History *  Old_DQs,
MATRIX *  Jacob,
MATRIX *  dx,
int *  IKCriterion,
int *  IKMethod,
int  Optimization,
int  ns,
double  spheredata[4][4],
MATRIX *  x_of_link,
FILE *  datafp
) 
 

void GET_ACTUAL_X (  MATRIX *  Qarray,
MATRIX *  x_of_link
) 
 

Referenced by avoid_obstacles(), and IKOR_driver().

void GET_JACOB (  MATRIX *  Jacob,
MATRIX *  Qarray
) 
 

Referenced by GET_JACOBIAN(), and GET_JACOBIAN_ALTERED().

void GET_JACOBIAN (  MATRIX *  Jacob,
MATRIX *  Qarray
) 
 

Definition at line 38 of file Jacob_UTILS.c.

References GET_JACOB(), Manipulator_struct::LINKS, LL, Manipulator_struct::NL, and Robot.

Referenced by avoid_limits(), avoid_obstacles(), and IKOR_driver().

void GET_JACOBIAN_ALTERED (  MATRIX *  Jacob,
MATRIX *  Qarray
) 
 

Definition at line 46 of file Jacob_UTILS.c.

References GET_JACOB().

Referenced by find_obs_beta().

int GetData (  MATRIX *  A,
MATRIX *  b
) 
 

Definition at line 156 of file useful_UTILS.c.

References MATRIX::p.

Referenced by IKOR_driver().

MATRIX* getT2 (  double  ZA,
double  YB,
double  XG,
double  tx,
double  ty,
double  tz
) 
 

Definition at line 70 of file Jacob_UTILS.c.

References mat_malloc(), and MATRIX::p.

void IKerror (  int  vector,
int  fatal,
char *  mesg
) 
 

Definition at line 38 of file useful_UTILS.c.

References FATAL, Manipulator_struct::NA, and Robot.

Referenced by findt_with_Betas_Holonomic(), findt_with_Betas_Nonholonomic(), findt_without_Betas_BANGBANG(), findt_without_Betas_Holonomic(), findt_without_Betas_Nonholonomic(), findt_without_Betas_SIMPLX(), FSP(), go_next(), IKOR_driver(), init_ARM(), Init_Globals(), main(), OPEN_FILES(), rm_blanks(), Solution_generator(), Solutions_init(), and spheres().

int IKOR_driver (  int *  IKCriterion,
int *  IKMethod,
int  Optimization,
int  N_use,
int  M_use
) 
 

Definition at line 52 of file IKOR_driver.c.

References Manipulator_struct::Angles, BIG, CALC_PSEUDO(), CheezyFile, Solutions::cn, MATRIX::cols, correct_euler(), datafp, DEBUG, History::dq, History_Element::DQ, dqfile, dxLabel, ErrorFile, Euler_to_Velocities(), fmat_pr(), fmat_prf(), fprint_norm(), FSP(), GET_ACTUAL_X(), GET_JACOBIAN(), GetData(), HIST_SIZE, IKerror(), LL, mat_free(), mat_malloc(), mat_mul(), MAX_PTS, Manipulator_struct::NA, Manipulator_struct::NL, NormFile, OK, OPEN_FILES(), Manipulator_struct::Orient, MATRIX::p, PI, PoorMansFile, ANGLE::Prism, Solutions::Qarray, Robot, MATRIX::rows, SMALL, Solutions_free(), Solutions_init(), spheres(), STEP, Update_History(), Manipulator_struct::Weights, History::whereami, Solutions::Xelim, ZERO, and ZEROD_OMEGAS.

Referenced by main().

void init_ARM (   ) 
 

Definition at line 86 of file Manipulators.c.

References Platform::ANG_OFF, Manipulator_struct::Angles, ARM_file, DEBUG, EExaxis, EEyaxis, EEzaxis, Platform::Exist, FALSE, FATAL, go_next(), Platform::Holonomic, ANGLE::Home, IKerror(), Platform::L_OFF, Platform::Length, Manipulator_struct::LINKS, LL, mat_malloc(), ANGLE::Max_limit, ANGLE::Min_limit, Manipulator_struct::NA, Manipulator_struct::NL, MATRIX::p, PI, Manipulator_struct::PLAT, ANGLE::Prism, rm_blanks(), Robot, Platform::Thick, TRUE, Manipulator_struct::Weights, Platform::Width, and Platform::Z_OFF.

Referenced by Init_Globals().

int Init_Globals (   ) 
 

Definition at line 728 of file IKOR_driver.c.

References all_links, datafp, E1, E2, E3, E4, EW1, EW2, EW3, EW4, Platform::Exist, FATAL, IKerror(), init_ARM(), Platform::Length, link_location, Manipulator_struct::LINKS, mat_malloc(), Manipulator_struct::NL, MATRIX::p, P2, P3, P4, Manipulator_struct::PLAT, PW1, PW2, PW3, PW4, Robot, RW, Platform::Width, XW, and ZERO.

Referenced by main().

int Least_Flow (  MATRIX *  B,
MATRIX *  H,
MATRIX *  Qarray,
FILE *  datafp
) 
 

Definition at line 64 of file criteria.c.

References calc_flow(), MATRIX::cols, datafp, DEBUG, fmat_pr(), MATRIX::p, MATRIX::rows, and ZERO.

Referenced by FSP().

int Least_Norm (  MATRIX *  B,
MATRIX *  H,
FILE *  datafp
) 
 

Definition at line 31 of file criteria.c.

References MATRIX::cols, datafp, DEBUG, fmat_pr(), MATRIX::p, MATRIX::rows, and ZERO.

Referenced by FSP().

int OPEN_FILES (  double  XTraj[MAX_PTS][6],
char  PoorMansFile[40],
MATRIX *  Qarray
) 
 

void rank_lost_betas (  Solutions *  FSP_data,
MATRIX *  Jacob,
MATRIX *  dx,
int *  RowElim,
FILE *  datafp
) 
 

void Rebuild_gs (  Solutions *  FSP_data,
int *  ColElim,
MATRIX *  Specialg,
int  NumSpg
) 
 

Definition at line 1152 of file fsp.c.

References Solutions::g, Solutions::M, mat_cp2(), mat_free(), Solutions::Mred, Solutions::Nred, MATRIX::p, MATRIX::rows, and ZERO.

Referenced by Solution_generator().

int ReduceA (  Solutions *  FSP_data,
MATRIX *  Aorig,
MATRIX *  Ared,
MATRIX *  borig,
MATRIX *  bred,
int *  ColElim,
int *  RowElim,
int *  NumSpg,
MATRIX *  Specialg
) 
 

Definition at line 664 of file fsp.c.

References Dependency(), FALSE, Solutions::M, mat_free(), mat_malloc(), mat_null(), Solutions::Mred, Solutions::Nred, Solutions::Null_Space, MATRIX::p, MATRIX::rows, SMALL, TRUE, and Solutions::Xelim.

Referenced by Solution_generator().

void RestofSoln (  int  Mred,
int  Nred,
int  NextToFind,
MATRIX *  block,
MATRIX *  g,
MATRIX *  bred,
MATRIX *  Ared,
int *  Tackon,
int *  FirstOK,
FILE *  check
) 
 

Definition at line 351 of file fsp.c.

References BLOCK_COL_FIND_X(), DEBUG_FSP, fmat_pr(), mat_free(), mat_malloc(), mat_null(), MATRIX::p, SMALL, SystemComplete, and TRUE.

Referenced by Solution_generator().

int Solution_generator (  Solutions *  FSP_data,
MATRIX *  Jacob,
MATRIX *  dx,
FILE *  datafp
) 
 

Definition at line 49 of file fsp.c.

References BLOCK_COL_FIND_X(), CheckB(), CheckRange(), Solutions::cn, COMPLETE, DEBUG, DEBUG_FSP, FALSE, fmat_pr(), Solutions::g, gcheck, IKerror(), mat_free(), mat_malloc(), mat_null(), Solutions::Mred, Solutions::N, NOT_COMPLETE, Solutions::Nred, Solutions::Null_Space, OK, MATRIX::p, Rebuild_gs(), ReduceA(), RestofSoln(), RESTRICTED, SPAN, SPAN2, SystemComplete, TRUE, Solutions::Xelim, and ZERO.

Referenced by avoid_limits(), avoid_obstacles(), and FSP().

void Solutions_free (  Solutions *  Temp  ) 
 

Definition at line 131 of file useful_UTILS.c.

References Solutions::betall, Solutions::g, mat_free(), Solutions::Qarray, and Solutions::Xelim.

Referenced by IKOR_driver().

Solutions* Solutions_init (  int  M,
int  N
) 
 

Definition at line 93 of file useful_UTILS.c.

References Solutions::betall, Solutions::cn, MATRIX::cols, FATAL, Solutions::g, IKerror(), Solutions::M, mat_malloc(), Solutions::Mred, Solutions::N, Solutions::Nred, MATRIX::p, Solutions::Qarray, MATRIX::rows, and Solutions::Xelim.

Referenced by IKOR_driver().

int spheres (  double  spheredata[4][4],
FILE *  datafp
) 
 

void Update_History (  History *  Old_DQs,
MATRIX *  dq
) 
 

Definition at line 833 of file IKOR_driver.c.

References History::dq, HIST_SIZE, mat_cp(), History_Element::time, and History::whereami.

Referenced by FSP(), and IKOR_driver().


Generated on Thu Jul 29 16:32:51 2004 for OpenSim by doxygen 1.3.6