parameters.h File Reference

Detailed Description

Definition of the Tparameters type and the associated functions.

See Also
Tparameters, parameters.c, readparameters.l readparameters.y.

Definition in file parameters.h.

Data Structures

struct  Tparameter
 Information about a single parameter. More...
 

Macros

#define REP_LINKS   0
 One of the possible values of the REPRESENTATION parameter. More...
 
#define REP_FLINKS   1
 One of the possible values of the REPRESENTATION parameter. More...
 
#define REP_QLINKS   2
 One of the possible values of the REPRESENTATION parameter. More...
 
#define REP_JOINTS   3
 One of the possible values of the REPRESENTATION parameter. More...
 
#define SOLID   0
 One of the possible collison detection engines. More...
 
#define VCOLLIDE   1
 One of the possible collison detection engines. More...
 
#define PQP   2
 One of the possible collison detection engines. More...
 
#define FCL   3
 One of the possible collison detection engines. More...
 
#define C_FCL   4
 One of the possible collison detection engines. More...
 
#define BULLET   5
 One of the possible collison detection engines. More...
 
#define C_BULLET   6
 One of the possible collison detection engines. More...
 
#define RIGIDCLL   7
 One of the possible collison detection engines. More...
 
#define NOCD   8
 One of the possible collison detection engines. More...
 
#define AMBIENT_SAMPLING   0
 One of the possible sampling modes. More...
 
#define KDTREE_SAMPLING   1
 One of the possible sampling modes. More...
 
#define TANGENT_SAMPLING   2
 One of the possible sampling modes. More...
 
#define DEFAULT_PARAMS   "share/CuikSuite/default.param"
 Default file of parameters. More...
 
#define CT_EPSILON   0
 Numerical tolerance. More...
 
#define CT_REPRESENTATION   1
 Representation. More...
 
#define CT_RHO   2
 Reduction threshold. More...
 
#define CT_SMALL_SIGMA   3
 Box size threshold. More...
 
#define CT_SIGMA   4
 Box size threshold. More...
 
#define CT_E   5
 Chart error in atlas. More...
 
#define CT_CE   6
 Chart error in atlas. More...
 
#define CT_R   7
 Ball radius in atlas. More...
 
#define CT_SR   8
 Sampling ball in atlas. More...
 
#define CT_DELTA   9
 Size of the steps in the path connecting two configurations. More...
 
#define CT_ATLASGBF_BETA   10
 Cost penalty factor for atlasGBF. More...
 
#define CT_STATE_PERIOD   11
 Period between two consecutive savings of the state. More...
 
#define CT_N_SOLUTIONS   12
 Number of solution boxes to deliver. More...
 
#define CT_MAX_NEWTON_ITERATIONS   13
 Maximum number of iterations in the Newton-Raphson function. More...
 
#define CT_N_DOF   14
 Dimensionality of the solution space for the mechanism at hand. More...
 
#define CT_GAMMA   15
 Contant part of the search radius for nearest neightours in RRT*. More...
 
#define CT_DUMMIFY   16
 Dummification level. More...
 
#define CT_SPLIT_TYPE   17
 Split type. More...
 
#define CT_SAFE_SIMPLEX   18
 Trade off between speed and numerical stability when using the simplex. More...
 
#define CT_SIMPLIFICATION_LEVEL   19
 Simplification level. More...
 
#define CT_LR2TM_Q   20
 Threshold to switch from linear relaxations to Taylor models for quadratic equations. More...
 
#define CT_LR2TM_S   21
 Threshold to switch from linear relaxations to Taylor models for saddle equations. More...
 
#define CT_VDW_RATIO   22
 Ratio over over the Van der Waals radius. More...
 
#define CT_CUT_X   23
 Limit of domain of the X dimension of 3d plots. More...
 
#define CT_CUT_Y   24
 Limit of domain of the Y dimension of 3d plots. More...
 
#define CT_CUT_Z   25
 Limit of domain of the Z dimension of 3d plots. More...
 
#define CT_COEF_TEMP   26
 Scale factor of the temperature parameter for Transition-based RRT. More...
 
#define CT_NFAIL_MAX   27
 Number of successive trnasition test failues requiered before increasing the temperature. More...
 
#define CT_DETECT_BIFURCATIONS   28
 TRUE (or 1) if bifurcation must be detected. More...
 
#define CT_MAX_PLANNING_TIME   29
 Maximum time for path planning. More...
 
#define CT_MAX_PLANNING_ITERATIONS   30
 Maximum iterations for path planning. More...
 
