parameters.h File Reference

Introduction

Definition of the functions to deal with the parameters given in a .param file. The available parameters are:

  • General parameters:
  • Parameters used in position analysis (branch-and-prune techniques)
    • RHO Reduction ration for boxes.
    • SMALL_SIGMA Minimum size for boxes while reducing them.
    • SIGMA Minimun size for boxes when splitting them.
    • N_SOLUTIONS Number of solutions required.
    • DUMMIFY Dummification level.
    • SPLIT_TYPE Method used to split boxes.
    • SAFE_SIMPLEX Safety method to ensure correctness in the simplex output.
    • SIMPLIFICATION_LEVEL Simplification level
    • LR2TM_Q Theshold to use linear relaxations in quadratic equations.
    • LR2TM_S Theshold to use linear relaxations in saddle equations.
    • STATE_PERIOD Interval between two consecutive saves of the internal state.
  • Parameters for altas construction (also used in atlas-based planning):
  • Parameters used in planning (higher-dimensional continuation techniques)
    • N_DOF Number of degrees of freedom.
    • CD_ENGINE Select the collision detection library.
    • DELTA Step in tangent space.
    • MAX_PLANNING_TIME Maximum planning time.
    • MAX_NEWTON_ITERATIONS Maximum number of iterations in the Newton processes.
    • RRT-based planning
      • SAMPLING Sampling method to use (in RRT).
      • SR Sampling radious (in RRT).
      • MAX_NODES_RRT Maximum number of nodes in the RRT.
      • BI_RRT If true, the planning uses a bidirectional RRT.
      • Kinodynamic motion planning
      • Transition-based RRT
      • Dynamic domain
      • Asymptotically-optimal path planning
        • RRT_GRAPH If true, the RRT stores a graph structure (not only a tree).
        • GAMMA Constant part of the nearest-neighbour radious used in AtlasRRT*.
        • MAX_PLANNING_ITERATIONS Maximum planning iterations.
    • GBF-based planning
  • Parameter for representation
  • Parameter for tensegrity problems
    • PRETENSION Pretension of the tensegrity structure.
  • Parameter for molecular problems
    • VDW_RATIO Ration on Van der Waals radious used to detect collisions between atoms.


Note that internal names for parameters are preceded by CT_, so, for instance EPSILON is called CT_EPSILON in the code

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 CT_PRETENSION   38
 Pre-tension. More...
 
#define CT_DYNAMICS   39
 Dynamics. More...
 
#define CT_INTEGRATION_TIME   40
 Integration time. More...
 
#define CT_DEFAULT_MAX_VELOCITY   41
 Max velocity. More...
 
#define CT_N_DYNAMIC_ACTIONS   42
 Number of dynamic actions. More...
 
#define CT_DYNAMIC_GOAL_ERROR   43
 Goal error in dynamic problems. More...
 
#define CT_G_COMPENSATION   44
 Gravity compensation. More...
 
#define CT_NEG_LM   45
 Negative Lagrange multipliers. More...
 
#define CT_G_AXIS   46
 Gravity axis. More...
 
#define CT_TAU   47
 Balance between time and action effort. More...
 
#define CT_LQR_PLANNING_TIME   48
 Planning time for LQR. More...
 
#define NPARAMETERS   (CT_LQR_PLANNING_TIME+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

◆ REP_LINKS

#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 111 of file parameters.h.

◆ REP_FLINKS

#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 121 of file parameters.h.

◆ REP_QLINKS

#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 132 of file parameters.h.

◆ REP_JOINTS

#define REP_JOINTS   3

In this representation we do not use any variable for links but only for joints. This is similar to the classical DH non redundant formulation, but includes some auxliary/dummy variables for some kind of joints (in_patch).

See also
REP_LINKS, REP_FLINKS, REP_QLINKS

Definition at line 144 of file parameters.h.

◆ SOLID

#define SOLID   0

One of the possible collison detection engines.

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

Definition at line 153 of file parameters.h.

◆ VCOLLIDE

#define VCOLLIDE   1

One of the possible collison detection engines.

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

Definition at line 162 of file parameters.h.

◆ PQP

#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 171 of file parameters.h.

◆ FCL

#define FCL   3

One of the possible collison detection engines.

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

Definition at line 180 of file parameters.h.

◆ C_FCL

#define C_FCL   4

