MRPT logo

mrpt::reactivenav::CParameterizedTrajectoryGenerator Class Reference

This is the base class for any user defined PTG. More...

#include <mrpt/reactivenav/CParameterizedTrajectoryGenerator.h>

Inheritance diagram for mrpt::reactivenav::CParameterizedTrajectoryGenerator:

mrpt::reactivenav::CPTG1 mrpt::reactivenav::CPTG2 mrpt::reactivenav::CPTG3 mrpt::reactivenav::CPTG4 mrpt::reactivenav::CPTG5 mrpt::reactivenav::CPTG6 mrpt::reactivenav::CPTG7

List of all members.

Classes

class  CColisionGrid
 An internal class for storing the collision grid. More...
class  CListColisionGrids
 The collision grids for different security distance values:. More...
struct  TCellForLambdaFunction
 Specifies the min/max values for "k" and "n", respectively. More...
struct  TCPoint
 The trajectories in the C-Space:. More...

Public Member Functions

 CParameterizedTrajectoryGenerator (float refDistance, float xResolution, float yResolution, float V_MAX, float W_MAX, float system_TAU, float system_DELAY, vector_float securityDistances)
 Constructor.
virtual std::string getDescription ()=0
 Gets a short textual description of the PTG and its parameters.
void initializeCollisionsGrid (float refDistance, float xResolution, float yResolution, vector_float securityDistances)
 Initialized the grid information.
virtual ~CParameterizedTrajectoryGenerator ()
 Destructor.
void simulateTrajectories (unsigned short alfaValuesCount, float max_time, float max_dist, unsigned int max_n, float diferencial_t, float min_dist, float *out_max_acc_v=NULL, float *out_max_acc_w=NULL)
 The main method: solves the diferential equation to generate a family of parametrical trajectories.
virtual void lambdaFunction (float x, float y, int &out_k, float &out_d)
 The "lambda" function, see paper for info.
void directionToMotionCommand (unsigned short k, float &out_v, float &out_w)
 Converts an "alfa" value (into the discrete set) into a feasible motion command.
size_t getAlfaValuesCount ()
size_t getPointsCountInCPath_k (unsigned short k)
void getCPointWhen_d_Is (float d, unsigned short k, float &x, float &y, float &phi, float &t, float *v=NULL, float *w=NULL)
float GetCPathPoint_x (unsigned short k, int n)
float GetCPathPoint_y (unsigned short k, int n)
float GetCPathPoint_phi (unsigned short k, int n)
float GetCPathPoint_t (unsigned short k, int n)
float GetCPathPoint_d (unsigned short k, int n)
float GetCPathPoint_v (unsigned short k, int n)
float GetCPathPoint_w (unsigned short k, int n)
void allocMemForVerticesData (int nVertices)
void setVertex_xy (unsigned short k, int n, int m, float x, float y)
float getVertex_x (unsigned short k, int n, int m)
float getVertex_y (unsigned short k, int n, int m)
float * getVertixesArray_x (unsigned short k, int n)
float * getVertixesArray_y (unsigned short k, int n)
unsigned int getVertixesCount ()
float getMax_V ()
float getMax_W ()
float getMax_V_inTPSpace ()
float index2alfa (unsigned short k)
 Alfa value for the discrete corresponding value.
unsigned short alfa2index (float alfa)
 Discrete index value for the corresponding alfa value.
void debugDumpInFiles (int nPT)
 Dump PTG trajectories in files in directory "./PTGs/".
virtual void PTG_Generator (float alfa, float t, float x, float y, float phi, float &v, float &w)=0
 The main method to be implemented in derived classes.
virtual bool PTG_IsIntoDomain (float x, float y)=0
 To be implemented in derived classes:.

Public Attributes

CListColisionGrids collisionGrids
float refDistance

Protected Types

typedef std::vector< TCPointTCPointVector

Protected Member Functions

void FreeMemory ()
 Free all the memory buffers:.

Protected Attributes

float V_MAX
float W_MAX
float TAU
float DELAY
float turningRadiusReference
CDynamicGrid
< TCellForLambdaFunction
m_lambdaFunctionOptimizer
 This grid will contain indexes data for speeding-up the default, brute-force lambda function.
float maxV_inTPSpace
bool flag1
bool flag2
unsigned int alfaValuesCount
 The number of discrete values for ALFA between -PI and +PI.
std::vector< TCPointVectorCPoints
std::vector< vector_floatvertexPoints_x
 The shape of the robot along the trajectories:.
std::vector< vector_floatvertexPoints_y
int nVertices


Detailed Description

This is the base class for any user defined PTG.

Changes history:

Definition at line 48 of file CParameterizedTrajectoryGenerator.h.


Member Typedef Documentation