#define CT_MAX_CHARTS   31
 Maximum number of charts in an atlas. More...
 
#define CT_MAX_NODES_RRT   32
 Maximum number of nodes in an RRT. More...
 
#define CT_BI_RRT   33
 Bi-directional RRT. More...
 
#define CT_RRT_GRAPH   34
 Graph RRT. More...
 
#define CT_DYNAMIC_DOMAIN   35
 Dynamic domain. More...
 
#define CT_CD_ENGINE   36
 Collision detection engine. More...
 
#define CT_SAMPLING   37
 Sampling mode. More...
 
#define NPARAMETERS   (CT_SAMPLING+1)
 Total number of parameters. More...
 

Typedefs

typedef Tparameter Tparameters [NPARAMETERS]
 A table of parameters. More...
 

Functions

void InitParameters (Tparameters *p)
 Constructor. More...
 
void InitParametersFromFile (char *file, Tparameters *p)
 Constructor from a file. More...
 
double GetParameter (unsigned int n, Tparameters *p)
 Gets the value for a particular parameter. More...
 
unsigned int GetParameterID (char *name, Tparameters *p)
 Returns the parameter identifier given the paramete name. More...
 
boolean ParameterSet (unsigned int n, Tparameters *p)
 Checks if a parameter is already defined. More...
 
void SetParameter (unsigned int n, char *name, double v, Tparameters *p)
 Sets the name and value for a particular parameter. More...
 
void ChangeParameter (unsigned int n, double v, Tparameters *p)
 Sets the value for a particular parameter. More...
 
void PrintParameters (FILE *f, Tparameters *p)
 Prints a parameter set. More...
 
void DeleteParameters (Tparameters *p)
 Destructor. More...
 

Macro Definition Documentation

#define REP_LINKS   0

In this representation we use 6 parameters to represent two vectors of the rotation matrices for each link. The third vector is the cross product of the two represented vectors.

See Also
REP_FLINKS, REP_QLINKS, REP_JOINTS

Definition at line 27 of file parameters.h.

Referenced by ApplyLinkRot(), CacheRotVars(), GenerateLinkRot(), GenerateLinkSolution(), GetLinkPoseSimpVars(), GetTransform2Link(), PrintParameters(), RegenerateLinkBox(), RegenerateLinkSolution(), and SetRotVars().

#define REP_FLINKS   1

In this representation we use 9 parameters to represent the full rotation matrices for each link.

See Also
REP_LINKS, REP_QLINKS, REP_JOINT

Definition at line 37 of file parameters.h.

Referenced by ApplyLinkRot(), CacheRotVars(), GenerateLinkRot(), GenerateLinkSolution(), GetLinkPoseSimpVars(), GetTransform2Link(), PrintParameters(), RegenerateLinkBox(), RegenerateLinkSolution(), and SetRotVars().

#define REP_QLINKS   2

In this representation we use 4 parameters to represent rotation matrices for each link relying on quaternions.

See Also
REP_LINKS, REP_FLINKS, REP_JOINTS

Definition at line 48 of file parameters.h.

Referenced by ApplyLinkRot(), CacheRotVars(), ChangeLinkReferenceFrame(), GenerateLinkRot(), GenerateLinkSolution(), GetLinkPoseSimpVars(), GetTransform2Link(), PrintParameters(), RegenerateLinkBox(), RegenerateLinkSolution(), and SetRotVars().

#define SOLID   0

One of the possible collison detection engines.

See Also
VCOLLIDE, PQP, FCL, CFLC, BULLET, C_BULLET, RIGIDCLL, NOCD

Definition at line 69 of file parameters.h.

Referenced by CheckCollision(), DeleteCD(), InitCD(), PrintCollisionInfo(), PrintParameters(), and StoreCollisionInfo().

#define VCOLLIDE   1

One of the possible collison detection engines.

See Also
SOLID, PQP, FCL, CFLC, BULLET, C_BULLET, RIGIDCLL, NOCD

Definition at line 78 of file parameters.h.

Referenced by CheckCollision(), DeleteCD(), InitCD(), and PrintParameters().

#define PQP   2

One of the possible collison detection engines.

See Also
SOLID, VCOLLIDE, FCL, C_FCL, BULLET, C_BULLET, RIGIDCLL, NOCD

Definition at line 87 of file parameters.h.

Referenced by CheckCollision(), DeleteCD(), InitCD(), and PrintParameters().

#define FCL   3