One of the possible collison detection engines.

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

Definition at line 189 of file parameters.h.

◆ BULLET

#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 198 of file parameters.h.

◆ C_BULLET

#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 207 of file parameters.h.

◆ RIGIDCLL

#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 216 of file parameters.h.

◆ NOCD

#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 225 of file parameters.h.

◆ AMBIENT_SAMPLING

#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 235 of file parameters.h.

◆ KDTREE_SAMPLING

#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 246 of file parameters.h.

◆ TANGENT_SAMPLING

#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 258 of file parameters.h.

◆ DEFAULT_PARAMS

#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 269 of file parameters.h.

◆ CT_EPSILON

#define CT_EPSILON   0

Threshold to turn any number into 0. For position analysis problmes (relying on a linear program) it should be larger than 1e-6, the threshold hard-coded in many simplex packages. For path/motion planning we typically use values of 1e-8 or even 1e-10, depending on the accuracy of the given initial and final configurations/states.

Definition at line 281 of file parameters.h.

◆ CT_REPRESENTATION

#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.

When using JOINTS representation configurations/states are read form a .joints file. Otherwise they are read form a .links file.

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 305 of file parameters.h.

◆ CT_RHO

#define CT_RHO   2

If boxes in a prune process reduce more that RHO, the reduction process is repeated.

Definition at line 312 of file parameters.h.

◆ CT_SMALL_SIGMA

#define CT_SMALL_SIGMA   3

A prune process that reduces the size of a box is stoppes when the box reaches this size. This is typically the size of the boxes bounding isolated solutions.

Definition at line 320 of file parameters.h.

◆ CT_SIGMA

#define CT_SIGMA   4

If at the beginning of a prune process the box is smaller than this size, it is already considered a solution. Typically this is the size of the boxes bounding continuous solution sets.

Definition at line 329 of file parameters.h.

◆ CT_E

#define CT_E   5

Maximum error between the manifold and the tangent space for each chart.

Definition at line 336 of file parameters.h.

◆ CT_CE

#define CT_CE   6

Maximum oriented curvature error of the local maps for each chart.

Definition at line 343 of file parameters.h.

◆ CT_R

#define CT_R   7

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

Definition at line 350 of file parameters.h.

◆ CT_SR

#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 359 of file parameters.h.

◆ CT_DELTA

#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.

Definition at line 368 of file parameters.h.

◆ CT_ATLASGBF_BETA

#define CT_ATLASGBF_BETA   10

Cost penalty factor for cuikatlasGBF. The cuikatlasGBF was our first planning algorihtm using higher-dimensional continuation but we hardly use it nowadays since the cuikatlasrrt typically performs better (spacially in high dimensions).

See this paper for more details.

Definition at line 379 of file parameters.h.

◆ CT_STATE_PERIOD

#define CT_STATE_PERIOD   11

Period between two consecutive savings of the internal cuik state. If the computation is interrupted, the solving process is re-started from the last saved state.

Definition at line 388 of file parameters.h.

◆ CT_N_SOLUTIONS

#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 396 of file parameters.h.

◆ CT_MAX_NEWTON_ITERATIONS

#define CT_MAX_NEWTON_ITERATIONS   13

Maximum number iterations in the Newton-Raphson function. This is used, for instance, to implement the tangent-to-manifold map used in the chart implementation.

Definition at line 405 of file parameters.h.

◆ CT_N_DOF

#define CT_N_DOF   14

Dimensionality of the solution space for the mechanism at hand.

If set to 0, the system tries to guess this value automatically assuming that the first point in the joints/links file is regular.

Definition at line 415 of file parameters.h.

◆ CT_GAMMA

#define CT_GAMMA   15

Contant part of the search radius for nearest neightours in RRT*. See this paper for details.

Definition at line 423 of file parameters.h.

◆ CT_DUMMIFY

#define CT_DUMMIFY   16

Dummification level.

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

Definition at line 437 of file parameters.h.

◆ CT_SPLIT_TYPE

#define CT_SPLIT_TYPE   17

Select the criterion used to determine the split dimension for a box in a branch-and-prune process:

  • 0: if we use a size-based criterion (split along the largest side of the box)
  • 1: if we use an error-basedcriterion (split along the variable that introduces a larger linearization error).
  • 2: if we select the split dimension at random.

Definition at line 447 of file parameters.h.

