world.c
Go to the documentation of this file.
1215 unsigned int GetSolutionPointFromLinkTransforms(Tparameters *p,THTransform *tl,double **sol,Tworld *w)
2017 Error("Translation variable is not included in the cuiksystem (in GenerateWorldTWSEquations)");
2105 inline void WorldEvaluateSubSetSimpEquations(Tparameters *p,boolean *se,double *pt,double *r,Tworld *w)
2166 inline unsigned int RegenerateWorldOriginalPoint(Tparameters *p,double *s,double **o,Tworld *w)
2196 inline unsigned int WorldGenerateSimplifiedPoint(Tparameters *p,double *o,double **s,Tworld *w)
2332 void WorldAtomJacobian(Tparameters *pr,double *sol,unsigned int *nr,unsigned int *nc,double ***J,Tworld *w)
2396 Warning("System-solution dimension missmatch in MoveWorld (using only the first value in the solution)");
boolean NewtonInWorld(Tparameters *p, double *v, Tbox *b_sol, Tworld *w) Generates a sample from a the kinematic cuiksystem in the world using the Newton algorithm. Definition: world.c:1762 void First(Titerator *i) Moves an iterator to the first position of its associated list. Definition: list.c:356 void GetWorldDOFLabel(unsigned int ndof, char **string, Tworld *w) Returns a label identifying each degree of freedom. Definition: world.c:1585 void GetJointTransform(double *dof, THTransform *t, Tjoint *j) Computes the transform induced by the joint. Definition: joint.c:2527 unsigned int GetWorldObstacleID(char *obsName, Tworld *w) Gets the identifier of an obstacle from its name. Definition: world.c:1442 void GetLinkPoseSimpVars(Tparameters *p, boolean *sv, TCuikSystem *cs, Tlink *l) Identifies the simplified variables giving the rotation of the link. Definition: link.c:478 void RegenerateMechanismSolution(Tparameters *p, TCuikSystem *cs, double *sol, Tmechanism *m) Computes the values for the non-system variables used to represent the rotation matrices for all link... Definition: mechanism.c:242 #define INITIAL_FRAME_DELAY When generating 3d animations, delay before starting the animation. Definition: world.h:39 unsigned int WorldGenerateSimplifiedPoint(Tparameters *p, double *o, double **s, Tworld *w) Reconstruct a point in simplified kinematic system from an original point. Definition: world.c:2196 void CheckLinkLinkCollision(unsigned int a, unsigned int b, Tworld *w) Activates the possible collision between a particular pair of links. Definition: world.c:1685 Tinterval * GetBoxInterval(unsigned int n, Tbox *b) Returns a pointer to one of the intervals defining the box. Definition: box.c:270 signed int GetMechanismMobility(Tmechanism *m) Computes the mobility of a given mechanism. Definition: mechanism.c:73 void GetJointPoint(unsigned int link, unsigned int point, double *p, Tjoint *j) Gets one of the points defining the rotation/sliding axis for the joint. Definition: joint.c:1012 signed int GetJointDOF(Tjoint *j) Computes the degrees of freedom allowed by a given joint. Definition: joint.c:1224 void EvaluateSubSetSimpCSEquations(Tparameters *pr, boolean *se, double *p, double *r, TCuikSystem *cs) Evaluates a subset of the simplified equation set on a point. Definition: cuiksystem.c:4806 void WorldInitDOFInfo(Tworld *w) Collects information about the DOF of the mechanism. Definition: world.c:1501 Tequation * GetEquation(unsigned int n, Tequations *eqs) Gets an equation from the set. Definition: equations.c:1697 #define REP_JOINTS One of the possible values of the REPRESENTATION parameter. Definition: parameters.h:60 void NoCheckLinkObstacleCollision(unsigned int a, unsigned int b, Tworld *w) Desactivates the possible collision between a particular link and an object in the environment... Definition: world.c:1712 boolean IsCSPolynomial(TCuikSystem *cs) Identifies polynomial cuiksystems. Definition: cuiksystem.c:2651 void InitJacobian(Tvariables *vs, Tequations *eqs, TJacobian *j) Constructor. Definition: jacobian.c:16 unsigned int VectorSize(Tvector *vector) Gets the number of elements in a vector. Definition: vector.c:169 boolean LinkCanCollide(unsigned int l, unsigned int nl, unsigned int no, boolean **checkCollisionsLL, boolean **checkCollisionsLO) Identifies links than can collide. Definition: cd.c:2209 void AddObstacle2World(char *name, Tpolyhedron *o, Tworld *w) Adds an obstacle to the environment in the world. Definition: world.c:1393 void GenerateMEquationFromBranch(Tparameters *p, Tbranch *b, TMequation *meq, Tworld *w) Generates a matrix equation from a branch. Definition: world.c:718 unsigned int AddLink2World(Tlink *l, boolean endEffector, Tworld *w) Adds a link to the mechanism in the world. Definition: world.c:1333 void DeleteLinkTransforms(THTransform *tl, Tworld *w) Deletes transforms for each link. Definition: world.c:1290 void ChangeLinkReferenceFrame(unsigned int r, double **p1, double **p2, Tlink *l) Sets a new reference frame for the link. Definition: link.c:163 Tpolyhedron * GetLinkBody(unsigned int i, Tlink *l) Gets one of the convex parts of the link. Definition: link.c:271 void InitWorldCD(Tparameters *pr, unsigned int mt, Tworld *w) Initializes the collision detector. Definition: world.c:1013 void PlotMechanism(Tplot3d *pt, double axesLength, Tmechanism *m) Adds a mechanism to a 3d scene. Definition: mechanism.c:209 boolean WorldSimpInequalitiesHold(Tparameters *p, double *pt, Tworld *w) Check if the inequalities hold for the simplified system. Definition: world.c:2081 void GetPolyhedronCenter(double *c, Tpolyhedron *p) Gets the center of the spheres. Definition: polyhedron.c:1145 void SetEquationType(unsigned int type, Tequation *eq) Changes the type of the equation (SYSTEM_EQ, CARTESIAN_EQ, DUMMY_EQ, DERIVED_EQ). ... Definition: equation.c:1013 void GetWorldInitialBox(Tbox *b, Tworld *w) Gets the kinematic search space for a given problem. Definition: world.c:2204 void GetLinkTransformsFromSolutionPoint(Tparameters *p, boolean simp, double *sol, THTransform **tl, Tworld *w) Define transforms for the links from the a solution point. Definition: world.c:1165 Data structure to hold the information about the name of a file. Definition: filename.h:248 void GetMechanismDOFsFromTransforms(Tparameters *p, THTransform *tl, double *dof, Tmechanism *m) Extract the joint DOF values form the poses of all links. Definition: mechanism.c:298 void PlotWorld(Tparameters *pr, Tplot3d *pt, double axesLength, Tworld *w) Adds a world (environment plus mechanism) in a 3D scene. Definition: world.c:2260 void GetWorldJointLabel(unsigned int ndof, char **string, Tworld *w) Returns a label identifying each joint. Definition: world.c:1575 double GetMechanismMaxCoordinate(Tmechanism *m) Returns the sum of the maximum coordinate value for all the links and joints in the mechanism... Definition: mechanism.c:45 void GetWorldSimpInitialBox(Tparameters *p, Tbox *b, Tworld *w) Gets the kinematic simplified search space for a given problem. Definition: world.c:2212 void GenerateInitialBox(Tbox *box, TCuikSystem *cs) Gives the search space in the form of a box. Definition: cuiksystem.c:4583 boolean GenerateEquationsFromBranch(Tparameters *p, unsigned int eq_type, TCuikSystem *cs, Tbranch *b, Tworld *w) Generate equations from a branch. Definition: world.c:778 unsigned int MaxWorldReduction(Tparameters *p, Tbox *b, double *reduction, Tworld *w) Reduces the system variables as much as possible using the kinematic constraints. ... Definition: world.c:2220 void * GetVectorElement(unsigned int i, Tvector *vector) Returns a pointer to a vector element. Definition: vector.c:269 A homgeneous transform in R^3. void AddMatrixEquation(TMequation *equation, Tequations *eqs) Adds a matrix equation to the set. Definition: equations.c:1665 void SetBoxInterval(unsigned int n, Tinterval *is, Tbox *b) Replaces a particular interval in a box. Definition: box.c:259 double EvaluateWorldCost(Tparameters *p, boolean simp, double *pt, void *w) Evaluates the functions cost defined in a world. Definition: world.c:2142 void GenerateTransEquationsFromBranch(Tparameters *p, unsigned int eq_type, Tequation *eqs, Tbranch *b, Tworld *w) Generate equations from a branch. Definition: world.c:740 #define FINAL_FRAME_DELAY When generating 3d animations, delay between the end of the animation and the exit of the animation b... Definition: world.h:53 void AddShape2Environment(char *name, Tpolyhedron *o, Tenvironment *e) Adds an obstacle (i.e., a convex polyhedron) to the environment. Definition: environment.c:20 unsigned int AddVariable2CS(Tvariable *v, TCuikSystem *cs) Adds a variable to the system. Definition: cuiksystem.c:2511 Definition of variable names. void CopyEquation(Tequation *eq_dst, Tequation *eq_orig) Copy constructor. Definition: equation.c:216 void GetBranchStep(unsigned int i, double *s, Tjoint **joint, Tbranch *b) Retrives a particular step form a kinematic chain. Definition: world.c:184 double ErrorInSimpCSEquations(Tparameters *pr, double *p, TCuikSystem *cs) Evaluates the norm of the error in a point for the simplified equations. Definition: cuiksystem.c:4845 unsigned int GetWorldSimpVariableMask(Tparameters *p, boolean **sv, Tworld *w) Identifies pose related variable that survied in the simplified system. Definition: world.c:1823 void InitCD(unsigned int engine, boolean parallel, Tmechanism *m, Tenvironment *e, boolean **checkCollisionsLL, boolean **checkCollisionsLO, TworldCD *cd) Initializes the collision detector. Definition: cd.c:2126 void AddSimplifiedJacobianEquations(Tparameters *p, boolean *selectedVars, TCuikSystem *cs) Adds linear a linear combination of the Jacobian to the system. Definition: cuiksystem.c:2788 unsigned int GetCSSystemVars(boolean **sv, TCuikSystem *cs) Identifies the system variables. Definition: cuiksystem.c:2614 unsigned int CoupledWith(Tjoint *j) Returns the identifier of the joint coupled with the query joint. Definition: joint.c:1216 void InitPlot3d(char *name, boolean axes, int argc, char **arg, Tplot3d *p) Constructor. Definition: plot3d.c:41 #define WORLD_IN_DEFINITION One of the stages of the Tworld structure definition. Definition: world.h:61 boolean AllRevolute(Tmechanism *m) TRUE if all joints are revolute joints. Definition: mechanism.c:193 void SetVariableInterval(Tinterval *i, Tvariable *v) Sets the new range for the variable. Definition: variable.c:70 double WorldErrorInEquations(double *pt, Tworld *w) Evalates the norm of the error in the kinematic equations for a given point. Definition: world.c:2113 void DeleteWorldCollisionInfo(Tworld *w) Removes the collision information stored in a Tworld. Definition: world.c:1482 unsigned int GetWorldLinkID(char *linkName, Tworld *w) Gets the identifier of a link from its name. Definition: world.c:1437 void MoveWorldDOF(Tparameters *pr, Tplot3d *pt, double *dof, Tworld *w) Moves a mechanisms to a configuration given by the degrees of freedom. Definition: world.c:2514 void AddMatrixEquation2CS(Tparameters *p, TMequation *eq, TCuikSystem *cs) Adds a matrix equation to the system. Definition: cuiksystem.c:2490 boolean WorldCanCollide(Tworld *w) Determines if any collision is potentially possible. Definition: world.c:1046 unsigned int LinkNBodies(Tlink *l) Gets the number of convex parts of the link. Definition: link.c:246 void SimplifyMEquation(TMequation *me) Tries to reduce the complexity of the matrix equation. Definition: mequation.c:299 void EvaluateCSEquations(double *p, double *r, TCuikSystem *cs) Evaluates the equation set on a point. Definition: cuiksystem.c:4793 void PrintWorld(char *fname, int argc, char **arg, Tworld *w) Prints the world. Definition: world.c:2742 CBLAS_INLINE void HTransformProduct(THTransform *t1, THTransform *t2, THTransform *t3) Product of two homogeneous transforms. Definition: htransform.c:404 void InitWorldKinCS(Tparameters *p, Tworld *w) Initializes the kinematic sub-problem of a Tworld structure. Definition: world.c:900 unsigned int GetWorldSimpTopology(Tparameters *p, unsigned int **t, Tworld *w) Gets the topology of the variables. Definition: world.c:2043 unsigned int nStepsBranch(Tbranch *b) Gets the number of steps in a kinematic chain. Definition: world.c:179 Tlink * GetWorldLink(unsigned int linkID, Tworld *w) Gets a link from its identifier. Definition: world.c:1447 Tjoint * GetWorldJoint(unsigned int jointID, Tworld *w) Gets a joint from its identifier. Definition: world.c:1452 unsigned int Branches2Links(unsigned int from, unsigned int *links, unsigned int *jointTo, boolean *isLeaf, Tbranch *b, Tworld *w) Determines kinematic branch from a link to all other links. Definition: world.c:558 unsigned int GetSimpCSTopology(Tparameters *p, unsigned int **t, TCuikSystem *cs) Topology of the variables in the simplified system. Definition: cuiksystem.c:2674 void AddMonomial(Tmonomial *f, Tequation *eq) Adds a new monomial to the equation. Definition: equation.c:1356 unsigned int GetObstacleShapeStatus(unsigned int i, Tenvironment *e) Gets the status (NORMAL, HIDDEN, DECOR) of an obstacle given its identifier. Definition: environment.c:93 boolean AnyCollision(Tworld *w) Determines if we want to avoid any collision. Definition: world.c:1721 Definition of the Tworld type and the associated functions. void CopyCuikSystem(TCuikSystem *cs_dst, TCuikSystem *cs_src) Copy constructor. Definition: cuiksystem.c:2204 void WorldEvaluateSimpEquations(Tparameters *p, double *pt, double *r, Tworld *w) Evaluates the simplified kinematic equations. Definition: world.c:2097 void PrintEnvironment(FILE *f, char *path, Tenvironment *e) Stores the environment information into a file. Definition: environment.c:120 void WorldEvaluateEquations(double *pt, double *r, Tworld *w) Evaluates the kinematic equations. Definition: world.c:2065 void GenerateJointEquationsInBranch(Tparameters *p, double s, TCuikSystem *cs, Tequation *eq, Tjoint *j) Generate the constraints of a joint in a sequence. Definition: joint.c:1755 void GetJointName(char **name, Tjoint *j) Returns a string identifying the joint. Definition: joint.c:961 Error and warning functions. void EvaluateJacobianXVectors(double *p, unsigned int n, unsigned int ng, unsigned int *g, double *v, unsigned int *nr, unsigned int *nc, double ***m, TJacobian *j) Evaluates the Jacobian multiplied by some given vectors. Definition: jacobian.c:206 boolean MoveAndCheckCD(Tparameters *p, boolean all, unsigned int tID, double *sol, double *solPrev, Tworld *w) Checks a point for collision. Definition: world.c:1076 unsigned int MaxReduction(Tparameters *p, unsigned int varMask, double *reduction, Tbox *b, TCuikSystem *cs) Reduces a box as much as possible. Definition: cuiksystem.c:2908 double ErrorInCSEquations(double *p, TCuikSystem *cs) Evalates the norm of the error in a point. Definition: cuiksystem.c:4826 unsigned int GetBranchDestination(Tbranch *b) Returns the identifier of the link where the kinematic chain ends. Definition: world.c:213 boolean WorldInequalitiesHold(double *pt, Tworld *w) Check if the inequalities hold. Definition: world.c:2073 double HTransformGetElement(unsigned int i, unsigned int j, THTransform *t) Gets an element in a homogeneous transform. Definition: htransform.c:323 void AddStepToBranch(double s, Tjoint *joint, Tbranch *b) Adds a step to a kinematic chain. Definition: world.c:167 void MergeBranches(Tbranch *b1, Tbranch *b2, Tbranch *b) Merge two kinematic branches. Definition: world.c:228 void NewFreeJoint(unsigned int id, unsigned int linkID1, Tlink *link1, unsigned int linkID2, Tlink *link2, Tjoint *j) Constructor. Definition: joint.c:101 void Delay3dObject(double t, Tplot3d *p) Introduces a delay in the generation of the geometry. Definition: plot3d.c:211 void SetEquationCmp(unsigned int cmp, Tequation *eq) Changes the relational operator (LEQ, GEQ, EQU) of the equation. Definition: equation.c:1018 void WorldDeleteDOFInfo(Tworld *w) Deletes the information collected at WorldInitDOFInfo. Definition: world.c:1552 boolean IsWorldPolynomial(Tworld *w) Checks if the system of equations is polynomial. Definition: world.c:1607 void HTransformInverse(THTransform *t, THTransform *ti) Inverse of a homogeneous transform. Definition: htransform.c:468 unsigned int GetWorldNDOF(Tworld *w) Gets the number of degrees of freedom in the world. Definition: world.c:1559 void GetTransformFromBranch(THTransform *tj, THTransform *t, Tbranch *b) Defines the transform taking to the end of the branch. Definition: world.c:271 void WorldPrintAtoms(Tparameters *pr, FILE *f, double *pt, Tworld *w) Generates a file with the atom centers in global coordiantes. Definition: world.c:2304 boolean EndOfList(Titerator *i) Checks if an iterator is pointing at the end of the list. Definition: list.c:445 unsigned int GetBranchOrigin(Tbranch *b) Returns the identifier of the link where the kinematic chain starts. Definition: world.c:198 unsigned int GetWorldNConvexBodiesInLinks(Tworld *w) Gets the number of convex polyhedrons that define the mechanism included in the world. Definition: world.c:1472 Definitions of constants and macros used in several parts of the cuik library. void MechanismStoreRigidAtoms(FILE *f, THTransform *tl, Tmechanism *m) Auxiliary function for WorldStoreRigidGroups. Definition: mechanism.c:335 void InitVector(unsigned int ele_size, void(*Copy)(void *, void *), void(*Delete)(void *), unsigned int max_ele, Tvector *vector) Constructor. Definition: vector.c:100 void GetWorldRangeDOF(unsigned int ndof, Tinterval *r, Tworld *w) Gets the range for a given degree of freedom. Definition: world.c:1564 unsigned int GetWorldSystemVars(boolean **sv, Tworld *w) Gets the system vars of the kinematic cuiksystem. Definition: world.c:1810 void GetCSJacobian(TJacobian *J, TCuikSystem *cs) Defines the Jacobian of a CuikSystem. Definition: cuiksystem.c:2669 #define IsGroundLink(id) A test that return TRUE if the given identifier is that of the ground link. Definition: link.h:79 Definition of the Tlist type and the associated functions. unsigned int GetWorldMobility(Tworld *w) Returns the number of degrees of freedom of the mechanism in the world. Definition: world.c:1427 unsigned int GetJointRangeTopology(unsigned int nr, Tjoint *j) Returns the topology of one of the ranges of the joint. Definition: joint.c:1137 void CheckLinkObstacleCollision(unsigned int a, unsigned int b, Tworld *w) Activates the possible collision between a particular link and an object in the environment. Definition: world.c:1703 double WorldErrorInSimpEquations(Tparameters *p, double *pt, Tworld *w) Evalates the norm of the error in the kinematic equations for a given point. Definition: world.c:2121 void GenerateKinTree(Tvector *bOut, Tworld *w) Builds a kinematic tree departing from the ground link. Definition: world.c:624 void PrintWorldCollisionInfo(FILE *f, char *fname, Tworld *w) Prints information collected durint last collision check. Definition: world.c:2508 void EvaluateEqualityEquations(boolean systemOnly, double *v, double *r, Tequations *eqs) Evaluates all equality equations in the set. Definition: equations.c:2477 void PrintJointAxes(Tparameters *p, FILE *f, TCuikSystem *cs, double *sol, double *r, Tjoint *j) Prints the joint axis in world coordinates. Definition: joint.c:3271 void NoCheckAllCollisions(unsigned int fl, unsigned int fo, Tworld *w) Desactivates all the possible collision between links and links and obstacles. Definition: world.c:1637 void NoCheckSelfCollisions(unsigned int fl, Tworld *w) Desactivates all the possible collision between links. Definition: world.c:1671 boolean CuikNewton(Tparameters *p, double *sol, Tbox *b_sol, TCuikSystem *cs) Applies Newton-Rhapson to a set of equations. Definition: cuiksystem.c:3905 void AddEquation2CS(Tparameters *p, Tequation *eq, TCuikSystem *cs) Adds an equation to the system. Definition: cuiksystem.c:2481 unsigned int WorldDOF2Sol(Tparameters *p, double *dof, double **sol, Tbox *b, Tworld *w) Transforms from degrees of freedom to cuik variables. Definition: world.c:2543 void MoveMechanismFromTransforms(Tparameters *pr, Tplot3d *pt, THTransform *tl, Tmechanism *m) Displaces a mechanism in a 3d scene. Definition: mechanism.c:372 A table of parameters. void CreateFileName(char *path, char *name, char *suffix, char *ext, Tfilename *fn) Constructor. Definition: filename.c:22 unsigned int CuikNewtonSimp(Tparameters *p, double *x, TCuikSystem *cs) CuikNewton on the simplified system. Definition: cuiksystem.c:3571 void GetWorldSimpJacobian(Tparameters *p, TJacobian *J, Tworld *w) Gets the simplified kinematic Jacobian. Definition: world.c:2035 boolean InequalitiesHoldOnPoint(double *p, TCuikSystem *cs) Tests if all inqualities hold for a given point. Definition: cuiksystem.c:4953 Tjoint * GetMechanismJoint(unsigned int i, Tmechanism *m) Gets a joint given its identifier. Definition: mechanism.c:182 unsigned int GetCSNumSystemVariables(TCuikSystem *cs) Gets the number of system variables already in the cuiksystem. Definition: cuiksystem.c:2549 void GetJointTransSeq(Tparameters *p, TCuikSystem *cs, TTransSeq *ts, Tjoint *j) Build the sequence of transforms passing through the joint. Definition: joint.c:2895 void GetLinkTransformsFromDOF(double *dof, THTransform **tl, Tworld *w) Define transforms for the links from the DOF. Definition: world.c:1118 char * GetFileFullName(Tfilename *fn) Gets the file full name (paht+name+extension). Definition: filename.c:151 boolean IsMechanismAllSpheres(Tmechanism *m) TRUE if the mechanism is composed by spheres only. Definition: mechanism.c:40 double WorldErrorInSimpInequalities(Tparameters *p, double *pt, Tworld *w) Determines the maximum error in the inequalites for the simplified system. Definition: world.c:2089 void GetCSVariables(Tvariables *vs, TCuikSystem *cs) Gets the cuiksystem variables. Definition: cuiksystem.c:2529 void EvaluateCSJacobian(double *p, double ***J, TCuikSystem *cs) Evaluates the Jacobian of the system in a given point. Definition: cuiksystem.c:4814 void StoreCollisionInfo(FILE *f, char *fname, unsigned int objectID, Tmechanism *m, TworldCD *cd) Stores the information collected during last collision check into a file. Definition: cd.c:2334 boolean CheckCollision(boolean all, THTransform *tl, THTransform *tlPrev, TworldCD *cd) Determines if there is a collision. Definition: cd.c:2251 void GetTransform2Link(Tparameters *p, TCuikSystem *cs, double *sol, boolean groundLink, double *trans, THTransform *t, Tlink *l) Gets the homogeneous transform associated with a link for a given solution point. ... Definition: link.c:1311 void PrintCollisions(FILE *f, Tworld *w) Stores the collision information into a file. Definition: world.c:1733 double WorldErrorFromDOFs(Tparameters *p, double *dof, Tworld *w) Error in equations from DOFs. Definition: world.c:2129 void PrintMechanism(FILE *f, char *path, char *prefix, Tmechanism *m) Stores the mechanisms information into a file. Definition: mechanism.c:414 unsigned int GetWorldNumVariables(Tworld *w) Number of variables in the kinematic subsystem. Definition: world.c:2150 void GetLinkTransformsFromSolution(Tparameters *p, double *sol, THTransform **tl, Tworld *w) Define transforms for the links from the a solution point. Definition: world.c:1260 A cuiksystem, i.e., a set of variables and equations defining a position analysis problem... Definition: cuiksystem.h:181 void WorldEvaluateSubSetSimpEquations(Tparameters *p, boolean *se, double *pt, double *r, Tworld *w) Evaluates a subset of the simplified kinematic equations. Definition: world.c:2105 void WorldStoreRigidGroups(Tparameters *pr, FILE *f, double *pt, Tworld *w) Generates a file with the atoms grouped in rigid clusters. Definition: world.c:2318 #define NO_UINT Used to denote an identifier that has not been initialized. Definition: defines.h:435 void InitBoxFromPoint(unsigned int dim, double *p, Tbox *b) Initializes a box from a point. Definition: box.c:43 boolean IsRevoluteBinaryLink(unsigned int nl, double ***p, Tworld *w) Identifies links articulated with only two revolute joints. Definition: world.c:865 unsigned int WorldSimpCuikNewton(Tparameters *p, double *pt, Tworld *w) Tries to reach the kinematic manifold. Definition: world.c:2052 void PrintWorldAxes(Tparameters *pr, FILE *f, Tbox *b, Tworld *w) Prints the axes of the mechanism. Definition: world.c:2455 void AddVariable2Monomial(unsigned int fn, unsigned int varid, unsigned int p, Tmonomial *f) Adds a power variable to the monomial. Definition: monomial.c:171 unsigned int JointFromID(Tjoint *j) Gets the identifier of the first link involved in the joint. Definition: joint.c:941 void CheckSelfCollisions(unsigned int fl, Tworld *w) Activates all the possible collision between links. Definition: world.c:1656 Definition of the TSHTransform type and the associated functions. void GenerateLinkRot(Tparameters *p, unsigned int lID, TCuikSystem *cs, Tlink *l) Generate the variables and constraints related with the rotation of the link reference frame... Definition: link.c:520 unsigned int AddLink2Mechanism(Tlink *l, Tmechanism *m) Adds a link to a mechanism. Definition: mechanism.c:94 void PrintCuikSystem(Tparameters *p, FILE *f, TCuikSystem *cs) Prints a cuiksystem. Definition: cuiksystem.c:5022 unsigned int GetWorldNObstacles(Tworld *w) Gets the number of obstacles in the environment included in the world. Definition: world.c:1467 unsigned int GetMechanismLinkID(char *ln, Tmechanism *m) Gets a link identifier given its name. Definition: mechanism.c:157 void GenerateJointSolution(Tparameters *p, double *dof, THTransform *t1, THTransform *t2, TCuikSystem *cs, double *sol, Tjoint *j) Generates a solution point from degrees of freedom. Definition: joint.c:2330 char * GetObstacleName(unsigned int i, Tenvironment *e) Gets the name of an obstacle given its identifier. Definition: environment.c:71 void GetCSVariableNames(char **varNames, TCuikSystem *cs) Gets points to the variable names. Definition: cuiksystem.c:2534 unsigned int GetSolutionPointFromLinkTransforms(Tparameters *p, THTransform *tl, double **sol, Tworld *w) Determines the mechanisms configuration from the pose of all links. Definition: world.c:1215 boolean SimpInequalitiesHoldOnPoint(Tparameters *pr, double *p, TCuikSystem *cs) Tests if all simplified inqualities hold for a given point. Definition: cuiksystem.c:4973 void GenerateWorldSingularityEquations(Tparameters *p, char *ln, TCuikSystem *cs, Tworld *w) Adds variables/equations to detect singularities. Definition: world.c:1929 boolean WorldContinuousCD(Tworld *w) Determines the type of collision library used. Definition: world.c:1051 unsigned int GetWorldVarTopology(unsigned int vID, Tworld *w) Get the topology of a given variable. Definition: world.c:1818 #define MEM_EXPAND(_var, _n, _type) Expands a previously allocated memory space. Definition: defines.h:404 double GetParameter(unsigned int n, Tparameters *p) Gets the value for a particular parameter. Definition: parameters.c:93 unsigned int RegenerateWorldSolutionPoint(Tparameters *pr, double *p, double **v, Tworld *w) Computes the missing values in a kinematic solution. Definition: world.c:2276 unsigned int GetWorldNLinks(Tworld *w) Gets the number of links in the mechanism included in the world. Definition: world.c:1457 void EvaluateWorldJacobian(double *pt, double ***J, Tworld *w) Evaluates the kinematic Jacobian. Definition: world.c:2057 unsigned int AddJoint2World(Tjoint *j, Tworld *w) Adds a joint to the mechanism in the world. Definition: world.c:1383 Tlink * GetMechanismLink(unsigned int i, Tmechanism *m) Gets a link given its identifier. Definition: mechanism.c:146 void EvaluateSimpCSEquations(Tparameters *pr, double *p, double *r, TCuikSystem *cs) Evaluates the simplified equation set on a point. Definition: cuiksystem.c:4798 boolean IsMechanismInWorldAllSpheres(Tworld *w) TRUE if the mechanisms in the world is based on spheres. Definition: world.c:1432 void MoveWorld(Tparameters *pr, Tplot3d *pt, Tbox *b, Tworld *w) Moves the mechanisms defined in a world information to a given configuration. Definition: world.c:2387 void GetBoxCenter(boolean *used, double *c, Tbox *b) Returns the box center along the selected dimensions. Definition: box.c:697 double EvaluateCSCost(Tparameters *p, boolean simp, double *s, void *cs) Evalutes the equation to minimize in a given point. Definition: cuiksystem.c:4867 unsigned int GetWorldNConvexBodies(Tworld *w) Gets the number of convex polyhedrons that define the mechanism and the environment included in the w... Definition: world.c:1477 double GetEnvironmentMaxCoordinate(Tenvironment *e) Returns the sum of the maximum coordinate value for all the convex polyhedrons in the environment... Definition: environment.c:115 unsigned int GetCSVariableID(char *name, TCuikSystem *cs) Gets the numerical identifier of a variable given its name. Definition: cuiksystem.c:2586 Definition of basic randomization functions. unsigned int GetCSNumNonDummyVariables(TCuikSystem *cs) Gets the number of non-dummy variables already in the cuiksystem. Definition: cuiksystem.c:2558 void GenerateWorldEquations(Tparameters *p, Tworld *w) Generates all the cuiksystems derived from the world information. Definition: world.c:1850 void GenerateJointRangeSingularityEquations(Tparameters *p, TCuikSystem *cs, Tjoint *j) Modifies the cuik system to detect end range singularities. Definition: joint.c:1276 unsigned int GetCSVarTopology(unsigned int vID, TCuikSystem *cs) Determines the topology of a given variable. Definition: cuiksystem.c:2627 unsigned int GetObstacleID(char *name, Tenvironment *e) Gets the idetifier of an obstacles given its name. Definition: environment.c:45 void AnimateWorld(Tparameters *pr, char *pname, double axesLength, double frameDelay, Tlist *p, Tworld *w) Produces an animation along a path. Definition: world.c:2677 unsigned int GetWorldNumSystemVariables(Tworld *w) Number of system variables in the kinematic subsystem. Definition: world.c:2158 void GenerateWorldTWSEquations(Tparameters *p, char *ln, TCuikSystem *cs, Tworld *w) Adds variables/equations to detect translational workspace boundaries. Definition: world.c:1994 unsigned int RegenerateOriginalPoint(Tparameters *p, double *s, double **o, TCuikSystem *cs) Generates an original point from a simplified point. Definition: cuiksystem.c:4712 void WorldAtomJacobian(Tparameters *pr, double *sol, unsigned int *nr, unsigned int *nc, double ***J, Tworld *w) Jacobian of the atom position w.r.t. the variables. Definition: world.c:2332 void AddTransSeq2MEquation(int s, TTransSeq *ts, TMequation *me) Concatenates a transform sequence to the matrix equation. Definition: mequation.c:250 void GetSimpCSJacobian(Tparameters *p, TJacobian *J, TCuikSystem *cs) Defines the Jacobian of a simplified CuikSystem. Definition: cuiksystem.c:2683 unsigned int GetCSNumVariables(TCuikSystem *cs) Gets the number of variables already in the cuiksystem. Definition: cuiksystem.c:2544 double ErrorInSimpInequalitiesOnPoint(Tparameters *pr, double *p, TCuikSystem *cs) Computes the maximum error in all the simplified inqualities for a given point. Definition: cuiksystem.c:4996 void GenerateLinkSolution(Tparameters *p, THTransform *t, TCuikSystem *cs, double *sol, boolean groundLink, Tlink *l) Defines the link variables from a transform. Definition: link.c:1460 unsigned int RegenerateWorldOriginalPoint(Tparameters *p, double *s, double **o, Tworld *w) Reconstruct a point in original kinematic system from a simplified point. Definition: world.c:2166 void PrintWorldCS(Tparameters *p, Tfilename *fname, Tworld *w) Prints the cuiksystems derived from a world. Definition: world.c:2721 void GenerateJointRangeEquations(Tparameters *p, TCuikSystem *cs, Tjoint *j) Generate the constraints related with the joint limits. Definition: joint.c:1463 boolean Advance(Titerator *i) Moves an iterator to the next position of its associated list. Definition: list.c:373 unsigned int GetLinkID(char *name, Tmechanism *m) Gets the identifier of a link given its name. Definition: mechanism.c:50 #define LINK_TRANS(vname, linkName, cn) Translation part of the homogeneous transform defining the position of a link in global coordinates... Definition: varnames.h:136 void PrintCollisionInfo(THTransform *tl, Tmechanism *m, TworldCD *cd) Prints some information collected during last collision check. Definition: cd.c:2362 unsigned int AddJoint2Mechanism(Tjoint *j, Tmechanism *m) Adds a joint to a mechanism. Definition: mechanism.c:111 void MechanismPrintAtoms(FILE *f, THTransform *tl, Tmechanism *m) Prints the center of the atoms in a mechanism. Definition: mechanism.c:320 unsigned int GenerateSimplifiedPoint(Tparameters *p, double *o, double **s, TCuikSystem *cs) Generates a simplified point. Definition: cuiksystem.c:4725 void GenerateJointEquations(Tparameters *p, double maxCoord, TCuikSystem *cs, Tjoint *j) Generate the constraints related with the joint. Definition: joint.c:1920 void GetJointRangeN(unsigned int nr, double mt, Tinterval *r, Tjoint *j) Returns one of the ranges of the joint. Definition: joint.c:1037 void PlotEnvironment(Tplot3d *pt, Tenvironment *e) Displays the obstacles in the environment in a 3D geometry. Definition: environment.c:143 unsigned int GetPolyhedronType(Tpolyhedron *p) Retrives the type of a polyhedron. Definition: polyhedron.c:1155 boolean MoveAndCheckCDFromTransforms(boolean all, unsigned int tID, THTransform *tl, THTransform *tlPrev, Tworld *w) Checks a point for collision. Definition: world.c:1060 void ClosePlot3d(boolean quit, double average_x, double average_y, double average_z, Tplot3d *p) Destructor. Definition: plot3d.c:473 void NoCheckLinkLinkCollision(unsigned int a, unsigned int b, Tworld *w) Desactivates the possible collision between a particular pair of links. Definition: world.c:1694 void GenerateSimpInitialBox(Tparameters *p, Tbox *box, TCuikSystem *cs) Gives the search space in the form of a box for the simplified system. Definition: cuiksystem.c:4588 unsigned int NewVectorElement(void *e, Tvector *vector) Adds an element to the vector. Definition: vector.c:212 unsigned int GetWorldNJoints(Tworld *w) Gets the number of joints in the mechanism included in the world. Definition: world.c:1462 unsigned int GetEnvironmentNObstacles(Tenvironment *e) Gets the number of obstacles in the environment. Definition: environment.c:40 void AddEquationNoSimp(Tequation *equation, Tequations *eqs) Adds an equation to the set. Definition: equations.c:1656 unsigned int JointToID(Tjoint *j) Gets the identifier of the second link involved in the joint. Definition: joint.c:951 void WorldSample2DOF(Tparameters *p, double *sample, double *dof, Tworld *w) Transforms a sample degrees of freedom. Definition: world.c:2625 void CheckAllCollisions(unsigned int fl, unsigned int fo, Tworld *w) Activates all the possible collision between links and links and obstacles. Definition: world.c:1615 void InitWorldCS(Tworld *w) Initializes the cuiksystems in a Tworld structure. Definition: world.c:981 void DeleteWorldCD(Tworld *w) Deletes the collision information stored in the world. Definition: world.c:1100 |
Follow us!