One of the possible collison detection engines.

See Also
SOLID, VCOLLIDE, C_FCL, BULLET, C_BULLET, RIGIDCLL, NOCD

Definition at line 96 of file parameters.h.

Referenced by CheckCollision(), DeleteCD(), InitCD(), PrintCollisionInfo(), PrintParameters(), and StoreCollisionInfo().

#define C_FCL   4

One of the possible collison detection engines.

See Also
SOLID, VCOLLIDE, FCL, BULLET, C_BULLET, RIGIDCLL, NOCD

Definition at line 105 of file parameters.h.

Referenced by CheckCollision(), DeleteCD(), InitCD(), MoveAndCheckCD(), PrintParameters(), and WorldContinuousCD().

#define BULLET   5

One of the possible collison detection engines.

See Also
SOLID, VCOLLIDE, PQP, FCL, C_FCL, C_BULLET, RIGIDCLL NOCD

Definition at line 114 of file parameters.h.

Referenced by CheckCollision(), DeleteCD(), InitCD(), PrintCollisionInfo(), and StoreCollisionInfo().

#define C_BULLET   6

One of the possible collison detection engines.

See Also
SOLID, VCOLLIDE, PQP, FCL, C_FCL, BULLET, RIGIDCLL NOCD

Definition at line 123 of file parameters.h.

Referenced by CheckCollision(), DeleteCD(), and InitCD().

#define RIGIDCLL   7

One of the possible collison detection engines.

See Also
SOLID, VCOLLIDE, PQP, FCL, C_FCL, BULLET, C_BULLET, NOCD

Definition at line 132 of file parameters.h.

Referenced by CheckCollision(), DeleteCD(), InitCD(), and PrintParameters().

#define NOCD   8

One of the possible collison detection engines.

See Also
SOLID, VCOLLIDE, PQP, FCL, C_FCL, BULLET, C_BULLET, RIGIDCLL

Definition at line 141 of file parameters.h.

Referenced by CheckCollision(), DeleteCD(), InitCD(), and PrintParameters().

#define AMBIENT_SAMPLING   0

In this sampling mode, points are generated randomly in the ambient space box.

See Also
KDTREE_SAMPLING, TANGENT_SAMPLING

Definition at line 151 of file parameters.h.

Referenced by AtlasRRTSample(), and PrintParameters().

#define KDTREE_SAMPLING   1

In this sampling mode, points are generated randomly in the boxes bounding the tree nodes. These boxes are defined in the kd-tree.

See Also
AMBIENT_SAMPLING, TANGENT_SAMPLING

Definition at line 162 of file parameters.h.

Referenced by AtlasRRTSample(), InitRRT(), PrintParameters(), and RRTSample().

#define TANGENT_SAMPLING   2

In this sampling mode, points are generated randomly in the tangent spaces stored in the charts. This is only used in AtlasRRT. If the sampling mode is set to this value normal RRTs use AMBIENT_SAMPLING

See Also
AMBIENT_SAMPLING, KDTREE_SAMPLING

Definition at line 174 of file parameters.h.

Referenced by AtlasRRT(), AtlasRRTSample(), PointTowardRandSample(), and PrintParameters().

#define DEFAULT_PARAMS   "share/CuikSuite/default.param"

Default file of parameters. This is the file of parameters read in the first place, before reading the file specific for the problem at hand. In this way, the problem specific parameter need only to include values for the parameters whose value is not to be the default value.

Definition at line 185 of file parameters.h.

Referenced by InitParametersFromFile().

#define CT_REPRESENTATION   1

The mechanisms configurations can be represented in different ways

  • LINKS: A partial rotation matrix per link (2 vectors, 6 parameters, the third vector is cross product of the first two).
  • FLINKS: A full rotation matrix per link (3 vectors, 9 parametres).
  • QLINKS: A rotation matrix per link using quaternions (4 parameters). This is experimental (not fully tested).
  • JOINTS: Directly use the DOF of the mechanism. This is equivalent to the standard non-redundant DH representation. In this case parameters are associated with joints and not with links.

Note that if you change this parameter solutions files previosly computed can become invalid. This can be a source of confusion so care must be taken to create/manipulate solutions using the same value for this parameter.

Definition at line 215 of file parameters.h.

