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)
MATRIXCALC_PSEUDO (MATRIX *Jacob, MATRIX *dx)
MATRIXFSP (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)
MATRIXgetT2 (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)
SolutionsSolutions_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)
MATRIXBuild_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)
MATRIXfindt_with_Betas_Holonomic (Solutions *FSP_data, MATRIX *B, MATRIX *H, FILE *datafp)
MATRIXfindt_without_Betas_Holonomic (Solutions *FSP_data, MATRIX *B, MATRIX *H, FILE *datafp)
MATRIXfindt_with_Betas_Nonholonomic (Solutions *FSP_data, MATRIX *B, MATRIX *H, FILE *datafp)
MATRIXfindt_without_Betas_Nonholonomic (Solutions *FSP_data, MATRIX *B, MATRIX *H, FILE *datafp)
MATRIXfindt_without_Betas_BANGBANG (Solutions *FSP_data, MATRIX *B, MATRIX *H, MATRIX *old, FILE *datafp)
MATRIXfindt_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