atlasrrt.c
Go to the documentation of this file.
1791 if ((!revisitCharts)&&((!ar->birrt)||((ar->ci[currentSampleInfo->c]->tree)&(ar->ci[*nextChart]->tree))))
3013 fprintf(stderr," Expanding to goal-----------------------------------------------------------------\n");
3081 boolean AtlasRRTValidateSample(Tparameters *pr,double *q_rand,unsigned int tree,boolean expand2goal,
3251 fprintf(stderr,"Iteration: %u (s:%u c:%u t:%u tm:%g sc:%.2f)\n",it,ar->ns,ar->nc,t1,*time,scale);
3576 d=AddBranchToAtlasRRT(pr,it,(expand2Goal?ADD_LAST_NO_REP:ADD_LAST),TRUE,TRUE,expand2Goal,FALSE,
3703 (*t)|=GetRRTNodeTree(n[i],&(ar->rrt)); /* take note of the tree of this neighbour (even if not reached)*/
Definition of the boolean type. void NewAtlasRRTNoConnectToParent(TAtlasRRTStatistics *arst) A chart that does not intersect with its parent. Definition: atlasrrt.c:467 unsigned int GetRRTParent(unsigned int i, Trrt *rrt) Returns identifier of the parent of one of the nodes of the RRT. Definition: rrt.c:3547 void AdjustDynamicDomain(unsigned int i, boolean collision, Trrt *rrt) Sets the dynamic domain. Definition: rrt.c:3482 void PlotVect3d(unsigned int n, double *x, double *y, double *z, Tplot3d *p) Adds a polyline to the current object. Definition: plot3d.c:447 void LoadAtlas(Tparameters *pr, Tfilename *fname, TAtlasBase *w, Tatlas *a) Defines an atlas from the information on a file. Definition: atlas.c:3869 Definition of the combination of an atlas with a RRT. unsigned int VectorSize(Tvector *vector) Gets the number of elements in a vector. Definition: vector.c:169 #define CS_WD_ERROR_IN_SIMP_EQUATIONS(pr, p, wcs) Computes the error in the simplified system for a given point. Definition: wcs.h:446 double GetRRTNodeCostFromParent(unsigned int i, Trrt *rrt) Returns the cost from the parent node, if defined. Definition: rrt.c:3596 boolean AtlasRRTstar(Tparameters *pr, double *pg, unsigned int *it, double *times, double *costs, double *planningTime, double *pl, unsigned int *ns, double ***path, TAtlasRRTStatistics *str, Tatlasrrt *ar) Optimal AtlasRRT on manifolds. Definition: atlasrrt.c:3908 #define CS_WD_GENERATE_SIMPLIFIED_POINT(pr, p, r, wcs) Generates a simplified point from an original one. Definition: wcs.h:432 void LoadAtlasRRTSampleInfo(FILE *f, TSampleInfo *si, Tatlasrrt *ar) Reads the information associated with a sample in an AtlasRRT. Definition: atlasrrt.c:2829 double DistanceTopology(unsigned int s, unsigned int *tp, double *v1, double *v2) Computes the distance of two points. Definition: basic_algebra.c:382 boolean RRTSample(unsigned int samplingMode, unsigned int tree, double *goal, double *q_rand, TRRTStatistics *rst, Trrt *rrt) Generates a random sample to expand the RRT. Definition: rrt.c:1471 Data structure to hold the information about the name of a file. Definition: filename.h:248 boolean RandomPointInAtlas(Tparameters *pr, double scale, double *w, unsigned int *nm, double *t, double *p, Tatlas *a) Samples a random point on the atlas. Definition: atlas.c:3944 void NewAtlasRRTDistanceQrand(double dqr, TAtlasRRTStatistics *arst) New distance to q_rand. Definition: atlasrrt.c:387 void PlotRRT(char *fname, int argc, char **arg, Tparameters *pr, unsigned int xID, unsigned int yID, unsigned int zID, Trrt *rrt) Pots a projection of a RRT. Definition: rrt.c:3729 void NewAtlasRRTOutOfChart(TAtlasRRTStatistics *arst) New chart due to radius. Definition: atlasrrt.c:432 void * GetVectorElement(unsigned int i, Tvector *vector) Returns a pointer to a vector element. Definition: vector.c:269 unsigned int randomMax(unsigned int m) Returns a random integer in the range [0,m]. Definition: random.c:77 void AddEdgeToRRT(unsigned int i, unsigned int j, double c, Trrt *rrt) Adds a neighbouring relation to an RRT. Definition: rrt.c:784 void NewAtlasRRTNoEmptyTreeConnection(TAtlasRRTStatistics *arst) New non-void attempt to connect the two trees. Definition: atlasrrt.c:382 void InitStatistics(unsigned int np, double v, Tstatistics *t) Constructor. Definition: statistics.c:21 CBLAS_INLINE double Norm(unsigned int s, double *v) Computes the norm of a vector. Definition: basic_algebra.c:265 boolean AddNodeToRRT(Tparameters *pr, unsigned int tree, unsigned int i_near, double *sample, double *goal, unsigned int *lastSample, void *info, double costp, double cost, TRRTStatistics *rst, Trrt *rrt) Adds a point to a RRT. Definition: rrt.c:1869 void PlotConnection(Tparameters *pr, char *prefix, unsigned int target, unsigned int near, unsigned int end, unsigned int xID, unsigned int yID, unsigned int zID, Tatlasrrt *ar) Graphical representation of the attempt to connect two trees. Definition: atlasrrt.c:2749 void DifferenceVectorTopology(unsigned int s, unsigned int *tp, double *v1, double *v2, double *v) Substracts two vectors. Definition: basic_algebra.c:245 void NewAtlasRRTQrandReached(TAtlasRRTStatistics *arst) Random sample reached. Definition: atlasrrt.c:402 CBLAS_INLINE void AccumulateVector(unsigned int s, double *v1, double *v2) Adds a vector to another vectors. Definition: basic_algebra.c:55 boolean AtlasTRRT(Tparameters *pr, double *pg, double *time, double *pl, double *pc, unsigned int *ns, double ***path, double(*costF)(Tparameters *, boolean, double *, void *), void *costData, TAtlasRRTStatistics *str, Tatlasrrt *ar) Extends a Atlas-TRRT until we reach a targed point. Definition: atlasrrt.c:3399 void PlotQrand(Tparameters *pr, char *prefix, unsigned int inear, unsigned int c_rand, double *t_rand, double *q_rand, unsigned int xID, unsigned int yID, unsigned int zID, Tatlasrrt *ar) Plots a point where q_rang is and a line to its chart. Definition: atlasrrt.c:2652 void LoadAtlasRRTChartInfo(FILE *f, TChartInfo *ci, Tatlasrrt *ar) Reads the information associated with a chart in an AtlasRRT. Definition: atlasrrt.c:2844 void InitRRT(Tparameters *pr, boolean parallel, boolean simp, double *ps, unsigned int mode, boolean graph, double *pg, unsigned int m, TAtlasBase *w, Trrt *rrt) Defines a RRT from a given point. Definition: rrt.c:1204 unsigned int randomWithDistribution(unsigned int m, double s, double *d) Random number with a given discrete distribution. Definition: random.c:86 unsigned int GetRRTNN(unsigned int tree, double *q_rand, Trrt *rrt) Locates the nearest sample in the tree of samples. Definition: rrt.c:1547 Definition of the Tfilename type and the associated functions. void PlotAtlasRRT(char *prefix, int argc, char **arg, Tparameters *pr, unsigned int xID, unsigned int yID, unsigned int zID, Tatlasrrt *ar) Pots a projection of an atlasRRT. Definition: atlasrrt.c:4470 void InitPlot3d(char *name, boolean axes, int argc, char **arg, Tplot3d *p) Constructor. Definition: plot3d.c:41 #define CT_GAMMA Contant part of the search radius for nearest neightours in RRT*. Definition: parameters.h:325 void IncreaseChartSamplingRadius(Tchart *c) Increase the sampling radious of the chart. Definition: chart.c:1379 CBLAS_INLINE void Normalize(unsigned int s, double *v) Normalizes a vector. Definition: basic_algebra.c:442 boolean TransitionTestRRT(Tparameters *pr, unsigned int parent, double *q_next, double deltaStep, double *cost, double(*costF)(Tparameters *, boolean, double *, void *), void *costData, Trrt *rrt) transition Test for Transition RRT Definition: rrt.c:809 void InitAtlasRRTStatistics(TAtlasRRTStatistics *arst) Init the Atlas RRT statistics. Definition: atlasrrt.c:325 double ConnectSamplesChart(Tparameters *pr, unsigned int *tp, Tbox *domain, unsigned int m, unsigned int n, double *s1, double *s2, double md, boolean checkCollisions, boolean *reached, boolean *collision, double *lastSample, unsigned int *ns, double ***path, TAtlasBase *w) Determines the connection between two points on the manifold. Definition: samples.c:172 double AddSample2AtlasRRT(Tparameters *pr, unsigned int tree, unsigned int *currentID, unsigned int nextChart, double *nextParam, double *nextSample, double dp, double cost, Tatlasrrt *ar) Adds a sample to the AtlasRRT. Definition: atlasrrt.c:1967 double Chart2Manifold(Tparameters *pr, TJacobian *sJ, double *t, unsigned int *tp, double *pInit, double *p, Tchart *c) Returns the point in the manifold for a given set of parameteres. Definition: chart.c:1066 void NewTemptativeSample(Tparameters *pr, unsigned int it, unsigned int *nChanges, boolean revisitCharts, boolean chartCreated, boolean checkCollisions, boolean onManifold, TSampleInfo *currentSampleInfo, double *currentParam, double *origRandSample, unsigned int *randChart, double *randParam, double *randSample, double currentDelta, double d, double *deltaParam, unsigned int *nextChart, double *nextParam, double *nextSample, void *st, double(*costF)(Tparameters *, boolean, double *, void *), void *costData, double *cost, boolean *blocked, boolean *inCollision, boolean *valid, Tatlasrrt *ar) Generates a new sample in between q_near and q_rand. Definition: atlasrrt.c:1702 unsigned int GetRRTNNInNeighbourChart(unsigned int tree, unsigned int c_rand, double *t_rand, double *q_rand, Tatlasrrt *ar) Selects the nearest point in the chart of Id ChartId, or in a neighbour. Definition: atlasrrt.c:4411 void NewAtlasRRTSampleRejection(TAtlasRRTStatistics *arst) New sample rejection. Definition: atlasrrt.c:482 double ChangeBiRRTSteps(unsigned int l1, unsigned int l2, double c12, Tvector *steps, Trrt *rrt) Changes the optimal path in a bidirectional RRT. Definition: rrt.c:3298 unsigned int ReconstructAtlasRRTPath(Tparameters *pr, unsigned int sID, double *pl, unsigned int *ns, double ***path, Tatlasrrt *ar) Collects samples from the tree root to a given sample. Definition: atlasrrt.c:2357 boolean AddChart2AtlasRRT(Tparameters *pr, unsigned int tree, unsigned int it, TSampleInfo *currentSampleInfo, boolean *intersectParent, Tatlasrrt *ar) Adds a chart to the Atlas RRT. Definition: atlasrrt.c:2104 #define CT_MAX_PLANNING_ITERATIONS Maximum iterations for path planning. Definition: parameters.h:483 void SetRRTParent(unsigned int i, unsigned int p, Trrt *rrt) Changes the parent for a given node. Definition: rrt.c:3555 void AtlasRRTstarCloseIteration(unsigned int it, unsigned int id_goal, double time, double gamma, double *times, double *costs, Tatlasrrt *ar) Prints information about the AtlasRRT* iteration. Definition: atlasrrt.c:3843 void LoadRRT(Tparameters *pr, Tfilename *fname, TAtlasBase *w, Trrt *rrt) Defines a RRT from the information on a file. Definition: rrt.c:4036 void AddElement2Heap(unsigned int id, void *e, Theap *heap) Adds an element to the heap. Definition: heap.c:294 boolean PathStart2GoalInRRT(Tparameters *pr, double *pgs, unsigned int l1, unsigned int l2, double *pl, double *pc, unsigned int *ns, double ***path, Trrt *rrt) Determines the path from start to goal using an RRT. Definition: rrt.c:3402 double * GetRRTNode(unsigned int i, Trrt *rrt) Returns one of the nodes of the RRT. Definition: rrt.c:3526 unsigned int StepsToRoot(unsigned int sID, Trrt *rrt) Computes the number of steps from a node to the root. Definition: rrt.c:3714 Definition of a binary heap used to implement priority queues. boolean InDynamicDomain(unsigned int i, double *q, Trrt *rrt) Checks if a sample is in the dynamic domaiin of a given node. Definition: rrt.c:3474 double Distance(unsigned int s, double *v1, double *v2) Computes the distance of two points. Definition: basic_algebra.c:323 void AddSample2Samples(unsigned int nv, double *sample, unsigned int nvs, boolean *systemVars, unsigned int *ms, unsigned int *ns, double ***path) Adds a sample to a set of samples. Definition: samples.c:150 boolean LessThanDoublePair(void *a, void *b, void *userData) Comparison operator for paris of doubles. Definition: heap.c:224 void RecursiveReWireRRTstar(Tparameters *pr, Theap *q, double *g, Tvector *steps, double *l, Trrt *rrt) A rewire that is propagates as much as necessary over the graph. Definition: rrt.c:2145 unsigned int InitChart(Tparameters *pr, boolean simple, Tbox *domain, unsigned int *tp, unsigned int m, unsigned int k, double *p, double e, double eCurv, double r, TJacobian *sJ, TAtlasBase *w, Tchart *c) Constructor. Definition: chart.c:792 double UpdateBiRRTSteps(Tvector *steps, Trrt *rrt) Updates the current optimal path. Definition: rrt.c:3357 unsigned int AtlasRRTMemSize(Tatlasrrt *ar) Memory used by a given atlasRRT. Definition: atlasrrt.c:4677 boolean AtlasBiRRTstar(Tparameters *pr, double *pg, unsigned int *it, double *times, double *costs, double *planningTime, double *pl, unsigned int *ns, double ***path, TAtlasRRTStatistics *str, Tatlasrrt *ar) Bidirectional version of AtlasRRTstar. Definition: atlasrrt.c:4148 #define CS_WD_SIMP_INEQUALITIES_HOLD(pr, p, wcs) Cheks if all inequalities hold. Definition: wcs.h:207 boolean RandomPointInChart(Tparameters *pr, double scale, unsigned int *tp, double *t, double *p, Tchart *c) Samples a random point in the area covered by the chart. Definition: chart.c:1364 void AtlasBiRRTstarCloseIteration(unsigned int it, double l, double time, double gamma, double *times, double *costs, Tatlasrrt *ar) Prints information about the BiAtlasRRT* iteration. Definition: atlasrrt.c:3878 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 NewAtlasRRTNoEmptyBranch(TAtlasRRTStatistics *arst) New no empty branch. Definition: atlasrrt.c:372 void ReWireAtlasRRTstar(Tparameters *pr, unsigned int id_new, double gamma, unsigned int nn, unsigned int *n, double *c, Tvector *steps, double *l, TAtlasRRTStatistics *arst, Tatlasrrt *ar) Rewires an AtlasRRT star. Definition: atlasrrt.c:3764 double GetChartSamplingRadius(Tchart *c) Returns de sampling range of the chart. Definition: chart.c:943 void DifferenceVector(unsigned int s, double *v1, double *v2, double *v) Substracts two vectors. Definition: basic_algebra.c:223 unsigned int GetRRTNNInChart(unsigned int tree, unsigned int chartId, double *q_rand, double t, double *d, Tatlasrrt *ar) Selects the nearest neighbour from the random point in the chart of Id ChartId. Definition: atlasrrt.c:4443 unsigned int nNoEmptyTreeConnection Definition: atlasrrt.h:104 boolean AtlasRRT(Tparameters *pr, double *pg, double *time, double *pl, unsigned int *ns, double ***path, TAtlasRRTStatistics *str, Tatlasrrt *ar) Extends a Atlas-RRT until we reach a targed point. Definition: atlasrrt.c:3133 A table of parameters. void CreateFileName(char *path, char *name, char *suffix, char *ext, Tfilename *fn) Constructor. Definition: filename.c:22 void NewAtlasRRTLargeCurvature(TAtlasRRTStatistics *arst) New chart due large curvature between two charts. Definition: atlasrrt.c:442 #define CS_WD_GET_SIMP_JACOBIAN(pr, J, wcs) Computes the Jacobian of the simplified system. Definition: wcs.h:474 boolean AtlasRRTSample(Tparameters *pr, unsigned int samplingMode, unsigned int it, unsigned int tree, double *goal, double scale, boolean *exploration, unsigned int *c_rand, double *t_rand, double *q_rand, TAtlasRRTStatistics *arst, Tatlasrrt *ar) Generates a random sample to expand the AtlasRRT. Definition: atlasrrt.c:2993 void NewAtlasRRTTreeConnection(TAtlasRRTStatistics *arst) New attempt to connect the two trees. Definition: atlasrrt.c:377 void NewAtlasRRTInitChartError(TAtlasRRTStatistics *arst) New chart due to error when trying to create a chart. Definition: atlasrrt.c:437 Definition of a local chart on a manifold. char * GetFileFullName(Tfilename *fn) Gets the file full name (paht+name+extension). Definition: filename.c:151 void GetRRTNNInBranch(unsigned int tree, unsigned int n1, unsigned int n2, unsigned int *n, unsigned int *nn, Trrt *rrt) Locates the nearest sample in the tree to a branch. Definition: rrt.c:1775 void AccumulateAtlasRRTStatistics(TAtlasRRTStatistics *arst1, TAtlasRRTStatistics *arst2) Accumulates two sets of Atlas RRT statistics. Definition: atlasrrt.c:492 #define CS_WD_REGENERATE_ORIGINAL_POINT(pr, p, o, wcs) Completes an original point from a simplified one. Definition: wcs.h:279 void InitHeap(unsigned int ele_size, void(*Copy)(void *, void *), void(*Delete)(void *), boolean(*LessThan)(void *, void *, void *), void *userData, boolean hasIDs, unsigned int max_ele, Theap *heap) Constructor. Definition: heap.c:237 unsigned int GetRRTNodeTree(unsigned int i, Trrt *rrt) Returns the tree for a given node. Definition: rrt.c:3534 double GetRRTNodeCost(unsigned int i, Trrt *rrt) Returns the cost associated with a node. Definition: rrt.c:3588 void ReverseSamples(unsigned int ns, double **path) Reverses a set of samples. Definition: samples.c:1196 void WireAtlasRRTstar(Tparameters *pr, unsigned int id_new, unsigned int i_near, double gamma, unsigned int nn, unsigned int *n, double **c, double h, Theap *q, unsigned int *t, TAtlasRRTStatistics *arst, Tatlasrrt *ar) Wires a node to the AtlasRRT star. Definition: atlasrrt.c:3623 #define MEM_DUP(_var, _n, _type) Duplicates a previously allocated memory space. Definition: defines.h:414 unsigned int GetAtlasRRTNumCharts(Tatlasrrt *ar) Number of charts in the AtlasRRT. Definition: atlasrrt.c:4405 #define NO_UINT Used to denote an identifier that has not been initialized. Definition: defines.h:435 CBLAS_INLINE void SumVectorScale(unsigned int s, double *v1, double w, double *v2, double *v) Adds two vectors with a scale. Definition: basic_algebra.c:86 void SaveRRT(Tfilename *fname, Trrt *rrt) Stores the RRT information on a file. Definition: rrt.c:3985 void InitSamples(unsigned int *ms, unsigned int *ns, double ***path) Initializes a set of samples. Definition: samples.c:143 boolean RandomPointInAtlasTree(Tparameters *pr, double scale, unsigned int tree, unsigned int *nm, double *t, double *p, Tatlasrrt *ar) Selects a random point in the set of charts of the tree. Definition: atlasrrt.c:2562 void NewAtlasRRTNotInDomain(TAtlasRRTStatistics *arst) New node not in the given domain. Definition: atlasrrt.c:407 void SmoothPathInAtlasRRT(Tparameters *pr, unsigned int sID, Tatlasrrt *ar) Local optimiziation of the path to a node. Definition: atlasrrt.c:2503 void GetRRTNNInBall(unsigned int tree, double *q_rand, double r, unsigned int *nn, unsigned int **n, Trrt *rrt) Locates the all the sample closer than a given distance. Definition: rrt.c:1654 Definition of the Tvector type and the associated functions. Tchart * GetAtlasChart(unsigned int id, Tatlas *a) Gets one of the charts of the chart. Definition: atlas.c:3936 void LoadAtlasRRT(Tparameters *pr, char *prefix, TAtlasBase *w, Tatlasrrt *ar) Defines an atlasRRT from the information on a file. Definition: atlasrrt.c:4744 void SaveAtlas(Tparameters *pr, Tfilename *fname, Tatlas *a) Stores the atlas information on a file. Definition: atlas.c:3842 boolean InsideChartPolytope(double *t, Tchart *c) Checks if a parameter point is inside the chart polytope. Definition: chart.c:1313 void Local2Global(double *t, unsigned int *tp, double *p, Tchart *c) Transforms a parameter in tangent space to a point in ambient space. Definition: chart.c:1212 unsigned int AddTrustedChart2Atlas(Tparameters *pr, double *ps, unsigned int parentID, boolean *singular, Tatlas *a) Defines a new chart and adds it to the atlas. Definition: atlas.c:2870 void SetRRTCostAndParent(unsigned int i, unsigned int p, double costp, double cost, Trrt *rrt) Changes the cost and the parent associated with a node. Definition: rrt.c:3615 double Manifold2Chart(double *p, unsigned int *tp, double *t, Tchart *c) Returns the parametrization of a point. Definition: chart.c:1036 double DistanceTopologyMin(double t, unsigned int s, unsigned int *tp, double *v1, double *v2) Computes the distance of two points, if it is below a given threshold. Definition: basic_algebra.c:406 #define MEM_EXPAND(_var, _n, _type) Expands a previously allocated memory space. Definition: defines.h:404 boolean CloseCharts(Tparameters *pr, unsigned int *tp, Tchart *c1, Tchart *c2) Identifies close local charts. Definition: chart.c:1264 double GetParameter(unsigned int n, Tparameters *p) Gets the value for a particular parameter. Definition: parameters.c:93 void PopulateWithSamples(Tparameters *pr, unsigned int id, Tatlasrrt *ar) Assign samples to a newly created chart. Definition: atlasrrt.c:2267 unsigned int Steps2PathinAtlasRRT(Tparameters *pr, Tvector *steps, double *pl, double *pc, unsigned int *ns, double ***path, Tatlasrrt *ar) Defines a path from a vector of steps. Definition: atlasrrt.c:2424 #define CS_WD_REGENERATE_SOLUTION_POINT(pr, p, r, wcs) Compleates a solution point with the dummy variables. Definition: wcs.h:417 void NewAtlasRRTStep(TAtlasRRTStatistics *arst) New step in branch extension. Definition: atlasrrt.c:392 unsigned int ChartNumNeighbours(Tchart *c) Number of neighbours of the chart. Definition: chart.c:1675 void SaveAtlasRRTSampleInfo(FILE *f, TSampleInfo *si, Tatlasrrt *ar) Saves the information associated with a sample in an AtlasRRT. Definition: atlasrrt.c:2808 double CostToRoot(unsigned int sID, Trrt *rrt) Computes the cost from a node to the root. Definition: rrt.c:3638 void ForceChartCut(Tparameters *pr, unsigned int *tp, Tbox *ambient, unsigned int id1, Tchart *c1, unsigned int id2, Tchart *c2) Intersect two charts that might be non-neighbours. Definition: chart.c:265 void UpdateCostAndTree(unsigned int sID, Trrt *rrt) A combination of UpdateCostToRoot and UpdateTree. Definition: rrt.c:3687 void NewAtlasRRTCollisionCheck(TAtlasRRTStatistics *arst) New collision check. Definition: atlasrrt.c:487 #define CS_WD_IN_COLLISION(f, pr, s, sPrev, wcs) Checks if a configuration is in collision. Definition: wcs.h:319 void SetRRTNodeCost(unsigned int i, double costp, double cost, Trrt *rrt) Changes the cost associated with a node. Definition: rrt.c:3604 void EnlargeChart(double *t, Tchart *c) Ensures that a chart includes a given point. Definition: chart.c:1332 #define CT_DELTA Size of the steps in the path connecting two configurations. Definition: parameters.h:282 void NewAtlasRRTDirLargeCurvature(TAtlasRRTStatistics *arst) New chart due to the curvature in the expansion direction. Definition: atlasrrt.c:447 void NewAtlasRRTBlockBySingularity(TAtlasRRTStatistics *arst) Number of times we try to create a char at a singular regions. Definition: atlasrrt.c:472 #define CT_N_DOF Dimensionality of the solution space for the mechanism at hand. Definition: parameters.h:318 Auxiliary functions to deal with sets of samples. #define CT_DETECT_BIFURCATIONS TRUE (or 1) if bifurcation must be detected. Definition: parameters.h:468 unsigned int ChartNeighbourID(unsigned int n, Tchart *c) Returns the identifier of one of the neighbours of a chart. Definition: chart.c:1687 boolean InitAtlasFromPoint(Tparameters *pr, boolean parallel, boolean simpleChart, double *p, TAtlasBase *w, Tatlas *a) Initializes an atlas from a given point. Definition: atlas.c:2742 void InitAtlasRRT(Tparameters *pr, boolean parallel, double *ps, unsigned int mode, boolean graph, double *pg, TAtlasBase *w, Tatlasrrt *ar) Defines a Atlas-RRT from a given point. Definition: atlasrrt.c:2855 Definition of basic randomization functions. boolean PointTowardRandSample(unsigned int cId, double d, double *t, unsigned int samplingMode, boolean onManifold, double *origRandSample, unsigned int *randChart, double *randParam, double *randSample, double *deltaParam, Tatlasrrt *ar) Determines the motion on the current chart to approach q_rand. Definition: atlasrrt.c:2060 void NewAtlasRRTRandomSample(TAtlasRRTStatistics *arst) New random sample. Definition: atlasrrt.c:477 void DeleteSamples(unsigned int ns, double **path) Deletes the space used by a set of samples. Definition: samples.c:1495 unsigned int AddStepToAtlasRRTstar(Tparameters *pr, unsigned int it, boolean expand2Goal, unsigned int i_near, double *q_rand, unsigned int *id_goal, double *goal, TAtlasRRTStatistics *arst, Tatlasrrt *ar) Adds a node to an AtlasRRT*. Definition: atlasrrt.c:3561 void NewAtlasRRTNoConvergentStep(TAtlasRRTStatistics *arst) Problems with convergence. Definition: atlasrrt.c:397 #define CS_WD_GENERATE_SIMP_INITIAL_BOX(pr, b, wcs) Computes the global box for the simplified system. Definition: wcs.h:460 unsigned int GetAtlasRRTNumNodes(Tatlasrrt *ar) Number of nodes in the AtlasRRT. Definition: atlasrrt.c:4400 void SaveAtlasRRTChartInfo(FILE *f, TChartInfo *ci, Tatlasrrt *ar) Saves the information associated with a chart in an AtlasRRT. Definition: atlasrrt.c:2822 boolean AtlasRRTValidateSample(Tparameters *pr, double *q_rand, unsigned int tree, boolean expand2goal, unsigned int lastNN2Goal, double *goal, double l, double *h, unsigned int *i_near, TAtlasRRTStatistics *arst, Tatlasrrt *ar) Validates a sample generate with AtlasRRTSample. Definition: atlasrrt.c:3081 unsigned int StartNew3dObject(Tcolor *c, Tplot3d *p) Start a composed object. Definition: plot3d.c:157 void DecreaseChartSamplingRadius(Tchart *c) Decrease the sampling radious of the chart. Definition: chart.c:1385 double AddBranchToAtlasRRT(Tparameters *pr, unsigned int it, unsigned int addMode, boolean revisitCharts, boolean checkCollisions, boolean onManifold, boolean explorationSample, double maxLength, unsigned int i_near, double *origRandSample, double *goalSample, void *st, unsigned int *lastSampleID, boolean *reachedQRand, boolean *reachedGoal, unsigned int *ns, double ***path, double(*costF)(Tparameters *, boolean, double *, void *), void *costData, Tatlasrrt *ar) Adds a new branch to the AtlasRRT. Definition: atlasrrt.c:1300 void AddChart2Tree(unsigned int tree, unsigned int chartId, Tatlasrrt *ar) Add a chart to a tree. Definition: atlasrrt.c:2038 void PlotAtlas(char *fname, int argc, char **arg, Tparameters *pr, FILE *fcost, unsigned int xID, unsigned int yID, unsigned int zID, Tatlas *a) Pots a projection of an atlas. Definition: atlas.c:4151 unsigned int * GetRRTTopology(Trrt *rrt) Returns a pointer to an array with the topology for each variable. Definition: rrt.c:3633 void ClosePlot3d(boolean quit, double average_x, double average_y, double average_z, Tplot3d *p) Destructor. Definition: plot3d.c:473 boolean PointInBoxTopology(boolean *used, boolean update, unsigned int n, double *v, double tol, unsigned int *tp, Tbox *b) Checks if a point is included in a(sub-) box. Definition: box.c:350 void PrintAtlasRRTStatistics(Tatlasrrt *ar, TAtlasRRTStatistics *arst) Prints the summary of atlasRRT statistics. Definition: atlasrrt.c:538 unsigned int DetermineChartNeighbour(double epsilon, double *t, Tchart *c) Determines the neighbouring chart containing a given point. Definition: chart.c:1321 double GetDynamicDomainRadius(unsigned int i, Trrt *rrt) Returns the current dynamic domain radius for a given sample. Definition: rrt.c:3508 #define CS_WD_ORIGINAL_IN_COLLISION(pr, o, oPrev, wcs) Checks if a configuration is in collision. Definition: wcs.h:348 void SaveAtlasRRT(Tparameters *pr, char *prefix, Tatlasrrt *ar) Stores the Atlas-RRT information on a file. Definition: atlasrrt.c:4687 |
Follow us!