Referenced by ApplyLinkRot(), ApplyLinkRotVar(), GenerateEquationsFromBranch(), GenerateJointEquations(), GenerateJointEquationsInBranch(), GenerateJointRangeEquations(), GenerateJointRangeSingularityEquations(), GenerateJointSolution(), GenerateLinkRot(), GenerateLinkSolution(), GenerateTransEquationsFromBranch(), GenerateWorldEquations(), GenerateWorldSingularityEquations(), GetJointTransSeq(), GetLinkPoseSimpVars(), GetLinkTransformsFromSolution(), GetLinkTransformsFromSolutionPoint(), GetSolutionPointFromLinkTransforms(), GetTransform2Link(), InitWorldFromMolecule(), InitWorldKinCS(), main(), MoveWorld(), PlotChartAsPolygon(), PrintParameters(), PrintWorldAxes(), ReadOneSample(), ReadTwoSamples(), RegenerateJointBox(), RegenerateJointSolution(), RegenerateLinkBox(), RegenerateLinkSolution(), RegenerateMechanismBox(), RegenerateWorldOriginalPoint(), SetRotVars(), TriangulateAtlas(), WorldAtomJacobian(), WorldDOF2Sol(), and WorldSample2DOF().

#define CT_RHO   2

If boxes reduce more that RHO the reduction process is repeated.

Definition at line 222 of file parameters.h.

Referenced by ReduceBox(), ReduceBoxEquationWise(), and RegenerateSolution().

#define CT_SMALL_SIGMA   3

Size of the boxes bounding isolated solutions.

Definition at line 229 of file parameters.h.

Referenced by IncrementalSampleCuikSystemInBox(), ReduceBox(), ReduceBoxEquationWise(), and SampleCuikSystemInBox().

#define CT_SIGMA   4

Size of the boxes bounding continuous solution sets.

Definition at line 236 of file parameters.h.

Referenced by PostProcessBox().

#define CT_E   5

Maximum projection error of the local maps when building atlas (or part of atlas).

Definition at line 243 of file parameters.h.

Referenced by ConnectSamplesChart(), GradientSmooth(), InitAtlasFromPoint(), InitAtlasRRT(), and main().

#define CT_CE   6

Maximum oriented curvature error of the local maps when building atlas (or part of atlas).

Definition at line 250 of file parameters.h.

Referenced by ConnectSamplesChart(), GradientSmooth(), InitAtlasFromPoint(), InitAtlasRRT(), and main().

#define CT_R   7

Maximum radius of the local maps when building atlas (or part of atlas).

Definition at line 257 of file parameters.h.

Referenced by ConnectSamplesChart(), GradientSmooth(), InitAtlasFromPoint(), InitAtlasRRT(), main(), and SPolytope2Polytope().

#define CT_SR   8

Radius of the ball used to generate samples. This must be larger than CT_R.

See Also
InitEmptySPolytope

Definition at line 266 of file parameters.h.

Referenced by InitChartInt(), and Polytope2SPolytope().

#define CT_DELTA   9

Step size for the paths connecting two given configurations. In between two steps no collision detetion is performed so, indirectly, this parameter defines the maximum penetrability between any two bodies in the problem.

Note that points in the path connecting two configurations are determined via linear interpolation between the start and goal configurations and then projecting on the manifold. The projection step (different for different algorithms) slightly changes the distance between consecutive steps in the path. Therefore, this parameter is only an approximation of the final actual value.

Definition at line 282 of file parameters.h.

Referenced by AddBranchToAtlasRRT(), AtlasBiRRTstar(), AtlasRRTstar(), ConnectSamples(), ConnectSamplesChart(), DistanceOnChart(), ExtendAtlasTowardPoint(), GeodesicDistance(), GradientSmooth(), InitChartInt(), InitRRT(), MinimizeOnAtlas(), PathInChart(), Polytope2SPolytope(), and SmoothSamples().

#define CT_ATLASGBF_BETA   10

Cost penalty factor for atlasGBF.

Definition at line 289 of file parameters.h.

Referenced by AtlasAStar(), AtlasGBF(), and BuildAtlasFromPoint().

#define CT_STATE_PERIOD   11

Period between two consecutive savings of the internal cuik state.

Definition at line 296 of file parameters.h.

Referenced by MPI_SolveCuikSystem(), and SolveCuikSystem().

#define CT_N_SOLUTIONS   12

Number of output solutions boxes we need. Use 0 to obtain all possible solution boxes for the problem at hand.

Definition at line 304 of file parameters.h.

Referenced by DealWithCP(), IncrementalSampleCuikSystemInBox(), MPI_SolveCuikSystem(), SampleCuikSystemInBox(), and SolveCuikSystem().