◆ CT_SAFE_SIMPLEX

#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 simlpex tableau is reseted before all optimization.

Definition at line 459 of file parameters.h.

◆ CT_SIMPLIFICATION_LEVEL

#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 479 of file parameters.h.

◆ CT_LR2TM_Q

#define CT_LR2TM_Q   20

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

Definition at line 490 of file parameters.h.

◆ CT_LR2TM_S

#define CT_LR2TM_S   21

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

Definition at line 499 of file parameters.h.

◆ CT_VDW_RATIO

#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 509 of file parameters.h.

◆ CT_CUT_X

#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 521 of file parameters.h.

◆ CT_CUT_Y

#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 533 of file parameters.h.

◆ CT_CUT_Z

#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 545 of file parameters.h.

◆ CT_COEF_TEMP

#define CT_COEF_TEMP   26

Scale factor of the temperature parameter for Transition-based RRT.

This is part of our implementation of the Transition-based RRT that we used in this paper. For more details on the Transition-based RRT see this paper.

Definition at line 556 of file parameters.h.

◆ CT_NFAIL_MAX

#define CT_NFAIL_MAX   27

Number of successive trnasition test failues requiered before increasing the temperature.

This is part of our implementation of the Transition-based RRT that we used in this <a href="http://www.iri.upc.edu/people/porta/Docs/jcc13.pdf</a>. For more details on the Transition-based RRT see this <a href="https://ieeexplore.ieee.org/document/4650993">paper.

Definition at line 569 of file parameters.h.

◆ CT_DETECT_BIFURCATIONS

#define CT_DETECT_BIFURCATIONS   28

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

See this report for more details about branch switching.

Definition at line 580 of file parameters.h.

◆ CT_MAX_PLANNING_TIME

#define CT_MAX_PLANNING_TIME   29

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

Definition at line 587 of file parameters.h.

◆ CT_MAX_PLANNING_ITERATIONS

#define CT_MAX_PLANNING_ITERATIONS   30

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

Definition at line 595 of file parameters.h.

◆ CT_MAX_CHARTS

#define CT_MAX_CHARTS   31

Maximum number of charts in at atlas.

Definition at line 602 of file parameters.h.

◆ CT_MAX_NODES_RRT

#define CT_MAX_NODES_RRT   32

Maximum number of nodes in an RRT.

Definition at line 609 of file parameters.h.

◆ CT_BI_RRT

#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 620 of file parameters.h.

◆ CT_RRT_GRAPH

#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.

See this paper for more details.

Definition at line 632 of file parameters.h.

◆ CT_DYNAMIC_DOMAIN

#define CT_DYNAMIC_DOMAIN   35

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

See this paper for more details on this technique.

Definition at line 642 of file parameters.h.

◆ CT_CD_ENGINE

#define CT_CD_ENGINE   36

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

Definition at line 651 of file parameters.h.

◆ CT_SAMPLING

#define CT_SAMPLING   37

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

  • 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).

See this report for more details.

Definition at line 675 of file parameters.h.

◆ CT_PRETENSION

#define CT_PRETENSION   38

Norm of the tension/compression forces in the tensegrity. In equilibrium, these forces can be arbitrarily scaled preserving the equilibrium. By imposing a norm to the forces this scale factor (a short of useless degree of freedom) is cancelled. If set to 0, the scale factor is not fixed. Note that in general, the equilibrium forces can have more than one degree of freedom (the kernel of the equilibrium matrix can be larger than one). We only cancel one degree of fredom. If there are more, they can be cancelled by fixing some tensions or compressions to a constant value.

See this paper for more details.

Definition at line 693 of file parameters.h.

◆ CT_DYNAMICS

#define CT_DYNAMICS   39

If larger than 0, if the dynamics must be considered. If so, the problems are defined in phase space (position and velocity) where the velocity variables and equations are automatically generated.

Moreover, when de dynamics is considered, the (Atlas)RRT is extended integrating the dynamic equation.

The value (>0) is used to select the integration method:

  • LOCAL_TRAPEZOID (1): Implicit trapezoidal methods in local coordiantes (Broyden...)
  • LOCAL_EULER (2): Euler in local coordinates
  • LOCAL_RK4 (3): RK4 in local coordinates
  • EULER (4): Euler (disregarding the manifold)
  • RK4 (5): RK4 (disregarding the manifold)