Definition at line 325 of file CParameterizedTrajectoryGenerator.h.


Constructor & Destructor Documentation

mrpt::reactivenav::CParameterizedTrajectoryGenerator::CParameterizedTrajectoryGenerator ( float  refDistance,
float  xResolution,
float  yResolution,
float  V_MAX,
float  W_MAX,
float  system_TAU,
float  system_DELAY,
vector_float  securityDistances 
)

Constructor.

virtual mrpt::reactivenav::CParameterizedTrajectoryGenerator::~CParameterizedTrajectoryGenerator (  )  [virtual]

Destructor.


Member Function Documentation

unsigned short mrpt::reactivenav::CParameterizedTrajectoryGenerator::alfa2index ( float  alfa  )  [inline]

Discrete index value for the corresponding alfa value.

See also:
index2alfa

Definition at line 161 of file CParameterizedTrajectoryGenerator.h.

References M_2PI, and M_PI.

void mrpt::reactivenav::CParameterizedTrajectoryGenerator::allocMemForVerticesData ( int  nVertices  ) 

void mrpt::reactivenav::CParameterizedTrajectoryGenerator::debugDumpInFiles ( int  nPT  ) 

Dump PTG trajectories in files in directory "./PTGs/".

void mrpt::reactivenav::CParameterizedTrajectoryGenerator::directionToMotionCommand ( unsigned short  k,
float &  out_v,
float &  out_w 
)

Converts an "alfa" value (into the discrete set) into a feasible motion command.

void mrpt::reactivenav::CParameterizedTrajectoryGenerator::FreeMemory (  )  [protected]

Free all the memory buffers:.

size_t mrpt::reactivenav::CParameterizedTrajectoryGenerator::getAlfaValuesCount (  )  [inline]

Definition at line 97 of file CParameterizedTrajectoryGenerator.h.

float mrpt::reactivenav::CParameterizedTrajectoryGenerator::GetCPathPoint_d ( unsigned short  k,
int  n 
) [inline]

Definition at line 106 of file CParameterizedTrajectoryGenerator.h.

float mrpt::reactivenav::CParameterizedTrajectoryGenerator::GetCPathPoint_phi ( unsigned short  k,
int  n 
) [inline]

Definition at line 104 of file CParameterizedTrajectoryGenerator.h.

float mrpt::reactivenav::CParameterizedTrajectoryGenerator::GetCPathPoint_t ( unsigned short  k,
int  n 
) [inline]

Definition at line 105 of file CParameterizedTrajectoryGenerator.h.

float mrpt::reactivenav::CParameterizedTrajectoryGenerator::GetCPathPoint_v ( unsigned short  k,
int  n 
) [inline]

Definition at line 107 of file CParameterizedTrajectoryGenerator.h.

float mrpt::reactivenav::CParameterizedTrajectoryGenerator::GetCPathPoint_w ( unsigned short  k,
int  n 
) [inline]

Definition at line 108 of file CParameterizedTrajectoryGenerator.h.

float mrpt::reactivenav::CParameterizedTrajectoryGenerator::GetCPathPoint_x ( unsigned short  k,
int  n 
) [inline]

Definition at line 102 of file CParameterizedTrajectoryGenerator.h.

float mrpt::reactivenav::CParameterizedTrajectoryGenerator::GetCPathPoint_y ( unsigned short  k,
int  n 
) [inline]

Definition at line 103 of file CParameterizedTrajectoryGenerator.h.

void mrpt::reactivenav::CParameterizedTrajectoryGenerator::getCPointWhen_d_Is ( float  d,
unsigned short  k,
float &  x,
float &  y,
float &  phi,
float &  t,
float *  v = NULL,
float *  w = NULL 
)

virtual std::string mrpt::reactivenav::CParameterizedTrajectoryGenerator::getDescription (  )  [pure virtual]

float mrpt::reactivenav::CParameterizedTrajectoryGenerator::getMax_V (  )  [inline]

Definition at line 146 of file CParameterizedTrajectoryGenerator.h.

float mrpt::reactivenav::CParameterizedTrajectoryGenerator::getMax_V_inTPSpace (  )  [inline]

Definition at line 148 of file CParameterizedTrajectoryGenerator.h.

float mrpt::reactivenav::CParameterizedTrajectoryGenerator::getMax_W (  )  [inline]

Definition at line 147 of file CParameterizedTrajectoryGenerator.h.

size_t mrpt::reactivenav::CParameterizedTrajectoryGenerator::getPointsCountInCPath_k ( unsigned short  k  )  [inline]

Definition at line 98 of file CParameterizedTrajectoryGenerator.h.

float mrpt::reactivenav::CParameterizedTrajectoryGenerator::getVertex_x ( unsigned short  k,
int  n,
int  m 
) [inline]