#define CT_MAX_NEWTON_ITERATIONS   13

Maximum number iterations in the Newton-Raphson function.

Definition at line 311 of file parameters.h.

Referenced by Chart2Manifold(), CuikNewtonInBox(), CuikNewtonSimp(), IncrementalSampleCuikSystemInBox(), main(), Newton2ManifoldPlane(), PostProcessBox(), and RefineSingularPoint().

#define CT_N_DOF   14

Dimensionality of the solution space for the mechanism at hand.

Definition at line 318 of file parameters.h.

Referenced by BuildAtlasFromPoint(), ConnectSamplesChart(), DealWithCP(), GetSCpSystem(), GradientSmooth(), InitAtlasFromPoint(), InitAtlasRRT(), InitRRT(), main(), MinimizeOnAtlas(), RandomSmooth(), and ShortcutSmooth().

#define CT_GAMMA   15

Contant part of the search radius for nearest neightours in RRT*.

Definition at line 325 of file parameters.h.

Referenced by AtlasBiRRTstar(), AtlasRRTstar(), BiRRTstar(), and RRTstar().

#define CT_DUMMIFY   16

Dummification level.

  • 0 keep in original form
  • 1 keep lineal,circles and spheres (the rest are transformed into linear,parabolas and saddles)
  • 2 keep lineal (the rest are transformed into linear,parabolas and saddles)
  • 3 keep lineal,circles, spheres and all inequalities (the rest are transformed into linear,parabolas and saddles)
  • 4 keep lineal and all inequalities (the rest are transformed into linear,parabolas and saddles)

Definition at line 339 of file parameters.h.

Referenced by DummifyAndAddEquation(), and main().

#define CT_SPLIT_TYPE   17

TRUE to use a linearization error minimization criterion to select the split dimension. FALSE to split along the largest side.

Definition at line 346 of file parameters.h.

Referenced by ComputeSplitDimInt(), PrintParameters(), and SampleCuikSystemInBox().

#define CT_SAFE_SIMPLEX   18

Trade off between speed and numerical stability when using the simplex Possible values are

  • 0 : no special numerical tricks are used
  • 1 : 0 + The output of the simplex are "corrected" to get safe bounds for the new ranges
  • 2 : 1 + The simplex tableau is reseted before the min/max for each range
  • 3 : 2 + The simlex tableau is reseted before all optimization.

Definition at line 358 of file parameters.h.

Referenced by ReduceBox().

#define CT_SIMPLIFICATION_LEVEL   19

Simplification level:

  • 0 No simplification is applied.
  • 1 Only equations of the form $x=a$ or $x^2=0$ are considered (with x a variable and a a constant).
  • 2 Equations of the form $x + a y=b$ are also considered (with x and y variables and a and b constants).
  • 3 Equations of the form $a x + b y=c$ are also considered (with x and y variables and a and b constants).

The less the simplification the more the numerical stability, but the slower the solution process.

A simplification level 2 should be Ok except for extremely ill conditioned cases.

Definition at line 378 of file parameters.h.

Referenced by PrintCuikSystemWithSimplification(), and SimplifyCuikSystem().

#define CT_LR2TM_Q   20

Threshold to switch from a specific linearization (one based on linear relaxations) to a general one (based on Taylorm models) for purely quadratic equations: parabolas, circles, and spheres.

Definition at line 389 of file parameters.h.

Referenced by ReduceBox().

#define CT_LR2TM_S   21

Threshold to switch from a specific linearization (one based on linear relaxations ) to a general one (based on Taylorm models) for saddle equations.

Definition at line 398 of file parameters.h.

Referenced by ReduceBox().

#define CT_VDW_RATIO   22

Reduction ratio [0,1] over the Van der Waals radius used to detect steric clashes. The reduction is used to ensure that only very high energy conformations are discarded by considering the collisions between atoms (as if atoms where solid spheres).

Definition at line 408 of file parameters.h.

Referenced by InitWorldFromMolecule().

#define CT_CUT_X   23

Limit of domain of the X dimension of 3d plots when the variables have circular ranges. The default limits are [-pi,pi] and this sometimes produce cutted plots. Using these constants the range of the plot can be adjusted at will to avoid those cuts.

This is basically used when plotting atlas the DOF CT_REPRESENTATION.

Definition at line 420 of file parameters.h.

Referenced by PlotChart(), PlotChartAsPolygon(), PlotRRT(), PlotSamples(), PrintParameters(), and TriangulateAtlas().