Definition at line 715 of file parameters.h.

◆ CT_INTEGRATION_TIME

#define CT_INTEGRATION_TIME   40

When considering dynamics, this fixes the integration time for each selected action.

Definition at line 723 of file parameters.h.

◆ CT_DEFAULT_MAX_VELOCITY

#define CT_DEFAULT_MAX_VELOCITY   41

The maximum velocity (in absolute value). Only used if the maximum velocity can not be taken from the world file.

Definition at line 732 of file parameters.h.

◆ CT_N_DYNAMIC_ACTIONS

#define CT_N_DYNAMIC_ACTIONS   42

Number of valid actions when performing dynamic simulations/planning. Typically, such actions are samples in a continuous domain of valid forces/torques which lead to valid accelerations.

If set to 0, an LQR-based method is used to determine the action to execute.

Definition at line 745 of file parameters.h.

◆ CT_DYNAMIC_GOAL_ERROR

#define CT_DYNAMIC_GOAL_ERROR   43

Tolerance when aiming at a goal state (or the connection between thress) in a problem with dynamics.

This is call beta in our papers on kinodynamic planning. Not to be confused with ATLASGBF_BETA.

Definition at line 757 of file parameters.h.

◆ CT_G_COMPENSATION

#define CT_G_COMPENSATION   44

If set, actions are interpreted as variations over the action that compensates the gravity effects.

Definition at line 765 of file parameters.h.

◆ CT_NEG_LM

#define CT_NEG_LM   45

If set the Lagrange multipliers should be negative for a state to be valid. So far this is only used in cable-driven robots, to ensure that cables are in tension since the sign of the Lagrange multipliers is related with the sign of the internal forces in the mechanisms. See this <a href="http://www.iri.upc.edu/people/porta/Docs/cc17.pdf"paper for more details.

Definition at line 777 of file parameters.h.

◆ CT_G_AXIS

#define CT_G_AXIS   46

Select the gravity axis: 0 for no gravity, 1 for X, 2 for Y, 3 for Z, 4 for -X, 5 for -Y and 6 for Z

Definition at line 785 of file parameters.h.

◆ CT_TAU

#define CT_TAU   47

Balance between the relevance of time and the relevance of the action effort when computing the optimal action via LQR.

Definition at line 793 of file parameters.h.

◆ CT_LQR_PLANNING_TIME

#define CT_LQR_PLANNING_TIME   48

This parameter determines the planning time when using LQR to determine the policy. It is typically related to CT_INTEGRATION_TIME

Definition at line 801 of file parameters.h.

◆ NPARAMETERS

#define NPARAMETERS   (CT_LQR_PLANNING_TIME+1)

Total number of parameters.

Definition at line 808 of file parameters.h.

Typedef Documentation

◆ Tparameters

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 843 of file parameters.h.

Function Documentation

◆ InitParameters()

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().

◆ 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().

◆ GetParameter()

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 101 of file parameters.c.

References Error(), and NPARAMETERS.