Definition at line 118 of file CParameterizedTrajectoryGenerator.h.

float mrpt::reactivenav::CParameterizedTrajectoryGenerator::getVertex_y ( unsigned short  k,
int  n,
int  m 
) [inline]

Definition at line 125 of file CParameterizedTrajectoryGenerator.h.

float* mrpt::reactivenav::CParameterizedTrajectoryGenerator::getVertixesArray_x ( unsigned short  k,
int  n 
) [inline]

Definition at line 132 of file CParameterizedTrajectoryGenerator.h.

float* mrpt::reactivenav::CParameterizedTrajectoryGenerator::getVertixesArray_y ( unsigned short  k,
int  n 
) [inline]

Definition at line 138 of file CParameterizedTrajectoryGenerator.h.

unsigned int mrpt::reactivenav::CParameterizedTrajectoryGenerator::getVertixesCount (  )  [inline]

Definition at line 144 of file CParameterizedTrajectoryGenerator.h.

float mrpt::reactivenav::CParameterizedTrajectoryGenerator::index2alfa ( unsigned short  k  )  [inline]

Alfa value for the discrete corresponding value.

See also:
alfa2index

Definition at line 153 of file CParameterizedTrajectoryGenerator.h.

References M_PI.

void mrpt::reactivenav::CParameterizedTrajectoryGenerator::initializeCollisionsGrid ( float  refDistance,
float  xResolution,
float  yResolution,
vector_float  securityDistances 
)

Initialized the grid information.

The "securityDistances" vector length will set the number of collision grids.

virtual void mrpt::reactivenav::CParameterizedTrajectoryGenerator::lambdaFunction ( float  x,
float  y,
int &  out_k,
float &  out_d 
) [virtual]

The "lambda" function, see paper for info.

It takes the (a,d) pair that is closest to a given location.

Reimplemented in mrpt::reactivenav::CPTG1, mrpt::reactivenav::CPTG2, mrpt::reactivenav::CPTG3, mrpt::reactivenav::CPTG4, mrpt::reactivenav::CPTG5, mrpt::reactivenav::CPTG6, and mrpt::reactivenav::CPTG7.

virtual void mrpt::reactivenav::CParameterizedTrajectoryGenerator::PTG_Generator ( float  alfa,
float  t,
float  x,
float  y,
float  phi,
float &  v,
float &  w 
) [pure virtual]

virtual bool mrpt::reactivenav::CParameterizedTrajectoryGenerator::PTG_IsIntoDomain ( float  x,
float  y 
) [pure virtual]

void mrpt::reactivenav::CParameterizedTrajectoryGenerator::setVertex_xy ( unsigned short  k,
int  n,
int  m,
float  x,
float  y 
) [inline]

Definition at line 112 of file CParameterizedTrajectoryGenerator.h.

void mrpt::reactivenav::CParameterizedTrajectoryGenerator::simulateTrajectories ( unsigned short  alfaValuesCount,
float  max_time,
float  max_dist,
unsigned int  max_n,
float  diferencial_t,
float  min_dist,
float *  out_max_acc_v = NULL,
float *  out_max_acc_w = NULL 
)

The main method: solves the diferential equation to generate a family of parametrical trajectories.


Member Data Documentation

The number of discrete values for ALFA between -PI and +PI.

Definition at line 300 of file CParameterizedTrajectoryGenerator.h.

Definition at line 257 of file CParameterizedTrajectoryGenerator.h.

Definition at line 326 of file CParameterizedTrajectoryGenerator.h.

Definition at line 272 of file CParameterizedTrajectoryGenerator.h.

Definition at line 296 of file CParameterizedTrajectoryGenerator.h.

Definition at line 296 of file CParameterizedTrajectoryGenerator.h.

This grid will contain indexes data for speeding-up the default, brute-force lambda function.

Definition at line 291 of file CParameterizedTrajectoryGenerator.h.

Definition at line 294 of file CParameterizedTrajectoryGenerator.h.

Definition at line 331 of file CParameterizedTrajectoryGenerator.h.

Definition at line 259 of file CParameterizedTrajectoryGenerator.h.

Definition at line 272 of file CParameterizedTrajectoryGenerator.h.

Definition at line 274 of file CParameterizedTrajectoryGenerator.h.

Definition at line 271 of file CParameterizedTrajectoryGenerator.h.

The shape of the robot along the trajectories:.

Definition at line 330 of file CParameterizedTrajectoryGenerator.h.

Definition at line 330 of file CParameterizedTrajectoryGenerator.h.

Definition at line 271 of file CParameterizedTrajectoryGenerator.h.




Page generated by Doxygen 1.5.8 for MRPT 0.6.5 SVN: at Thu Feb 26 02:18:33 EST 2009