#define CT_CUT_Y   24

Limit of domain of the Y dimension of 3d plots when the variables have circular ranges. The default limits are [-pi,pi] and this sometimes produce cutted plots. Using these constants the range of the plot can be adjusted at will to avoid those cuts.

This is basically used when plotting atlas the DOF CT_REPRESENTATION.

Definition at line 432 of file parameters.h.

Referenced by PlotChart(), PlotChartAsPolygon(), PlotRRT(), PlotSamples(), PrintParameters(), and TriangulateAtlas().

#define CT_CUT_Z   25

Limit of domain of the Z dimension of 3d plots when the variables have circular ranges. The default limits are [-pi,pi] and this sometimes produce cutted plots. Using these constants the range of the plot can be adjusted at will to avoid those cuts.

This is basically used when plotting atlas the DOF CT_REPRESENTATION.

Definition at line 444 of file parameters.h.

Referenced by PlotChart(), PlotChartAsPolygon(), PlotRRT(), PlotSamples(), PrintParameters(), and TriangulateAtlas().

#define CT_COEF_TEMP   26

Scale factor of the temperature parameter for Transition-based RRT

Definition at line 451 of file parameters.h.

Referenced by TransitionTestRRT().

#define CT_NFAIL_MAX   27

Number of successive trnasition test failues requiered before increasing the temperature

Definition at line 460 of file parameters.h.

Referenced by TransitionTestRRT().

#define CT_DETECT_BIFURCATIONS   28

To activate/deactivate the search for bifurcations during the atlas construction.

Definition at line 468 of file parameters.h.

Referenced by AddTrustedChart2Atlas(), AtlasRRT(), AtlasTRRT(), DetermineChartNeighbours(), main(), MinimizeOnAtlas(), and PrintAtlasStatistics().

#define CT_MAX_PLANNING_TIME   29

Maximum time in seconds for the path planning algorihtms (cuikatlasGBF, cuikaltasrrt, cuikccrrt,....).

Definition at line 475 of file parameters.h.

Referenced by AtlasAStar(), AtlasBiRRTstar(), AtlasGBF(), AtlasRRT(), AtlasRRTstar(), AtlasTRRT(), BiRRTstar(), cBiRRT(), ccRRT(), ccTRRT(), and RRTstar().

#define CT_MAX_PLANNING_ITERATIONS   30

Maximum iterations for the path planning algorihtms (currently only used in AtlasRRT* and RR* since the rest of algorithms are limited in time only).

Definition at line 483 of file parameters.h.

Referenced by AtlasBiRRTstar(), AtlasRRTstar(), BiRRTstar(), main(), and RRTstar().

#define CT_MAX_CHARTS   31

Maximum number of charts in at atlas.

Definition at line 490 of file parameters.h.

Referenced by AtlasAStar(), AtlasGBF(), and BuildAtlasFromPoint().

#define CT_MAX_NODES_RRT   32

Maximum number of nodes in an RRT.

Definition at line 497 of file parameters.h.

Referenced by AddBranchToAtlasRRT(), AtlasRRT(), AtlasTRRT(), ccRRT(), and ccTRRT().

#define CT_BI_RRT   33

TRUE if the RRT search is bi-directional. cuikccrrt is one-directional despite the value of this parameter.
cuikcbirrt is bi-directional despite the value of this parameter.
The rest of rrt-like planners (cuikatlasrrt or cuikatalsrrtstar) properly honor this parameter.

Definition at line 508 of file parameters.h.

Referenced by main().

#define CT_RRT_GRAPH   34

TRUE if the RRT has to store all the neighbours for each new node. This is only used in cuikatlasrrtstar to speed up the propagation of improvements of the path to the nodes.

Definition at line 518 of file parameters.h.

Referenced by main().

#define CT_DYNAMIC_DOMAIN   35

TRUE if the RRT-like planners have to use dynamic domains. See the paper:

  • L. Jaillet, A. Yershova, S.M. La Valle, T. Simeon. Adaptive tuning of the sampling domain for dynamic-domain RRTs ICRA 2005

for more details on this technique.

Definition at line 533 of file parameters.h.

Referenced by InitRRT().

#define CT_CD_ENGINE   36

Collision detection engine. Right now four options are available: SOLID, VCOLLIDE, PQP, FCL, C_FCL, BULLET,RigidCD, NONE.

Definition at line 542 of file parameters.h.

Referenced by InitWorldCD(), and PrintParameters().

#define CT_SAMPLING   37