Referenced by AddBranchToAtlasDynamicRRT(), AddBranchToAtlasRRT(), AddBranchToRRT(), AddNodeToRRT(), AddStepToAtlasRRTstar(), AddStepToRRTstar(), AddTrustedChart2Atlas(), AddVelocityEquations(), ApplyLinkRot(), ApplyLinkRotVar(), ApproachState(), AtlasAStar(), AtlasBiRRTstar(), AtlasGBF(), AtlasRRT(), AtlasRRTSimulate(), AtlasRRTstar(), AtlasTRRT(), BiRRTstar(), BuildAtlasFromPoint(), cBiRRT(), ccRRT(), ccTRRT(), Chart2Manifold(), ClassifyPointInChart(), CombineGradients(), ComputeAcceleration(), ComputeHandC_FJH(), ComputeInverseDynamics(), ComputeSplitDimInt(), ConnectDynamicStates(), ConnectDynamicStatesID(), ConnectSamples(), ConnectSamplesChart(), CSRemoveLCVars(), CSRemoveUnusedVars(), CSRemoveVarsWithCtRange(), CuikGradientInBox(), CuikNewtonInBox(), CuikNewtonSimp(), DealWithCP(), DetermineChartNeighbours(), DistanceOnChart(), DummifyAndAddEquation(), ExtendAtlasFromPoint(), ExtendAtlasTowardPoint(), FindSingularPoint(), FixLinks(), FixLinkZToZero(), FixZToZero(), GenerateEquationsFromBranch(), GenerateForceEquilibriumEquations(), GenerateJointEquations(), GenerateJointEquationsInBranch(), GenerateJointRangeEquations(), GenerateJointRangeSingularityEquations(), GenerateJointSolution(), GenerateLinkConf(), GenerateLinkRot(), GenerateLinkSolution(), GenerateTransEquationsFromBranch(), GenerateWorldEquations(), GenerateWorldSingularityEquations(), GeodesicDistance(), GetChartDegree(), GetJointTransSeq(), GetLinkPoseSimpVars(), GetLinkTransformsFromSolution(), GetLinkTransformsFromSolutionPoint(), GetSCpSystem(), GetSolutionPointFromLinkTransforms(), GetTransform2Link(), GradientSmooth(), IncrementalSampleCuikSystemInBox(), InitAtlasFromPoint(), InitAtlasRRT(), InitBranchState(), InitChartInt(), InitDynamicSpace(), InitHandC(), InitRRT(), InitWorldCD(), InitWorldFromMolecule(), InitWorldKinCS(), kinobiRRT(), kinoEST(), kinoRRT(), LinearizeDynamics(), LQRComputePolicy(), LQRComputePolicy_t(), main(), ManifoldDimension(), MinimizeOnAtlas(), MoveWorld(), MPI_SolveCuikSystem(), NewChartFromPoint(), NewTemptativeSample(), Newton2ManifoldPlane(), NextDynamicState(), NextDynamicStateEuler(), NextDynamicStateLocalEuler(), NextDynamicStateLocalRK4(), NextDynamicStateRK4(), NumericIntegration(), PathEffort(), PathInChart(), PathStart2GoalInRRT(), PlotAtlasRRT(), PlotChart(), PlotChartAsPolygon(), PlotForceField(), PlotRRT(), PlotSamples(), PointOnChart(), Polytope2SPolytope(), PopulateWithSamples(), PostProcessBox(), PrintAtlasStatistics(), PrintCuikSystemWithSimplification(), PrintWorldAxes(), RandomSmooth(), ReadOneSample(), ReadTwoSamples(), RecursiveReWireRRTstar(), ReduceBox(), ReduceBoxEquationWise(), RefineSingularPoint(), RefineTrajectory(), RegenerateJointBox(), RegenerateJointSolution(), RegenerateLinkBox(), RegenerateLinkSolution(), RegenerateMechanismBox(), RegenerateSolution(), RegenerateWorldOriginalPoint(), ReWireAtlasRRTstar(), ReWireRRTstar(), RRTstar(), SampleCuikSystemInBox(), ShortcutSmooth(), SimplifyCuikSystem(), Simulate(), SmoothSamples(), SolveCuikSystem(), StepCostNumericalGradient(), StepDispersionGradient(), StepEffort(), StepEffortGradient(), StepLengthGradient(), Steps2PathinAtlasRRT(), Steps2PathinRRT(), Time2Go(), TransitionTestRRT(), TriangulateAtlas(), UpdateCuikSystem(), UpdateLQRPolicy(), WireAtlasRRTstar(), WireRRTstar(), WorldAtomJacobian(), WorldCoupleTensegrityVariable(), WorldDOF2Sol(), WorldForceField(), WorldForceVars(), WorldPotentialEnergy(), WorldSample2DOF(), and WorldSimpKinematicVars().

◆ GetParameterID()

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 118 of file parameters.c.

References FALSE, NO_UINT, and NPARAMETERS.

◆ ParameterSet()

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 139 of file parameters.c.

◆ SetParameter()

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 147 of file parameters.c.

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

◆ ChangeParameter()

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 172 of file parameters.c.

References Error(), and NPARAMETERS.

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

◆ PrintParameters()

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 189 of file parameters.c.

References AMBIENT_SAMPLING, C_FCL, CT_CD_ENGINE, CT_CUT_X, CT_CUT_Y, CT_CUT_Z, CT_G_AXIS, 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().

◆ DeleteParameters()

void DeleteParameters ( Tparameters p)

Deletes a set of parameters and frees the allocated memory.

Parameters
pSet of parameters to be deleted.

Definition at line 361 of file parameters.c.

Referenced by main().