Parameter used to select the mode to generate samples to expand the (Atlas)RRT. Three modes are available: TANGENT_SAMPLING, AMBIENT_SAMPLING, KDTREE_SAMPLING.

TANGENT_SAMPLING is the default mode for Atlas RRT and uses the charts to sample.

AMBIENT_SAMPLING is the default mode for RRTs. This mode generate samples from the ambient space.

KDTREE_SAMPLING is a mode where the samples are generated from boxes bounding the nodes in the RRT. This boxes are defined by a kd-tree (also used to accelerate the searches for neighbour nodes).

Definition at line 563 of file parameters.h.

Referenced by AddBranchToAtlasRRT(), AtlasBiRRTstar(), AtlasRRT(), AtlasRRTstar(), AtlasTRRT(), BiRRTstar(), cBiRRT(), ccRRT(), ccTRRT(), InitRRT(), NewTemptativeSample(), PrintParameters(), and RRTstar().

#define NPARAMETERS   (CT_SAMPLING+1)

Total number of parameters.

Definition at line 570 of file parameters.h.

Referenced by ChangeParameter(), GetParameter(), GetParameterID(), InitParameters(), InitParametersFromFile(), PrintParameters(), and SetParameter().

Typedef Documentation

A set of parameters. Each parameter is identified with a constant defined in file parameters.h.

This is basically a set of constants, but only a small, predefined set of constants are allowed. This is why we do not re-use Tconstants but provide a different implementation.

See Also
parameters.h, parameters.c

Definition at line 606 of file parameters.h.

Function Documentation

void InitParameters ( Tparameters p)

Defines an empty set of parameters.

Parameters
pThe set to be initialized.

Definition at line 36 of file parameters.c.

References NPARAMETERS.

Referenced by InitParametersFromFile().

void InitParametersFromFile ( char *  file,
Tparameters p 
)

Defines an set of parameters from a file. It first read the default set of parameters and then the given set of parameters.

Parameters
fileName of the file with the set of parameters particular for the problem at hand.
pSet of parameters to define.
See Also
ReadParameters, defines.h

Definition at line 51 of file parameters.c.

References CreateFileName(), DEFAULT_PARAMS, DeleteFileName(), Error(), GetFileFullName(), InitParameters(), NPARAMETERS, PARAM_EXT, ReadParameters(), and Warning().

Referenced by main().

double GetParameter ( unsigned int  n,
Tparameters p 
)

Gets the value for a particular parameter.

Parameters
nNumber of parameter.
pSet of parameters.
Returns
The value of the parameter. If there is no parameter with the given number this functions triggers an error.

Definition at line 93 of file parameters.c.

References Error(), and NPARAMETERS.

Referenced by AddBranchToAtlasRRT(), AddNodeToRRT(), AddStepToAtlasRRTstar(), AddStepToRRTstar(), AddTrustedChart2Atlas(), ApplyLinkRot(), ApplyLinkRotVar(), AtlasAStar(), AtlasBiRRTstar(), AtlasGBF(), AtlasRRT(), AtlasRRTstar(), AtlasTRRT(), BiRRTstar(), BuildAtlasFromPoint(), cBiRRT(), ccRRT(), ccTRRT(), Chart2Manifold(), ClassifyPointInChart(), ComputeSplitDimInt(), ConnectSamples(), ConnectSamplesChart(), CSRemoveLCVars(), CSRemoveUnusedVars(), CSRemoveVarsWithCtRange(), CuikNewtonInBox(), CuikNewtonSimp(), DealWithCP(), DetermineChartNeighbours(), DistanceOnChart(), DummifyAndAddEquation(), ExtendAtlasFromPoint(), ExtendAtlasTowardPoint(), FindSingularPoint(), GenerateEquationsFromBranch(), GenerateJointEquations(), GenerateJointEquationsInBranch(), GenerateJointRangeEquations(), GenerateJointRangeSingularityEquations(), GenerateJointSolution(), GenerateLinkRot(), GenerateLinkSolution(), GenerateTransEquationsFromBranch(), GenerateWorldEquations(), GenerateWorldSingularityEquations(), GeodesicDistance(), GetChartDegree(), GetJointTransSeq(), GetLinkPoseSimpVars(), GetLinkTransformsFromSolution(), GetLinkTransformsFromSolutionPoint(), GetSCpSystem(), GetSolutionPointFromLinkTransforms(), GetTransform2Link(), GradientSmooth(), IncrementalSampleCuikSystemInBox(), InitAtlasFromPoint(), InitAtlasRRT(), InitChartInt(), InitRRT(), InitWorldCD(), InitWorldFromMolecule(), InitWorldKinCS(), main(), MinimizeOnAtlas(), MoveWorld(), MPI_SolveCuikSystem(), NewChartFromPoint(), NewTemptativeSample(), Newton2ManifoldPlane(), PathInChart(), PlotChart(), PlotChartAsPolygon(), PlotRRT(), PlotSamples(), PointOnChart(), Polytope2SPolytope(), PopulateWithSamples(), PostProcessBox(), PrintAtlasStatistics(), PrintCuikSystemWithSimplification(), PrintWorldAxes(), RandomSmooth(), ReadOneSample(), ReadTwoSamples(), RecursiveReWireRRTstar(), ReduceBox(), ReduceBoxEquationWise(), RefineSingularPoint(), RegenerateJointBox(), RegenerateJointSolution(), RegenerateLinkBox(), RegenerateLinkSolution(), RegenerateMechanismBox(), RegenerateSolution(), RegenerateWorldOriginalPoint(), ReWireAtlasRRTstar(), ReWireRRTstar(), RRTstar(), SampleCuikSystemInBox(), SetRotVars(), ShortcutSmooth(), SimplifyCuikSystem(), SmoothSamples(), SolveCuikSystem(), SPolytope2Polytope(), Steps2PathinAtlasRRT(), Steps2PathinRRT(), TransitionTestRRT(), TriangulateAtlas(), UpdateCuikSystem(), WireAtlasRRTstar(), WireRRTstar(), WorldAtomJacobian(), WorldDOF2Sol(), and WorldSample2DOF().

unsigned int GetParameterID ( char *  name,
Tparameters p 
)

Determines the parameter identifier for a given parameter name.

Parameters
nameThe paremeter name.
pThe set of parameteres.
Returns
The paremeter identifier or NO_UINT if there is not a parameter with the given name.

Definition at line 110 of file parameters.c.

References FALSE, NO_UINT, and NPARAMETERS.

boolean ParameterSet ( unsigned int  n,
Tparameters p 
)

Determines is a parameter is already defined. The default initialization (the one from the default set of parameters) is not taken into account. Only explicit initializations from the users are considered.

Only parameters alrady defined can be used in the definition of other parameters.

Parameters
nThe identifier of the parameter.
pThe parameter set.
Returns
TRUE if the parameter is already defined.

Definition at line 131 of file parameters.c.

void SetParameter ( unsigned int  n,
char *  name,
double  v,
Tparameters p 
)

Sets the name and value for a particular parameter.

Parameters
nNumber of parameter.
nameThe name for the parameter. This is a string that is used when printing the parameter.
vThe value.
pSet of parameters.

Definition at line 139 of file parameters.c.

References ChangeParameter(), Error(), NPARAMETERS, and Warning().

void ChangeParameter ( unsigned int  n,
double  v,
Tparameters p 
)

Sets the value for a particular parameter.

Parameters
nNumber of parameter.
vThe new value for the parameter.
pSet of parameters.

Definition at line 164 of file parameters.c.

References Error(), and NPARAMETERS.

Referenced by DealWithCP(), IncrementalSampleCuikSystemInBox(), InitAtlasFromPoint(), main(), MinimizeOnAtlas(), SampleCuikSystemInBox(), and SetParameter().

void PrintParameters ( FILE *  f,
Tparameters p 
)

Writes a parameter set to a stream, that can be stdout.

In principle the output of this function can be used as a parameter file (i.e., it can be parsed correctly with InitParametersFromFile).

Parameters
fThe stream
pSet of parameters to print.

Definition at line 181 of file parameters.c.

References AMBIENT_SAMPLING, C_FCL, CT_CD_ENGINE, CT_CUT_X, CT_CUT_Y, CT_CUT_Z, CT_REPRESENTATION, CT_SAMPLING, CT_SPLIT_TYPE, Error(), FCL, INF, KDTREE_SAMPLING, NOCD, NPARAMETERS, PQP, REP_FLINKS, REP_JOINTS, REP_LINKS, REP_QLINKS, RIGIDCLL, SOLID, TANGENT_SAMPLING, and VCOLLIDE.

Referenced by main().

void DeleteParameters ( Tparameters p)

Deletes a set of parameters and frees the allocated memory.

Parameters
pSet of parameters to be deleted.

Definition at line 295 of file parameters.c.

Referenced by main().